WPF 中的可编辑数据网格

问题描述 投票:0回答:2

我有一个程序,我需要用户在 DataGrid 中输入数据。我虽然设置“CanUserAddRows”的简单行为足以让用户添加新行,但它似乎不会削减它。

我还需要定义其他东西才能使它们工作吗?我的 DataGrid 中有组合框和文本框,因此它是非常常见的控件。

我到目前为止的代码是这样的

<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,我想在其中编辑其内容,但一开始它是空的。

wpf datagrid
2个回答
7
投票

它可以是多种情况中的任何一种。请看一下这篇文章

问题很可能是您绑定到不支持添加项目的集合视图。我相信网格可能需要一个实现 IEditableCollectionViewIBindingList 的集合视图,这些接口支持添加项目。


1
投票

CanUserAddRows
是正确的属性。也许分享一些示例代码。

© www.soinside.com 2019 - 2024. All rights reserved.