DataTable dt;
我遇到DataTable
的问题。我有一个double[]
列表,但它拒绝显示最后一列值。
for (int j = 0; j < header.Count; j++)
{
dt.Columns.Add(header[j]);
}
dt.Columns.Add("Extra");
if ((dataIn as List<double[]>) != null)
{
// dataIn = a list of 2 arrays of 3.
localDataInDouble = dataIn as List<double[]>;
//Add rows to table
for (int j = 0; j < localDataInDouble.Count; j++)
{
workRow = dt.NewRow();
for (int i = 0; i < header.Count; i++)
{
workRow[header[i]] = localDataInDouble[j][i];
}
dt.Rows.Add(workRow);
}
dt.Rows[0][2] = "hello";
dt.Rows[0][3] = 2.55;
dt.Rows[1][2] = 2.55;
dt.Rows[1][3] = 2.55;
}
this.csvContent.ItemsSource = this.dt.DefaultView;
foreach (DataRowView v in this.csvContent.Items)
{
var row = v.Row;
foreach (object o in row.ItemArray)
{
Console.Write(o + ";");
}
Console.WriteLine();
}
正如您所看到的,DataTable
的值设置正确,但它不会在DataTable
本身中显示。
我尝试添加一个“额外”列,希望它只是最后一列,然后隐藏额外的列,但这也不是正在发生的事情。
我还手动在DataRow
中设置了一些数据,因为它与Extra行一起使用。
如果我在csv
文件中添加另一列“Toff”显示其值,但我在csv
文件/ inputList中添加的列没有值。
非常感谢帮助。
提前致谢。
编辑:我还尝试在标题列表中添加Extra列,并在inputList中添加一个额外的值。这也不起作用。
编辑2:XAML
<ScrollViewer Name="topLevel" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" >
<Grid ScrollViewer.VerticalScrollBarVisibility="Auto" ScrollViewer.HorizontalScrollBarVisibility="Auto" VerticalAlignment="Top" HorizontalAlignment="Center" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="100" />
</Grid.RowDefinitions>
<DataGrid Name="csvContent" Grid.Column="0" Grid.Row="0" Margin="10,10" CanUserAddRows="False" ItemsSource="{Binding Path=DataContext, RelativeSource={RelativeSource Self}, Mode=TwoWay }" />
在我的情况下的问题是由'/'字符引起的,我用斜杠\ u2215的utf版本替换。我用谷歌搜索了一下,发现还有其他人有同样的问题。我想可能会有更多“有问题”的角色。