我设法创建了一个网格,并用通用List
的数据填充它。例如Person
。但在此列表中,例如Man
,Women
。如何在网格中添加新行?我知道,我必须将它保存到列表但不知道如何。
示例XAML:
<dxg:GridControl SelectedItem="{Binding SelectedItem}" Name="Persons" Grid.Column="0" Grid.Row="0" AutoGenerateColumns="AddNew" EnableSmartColumnsGeneration="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ItemsSource="{Binding model.personList}">
<dxg:GridControl.View>
<dxg:TableView EditFormShowMode="Dialog" AllowPerPixelScrolling="True" NewItemRowPosition="Bottom" ShowTotalSummary="false"
AllowEditing="True" InitNewRow="TableView_InitNewRow" ValidateRow="TableView_ValidateRow" InvalidRowException="TableView_InvalidRowException" />
</dxg:GridControl.View>
</dxg:GridControl>
Der Person类是抽象的,并且具有例如属性名称。男人和女人都有其他属性(例如)。
答案 0 :(得分:1)
如果您将ItemsSource
的{{1}}设置或绑定到DataGrid
,则只需将ObservableCollection
和Man
的实例添加到此集合即可。
Woman
和List<T>
之间的区别在于后者实现了INotifyCollectionChanged界面,这意味着ObservableCollection<T>
将在添加新项目时自动更新或除去。
DataGrid