其他分享
首页 > 其他分享> > 的Janus GridEX:无法获取CellValueUpdated事件上新编辑的值

的Janus GridEX:无法获取CellValueUpdated事件上新编辑的值

作者:互联网

处理以下内容时如何获取当前编辑的值:

public class GridEX // ...
{
    // ... 
    public event ColumnActionEventHandler CellValueChanged;
    // ...
};

尝试使用以下方法获取值:

GridEXCell valueChangedCell = _gridView.CurrentRow.Cells[<desired_column_index>];
object rawValue = valueChangedCell.Value;
// or even with
string rawValue = valueChangedCell.Text;

valueChangedCell更改其值的唯一时刻是触发CellUpdated或UpdatingCell事件时.但是只有在用户将键盘输入焦点更改为另一个单元格的情况下才触发后两个,这可能是为了应用编辑后的单元格的新值.我要查找值的单元格是仅包含一个复选框的单元格.我想在切换给定单元格的复选框后立即执行给定操作,而不是在用户更改焦点后立即执行,例如移动到表中的另一个单元格.看到在事件的描述中提到了一些行缓冲区:

[Description("Occurs after changes in a cell are copied into the row's buffer.")]
public event ColumnActionEventHandler CellUpdated;

[Description("Occurs before updating the changes in a cell to the row's buffer")]
public event UpdatingCellEventHandler UpdatingCell;

我假设复选框的当前值可能保留在某个缓冲区中,并且在更改焦点时,会将新值应用于该单元格.

有什么想法如何在处理Janus的GridEX.CellValueChanged时获取复选框的当前设置值?

解决方法:

我修复了添加以下事件中触发的方法的问题:private void

CloseEditMode() 
{ 
   gridRubrica.AllowEdit = InheritableBoolean.False; 
   gridRubrica.AllowEdit = InheritableBoolean.True; 
} 

private void gridRubrica_CellValueUpdated(object sender, ColumnActionEventArgs e) 
{ 
   if (e.Column.Key.Equals("Selected")) { CloseEditMode(); } 
} 

标签:janus,gridex,c
来源: https://codeday.me/bug/20191118/2026212.html