【问题标题】:How to change RepositoryItem without using CustomRowCellEdit?如何在不使用 CustomRowCellEdit 的情况下更改 RepositoryItem?
【发布时间】:2018-11-26 16:04:13
【问题描述】:

我想以不同于下面代码所示的方式更改 RepositoryItem。 obsolete field CustomRowCellEditEventArgs.RowHandle 中描述了这样做的动机。

private void GridView_CustomRowCellEdit(object sender, CustomRowCellEditEventArgs e)
{
    GridView view = sender as GridView;

    if (e.Column.FieldName == CONSTS_FIELD_NAME)
    {
        var val = (VAL_TYPE) view.GetRowCellValue(e.RowHandle, CONSTS_FIELD_NAME);
        if (val == VAL_VALUE)
            e.RepositoryItem = new RepositoryItem(); // setting new Repository Item
    }
}

所以我决定使用这段代码:

private void GridView_CustomRowCellEdit(object sender, CustomRowCellEditEventArgs e)
{
    GridView view = sender as GridView;

    if (e.Column.FieldName == CONSTS_FIELD_NAME)
    {
        var result = view.GetSelectedRows();
        var val = (VAL_TYPE) view.GetRowCellValue(result.First(), CONSTS_FIELD_NAME);
        if (val == VAL_VALUE)
            e.RepositoryItem = new RepositoryItem(); // setting new Repository Item
    }
}

还有其他方法可以使用某些事件来更改 RepositoryItem 吗?

【问题讨论】:

    标签: c# gridview devexpress


    【解决方案1】:

    您提到的CustomColumnDataEventArgs的情况(为特定列提供未绑定数据)与GridView的编辑过程无关。当触发 CustomRowCellEdit 事件时,所有行句柄都已计算完毕。因此,没有动机避免使用第一种方法。
    我可以建议的唯一建议是使用预定义的存储库项目,而不是每次都创建一个新项目

    void GridView_CustomRowCellEdit(object sender, CustomRowCellEditEventArgs e) {
        GridView view = sender as GridView;
        if(e.Column.FieldName == CONSTS_FIELD_NAME) {
            var val = (VAL_TYPE)view.GetRowCellValue(e.RowHandle, CONSTS_VAL);
            if(val == VAL_VALUE)
                e.RepositoryItem = repositoryItemForVAL_VALUE; 
        }
    }
    

    要将特定编辑器仅用于就地编辑,您应该处理CustomRowCellEditForEditing 事件。

    还请仔细阅读GridView.CustomRowCellEdit 事件文档的备注部分,其中清楚地描述了此事件的工作原理。

    【讨论】:

      猜你喜欢
      • 2023-03-09
      • 2016-06-09
      • 1970-01-01
      • 2013-01-11
      • 2016-05-08
      • 2013-11-19
      • 2018-07-24
      • 1970-01-01
      • 2021-12-13
      相关资源
      最近更新 更多