【问题标题】:Datagrid CanUserAddRows数据网格 CanUserAddRows
【发布时间】:2014-08-29 11:17:33
【问题描述】:

在 WPF 中使用 datagrid 从数据库中添加数据。 数据网格 XAML

<DataGrid ItemsSource="{Binding Children}" CanUserReorderColumns="True" CanUserResizeColumns="False" CanUserResizeRows="False" CanUserSortColumns="False" HorizontalScrollBarVisibility="Hidden" HorizontalContentAlignment="Center" IsManipulationEnabled="True" AutoGenerateColumns="False" IsReadOnly="False">
    <DataGrid.Columns>
        <DataGridTextColumn Header="First Name" Binding="{Binding Path=FirstName, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" Width="200"/>
        <DataGridTextColumn Header="Middle Name" Binding="{Binding Path=MiddleName, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" Width="200"/>
        <DataGridTextColumn Header="Last Name" Binding="{Binding Path=LastName, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" Width="200"/>           
    </DataGrid.Columns>
</DataGrid>

将数据网格绑定到 ObservableCollection。目标是添加数据,但是当我启动我的应用程序时,数据网格是空的,没有机会进行编辑。

视图模型部分。

private ObservableCollection<Other> _children;
    public ObservableCollection<Other> Children
    {
        get { return _children; }
        set
        {
            _children = value;
            OnPropertyChanged("Children");
        }
    }

EDM 自动生成的类。

public partial class Other
{
    public int id { get; set; }
    public string FirstName { get; set; }
    public string MiddleName { get; set; }
    public string LastName { get; set; }
    ...
}

【问题讨论】:

  • 贴出你生成集合的代码
  • 我们可以查看您的代码,即您绑定到什么?您是否收到任何绑定错误?您是否调试过数据是否从数据库中获取?到目前为止,您为调查此问题做了哪些工作?
  • 你在哪里设置集合的值?
  • 目标不是从数据库中获取数据,我想添加它。 CanUserReorderColumns="True" 但数据网格不可编辑。
  • 您要添加新行吗?

标签: c# wpf entity-framework mvvm datagrid


【解决方案1】:
  1. 确保您使用公共 Setter 将集合设置为儿童集合
  2. 确保您的绑定正确(如果出现问题,您将在 Visual Stucio 输出中查看详细信息。
  3. 为了确保您的绑定能够正常工作,请在您的 Other 类中实现 IProperytyChanged 接口

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-15
    • 2011-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多