我有一个程序,我需要用户在DataGrid中输入数据。我虽然设置'CanUserAddRows'的简单行为足以让用户添加新行,但似乎它不会削减它。
我还需要定义一些其他内容才能使它们正常工作吗?我的DataGrid中包含ComboBoxes和TextBoxes,因此它是非常常用的控件。
到目前为止我的代码是
<dg:DataGrid Name="GridFournisseur" ItemsSource="{Binding}"
Margin="423,41,23.5,0" Height="193" VerticalAlignment="Top"
CanUserAddRows="True" CanUserDeleteRows="True" IsTabStop="True" RowHeight="12" SelectionUnit="CellOrRowHeader">
<dg:DataGrid.Columns>
<dg:DataGridComboBoxColumn Header="Fournisseur" Width="*" MinWidth="150"
IsReadOnly="False" />
<dg:DataGridTextColumn Header="Prix" Width="SizeToHeader" MinWidth="50"
Binding="{Binding Categorie}"
IsReadOnly="False"/>
<dg:DataGridTextColumn Header="Délai" Width="SizeToHeader" MinWidth="50"
Binding="{Binding NoPiece}"
IsReadOnly="False"/>
</dg:DataGrid.Columns>
</dg:DataGrid>
我只有这个DataGrid,我想在其中编辑它的内容,并且在开始时它是空的。
答案 0 :(得分:7)
它可以是许多东西中的任何一种。请看this article。
问题很可能是您绑定到不支持添加项目的集合视图。我相信网格可能期望实现IEditableCollectionView或IBindingList的集合视图,这些接口支持添加项目。
答案 1 :(得分:1)
CanUserAddRows
是正确的属性。也许分享一些示例代码。