SearchLookUpEdit视图自定义列的单击事件

SearchLookUpEdit控件既支持类似GridControl强大的功能,又被设计得十分简洁, 对于简化界面非常有帮助。

如下图所示,既要实现下拉选择条目(item),又要自定义运行、编辑、删除列功能按钮。如果不做特殊处理,每当单击自定义功能按钮时,弹出的列表就会关闭。

所以,解决问题的第一步是要阻止单击时,下拉接口的关闭。注册SearchLookUpEdit控件的QueryCloseUp事件,并设置e.Cancel =true(e表示下拉窗口的取消事件参数CancelEventArgs),这样只要单击下拉窗体,窗体不会关闭;单击其他位置,则会关闭。

但这样还是不行,仅仅是想单击自定义功能按钮不关闭,单击下拉列表的其他列也同样关闭。这得在SearchLookUpEdit控件的视图View中注册RowCellClick或RowClick事件,来判断是否关闭,并通过变量传递给e.Cancel。关键代码如下:

private bool _isCloseSearchLookUp  = false;
private void RepositoryItemSearchLookUpEdit1View_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e)
{
      //对_isCloseSearchLookUp 进行判断和赋值
      //…
}
//下拉窗口关闭事件
private void RepSearchLookUpScheme_QueryCloseUp(object sender, CancelEventArgs e)
{
      e.Cancel = _isCloseSearchLookUp;
}

作者:我也是个傻瓜
出处:http://www.cnblogs.com/liweis/
签名:成熟是一种明亮而不刺眼的光辉。

原文地址:https://www.cnblogs.com/liweis/p/14869850.html