У меня ASPxGridView показывается пользователю с помощью кнопки редактирования. Когда пользователь нажимает кнопку команды редактирования, выбранная строка изменится на форму редактирования.
В форме редактирования у меня есть элемент управления, который при щелчке будет выполнять настраиваемый обратный вызов через javascript, затем обработчик настраиваемого обратного вызова изменит значение в выбранной строке и вызовет UpdateEdit (), чтобы сохранить измененное значение и вернуться к обычному макет вида сетки.
Однако новое значение никогда не сохраняется в базовом источнике данных, фактически, если я отлаживаю метод ExecuteUpdate в DataSourceControl, я вижу обновленное значение в коллекции 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();
}
}