我有一个问题。
我注意到,如果我在数据表对象的列标题字符串中添加“ /”,则显示数据有问题,或者更可能是由于数据表的对象看起来不错而将数据绑定到列的问题。
这里是一个例子:
var trainStats = new DataTable();
const string trainCountRowTitle = "Train count (both directions)";
const string lastTrainPassage = "Last train passage";
var testTitles = new List<string>{"Test", "Test_1"};
foreach (var t in testTitles)
{
var titleCollumn = new DataColumn { ColumnName = t };
trainStats.Columns.Add(titleCollumn);
}
DataRow row1 = trainStats.NewRow();
row1["Test"] = trainCountRowTitle;
row1["Test_1"] = "12"; ;
trainStats.Rows.Add(row1);
DataRow row2 = trainStats.NewRow();
row2["Test"] = lastTrainPassage;
row2["Test_1"] = "18";
trainStats.Rows.Add(row2);
return trainStats;
简单的xaml:
<DataGrid AutoGenerateColumns="True" ItemsSource="{Binding TrainStat}" />
现在这将起作用,我将获得带有值的数据表,但是如果将“ Test_1”更改为“ Test_1 / 1”,则会出现问题。数据未显示。
还尝试通过索引而不是列名添加数据行,例如:
DataRow row2 = trainStats.NewRow();
row2[0] = lastTrainPassage;
row2[1] = "18";
trainStats.Rows.Add(row2);
同一件事,当标题为“ /”时没有数据。
有没有一种方法可以更正此错误,以便我可以使用“ /”,或者事实上,列标题中的大多数普通字符都可以使用?