【问题标题】:WPF CellEditing issue - reload datagrid rowsWPF CellEditing 问题 - 重新加载数据网格行
【发布时间】:2012-06-05 14:44:12
【问题描述】:

我有数据网格和一个面板。当我点击任何一行时,所有数据都应该出现在该面板上。当我编辑单元格并在编辑后单击同一行的另一个单元格时,面板应立即更新。我的数据网格是通过项目源(数据表)绑定的,所以如果我对网格进行任何更改(添加/删除/编辑),我的项目源就会更新,并根据项目源面板更新。

为了实现单元格编辑,我使用以下代码并且它正在工作。

void DataGrid_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
    {
        if (!isManualEditCommit)
        {
            isManualEditCommit = true;
            DataGrid grid = (DataGrid)sender;
            grid.CommitEdit(DataGridEditingUnit.Row, true);
            isManualEditCommit = false;           
        }
    }

问题:唯一的问题是当这条线被调用(grid.CommitEdit)时,它基本上会再次加载所有行。如果数据表真的很大,那么加载所有行需要几秒钟的时间。如果我不提交网格,那么在我单击另一行后,我对数据网格的更改会出现在面板上。当我单击同一行的另一个单元格而不再次加载行时,我想实现它。

这是图片

请帮忙

谢谢

【问题讨论】:

    标签: wpf celleditingtemplate


    【解决方案1】:

    这是 DataGrid 的一个常见缺陷:提交逻辑。我找到的解决方案(它是布尔值,而不是数字)是制作我​​自己的自定义 DataGridColumn,并在 PropertyChanged 上设置我的绑定触发器,以便立即更新内容,而不仅仅是在提交时更新。当然这是一项小工作,但 DataGrid 标准列不允许您更改该提交逻辑。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-02-09
      • 1970-01-01
      • 2023-03-06
      • 2016-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多