在xaml中创建的数据网格列-如何以编程方式填充

本文关键字:编程 填充 方式 网格 xaml 创建 数据网 数据 | 更新日期: 2023-09-27 18:08:05

我已经在xaml中创建了一个DataGrid。代码如下:

<DataGrid x:Name="myDataGrid" VerticalAlignment="Top" Height="305" Margin="36,157,-36,0" AutoGeneratingColumn="dgOverviewMain_AutoGeneratingColumn" Loaded="dgOverviewMain_Loaded" MouseUp="dgOverviewMain_MouseUp" BorderBrush="{x:Null}" Background="#FFEDFDFF">
        <DataGrid.Columns>
            <DataGridTextColumn Binding="{x:Null}" ClipboardContentBinding="{x:Null}" Header="Col1"/>
            <DataGridTextColumn Binding="{x:Null}" ClipboardContentBinding="{x:Null}" Header="Col2"/>
            <DataGridTextColumn Binding="{x:Null}" ClipboardContentBinding="{x:Null}" Header="Col3"/>
        </DataGrid.Columns>
</DataGrid>

现在我想用c#编程地添加行。

DataRow tempRow = dt_source.Rows[1];   //Get row from DataTable
myDataGrid.Items.Add(tempRow);         //Insert tempRow to myDataGrid

tempRow。ItemsArray包含我的数据,但上面的行只生成空白行。

我做错了什么?

在xaml中创建的数据网格列-如何以编程方式填充

您的<DataGridTextColumn Binding="{x:Null}" ClipboardContentBinding="{x:Null}" Header="Col1"/>没有定义内容中应该显示的内容。因此,没有任何东西绑定到每个单元格。

通过使用Binding="{x:Null}",您明确表示您希望它为空白。

替换为Binding="{Binding ColumnName}"