【发布时间】:2011-03-14 06:44:24
【问题描述】:
我有几个关于 XtraGrid (Dev Express) 的问题。
如何通过双击来启用编辑单元格?默认情况下,如果我们单击它,XtraGrid 允许编辑单元格。我不希望这种情况发生。
如何获取已编辑的列/行信息?有没有像 AfterRowEdit() 或 AfterCellEdit() 这样的事件?
谢谢, 奥姆卡
【问题讨论】:
我有几个关于 XtraGrid (Dev Express) 的问题。
如何通过双击来启用编辑单元格?默认情况下,如果我们单击它,XtraGrid 允许编辑单元格。我不希望这种情况发生。
如何获取已编辑的列/行信息?有没有像 AfterRowEdit() 或 AfterCellEdit() 这样的事件?
谢谢, 奥姆卡
【问题讨论】:
1 如果在短时间内单击两次,您可以捕获单击事件并启用编辑器。 2 要获取列/行信息,我会在列中添加一个特殊的编辑器并捕获其事件。
【讨论】:
尝试将视图的 OptionsBehaviour.EditorShowMode 属性设置为 MouseDownFocused。这样用户必须首先关注单元格,并且编辑器只会在第二次点击时显示。
查看视图的ValidateRow 事件,或者如果您需要在编辑行之前进行任何处理,您可以使用视图的 ShowingEditor 事件,并通过视图的 FocusedRowHandle 属性获取实际行。
【讨论】:
============
将每一列绑定到一个存储库项
代码:
private void your_gridcontrol_double_click(object sender, EventArgs e)
{
GridHitInfo hit = your_gridview.CalcHitInfo((e as MouseEventArgs).Location);
if (hit.InRow)
{
}
}
【讨论】: