AutoGenerateColumns =" true"当列名具有/时的DataView绑定

时间:2014-08-29 17:45:48

标签: c# wpf binding datagrid datatable

我的DataGrid以下列方式从DataView接收数据:

myDataGrid.ItemsSource = myDataTable.AsDataView();

这很好用。但是,其中一列的名称具有“/”字符。结果如下:

ABCD    DEFG     HIJ/K    LMNO

34      7554              4234
52      7358              5454
12      3458              234
23      2345              1254

因此带有“/”的列的单元格为空。这似乎是一些约束性问题。

根据this article,斜杠是绑定路径中的保留字符。

我该怎么做才能解决这个问题?

我真的需要使用AutoGenerateColumns,因为我不确切知道输入数据(用户可以动态地更改它)。

修改

如何解决与此相关的任何问题(以及其他保留字符):

XAML

<DataGrid x:Name="dtgResult" AutoGenerateColumns="True" AutoGeneratingColumn="dtgResult_AutoGeneratingColumn" >

C#

private void dtgResult_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
{
    if (e.Column is DataGridBoundColumn)
    {
        DataGridBoundColumn dataGridBoundColumn = e.Column as DataGridBoundColumn;
        dataGridBoundColumn.Binding = new Binding("[" + e.PropertyName + "]");
    }
}

0 个答案:

没有答案