GridView处于可编辑状态,左键点击默认为“进入编辑”。
将GridView的OptionsColumn.AllowEdit设置为false后左键可触发RowCellClick。
但有时候,既希望GridView可以进行编译,又希望可以触发【单元格的点击事件】,比如有需求要求在某列单元格上单击可以弹出窗体,选择数据并返回到GridView上,并且允许手动在GridView上修改或者输入,那应该怎么处理呢?
用GridView的SelectionChanged事件,
先设置
this.gridView1.OptionsSelection.MultiSelect = true;
this.gridView1.OptionsSelection.MultiSelectMode = DevExpress.XtraGrid.Views.Grid.GridMultiSelectMode.CellSelect;
具体代码如下:
try
{
if (gridView1.SelectedRowsCount == 0) return;
var selectedHandle = gridView1.GetSelectedRows()[0];
if (selectedHandle > -1)
{
ProjectCompletionStatus entity = (gridView1.GetRow(selectedHandle) as ProjectCompletionStatus);
Grd_Info.DataSource = iProjectProgressReport.QueryList($" and [ProjectID] = '{entity.ProjectID}' ");
}
}
catch (Exception ex)
{
MsgBox.ShowInformation("出现错误:\r\n\r\n" + ex.Message);
}