在WPF DataGrid中手动添加行

时间:2011-05-15 21:39:32

标签: c# wpf silverlight xaml datagrid

我有以下XAML代码:

<sdk:DataGrid Margin="58,8,52,18" Name="dataGridTickets">
    <sdk:DataGrid.Columns>
        <sdk:DataGridTextColumn x:Name="ticketNoColumn" Header="Ticket No." IsReadOnly="True" Width="SizeToHeader"/>
        <sdk:DataGridTextColumn x:Name="seatRowColumn" Header="Seat Row" IsReadOnly="True" Width="SizeToHeader"/>
        <sdk:DataGridTextColumn x:Name="seatNumberColumn" Header="Seat Number" IsReadOnly="True" Width="SizeToHeader"/>
    </sdk:DataGrid.Columns>
</sdk:DataGrid>

我想以编程方式将手动数据输入网格,我该如何设法做到这一点?

由于

工作解决方案

Programatically add rows in a WPF DataGrid

2 个答案:

答案 0 :(得分:7)

您不会向网格添加行。

  1. 将网格绑定到列表(可观察集合)
  2. 将项目添加到该列表。
  3. 结果:新行显示在网格中。

答案 1 :(得分:7)

如果您不想数据绑定数据网格(即使在运行时),您可以按照此SO文章中的建议进行操作:

programmatically add column & rows to WPF Datagrid

基本上,您创建一个新行(在代码中)并使用项目填充它,然后将其分配给您的网格。

就像Henk指出的那样,这不是一个很好的做法。如果这是一次性情况,可能有理由,但一般情况下,您应该通过更新基础数据源来处理它。以下是Microsoft的一个示例:

http://social.msdn.microsoft.com/Forums/en/wpf/thread/9b96a798-e185-4d90-ba73-afc35eb91643