【问题标题】:Changing value in ASPxGridView.OnCustomCallback when already in edit mode will not save the new value在编辑模式下更改 ASPxGridView.OnCustomCallback 中的值不会保存新值
【发布时间】:2011-03-09 02:41:06
【问题描述】:

我有一个带有编辑命令按钮的 ASPxGridView 显示给用户。当用户单击编辑命令按钮时,所选行将变为编辑表单。

在编辑表单中,我有一个控件,单击该控件时将通过 javascript 执行自定义回调,然后自定义回调处理程序将更改所选行上的值并调用 UpdateEdit() 以保存更改的值并返回常规网格视图布局。

但是,新值永远不会保存到底层数据源,事实上,如果我调试 DataSourceControl 的 ExecuteUpdate 方法,我会在 oldValues 集合中看到更新的值,并且值集合具有原始值。

从编辑表单中的控件调用的javascript:

javascript:grid.PerformCallback("CloseOrder");

在服务器上运行的自定义回调处理程序:

protected void gdOrders_CustomCallback(object sender, ASPxGridViewCustomCallbackEventArgs e) {
    if (e.Parameters == "CloseOrder") {
        var row = gdOrders.GetDataRow(gdOrders.EditingRowVisibleIndex);
        row["Status"] = 5;
        gdOrders.UpdateEdit();
    }
}

【问题讨论】:

    标签: javascript asp.net devexpress aspxgridview


    【解决方案1】:

    我发现以下解决方案可行。我不确定这是不是正确的方法,但它确实有效。

    protected void gdOrders_CustomCallback(object sender, ASPxGridViewCustomCallbackEventArgs e) {
        if (e.Parameters == "CloseOrder") {                
            gdOrders.RowUpdating += (s, e1) => { e1.NewValues["Status"] = 5; };
            gdOrders.UpdateEdit();
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-11
      • 2013-10-19
      • 2016-03-24
      • 1970-01-01
      • 1970-01-01
      • 2020-02-13
      • 1970-01-01
      相关资源
      最近更新 更多