要响应GridView的单击或者双击事件,要设置GridView的OptionsBehavior.Editable=false。如果为true,它是不会响应这这两个事件的。 它本的的机制就是这样,祥细说明请看: The DoubleClick event occurs when the end user double-clicks within a view. The DoubleClick event does not occur if an in-place editor is activated as a result of double-clicking as well as when double-clicking within the GridControl.EmbeddedNavigator.
//双击行弹出nodeDetail信息
private void gridView1_MouseDown(object sender, MouseEventArgs e)
{
DevExpress.XtraGrid.Views.Grid.ViewInfo.GridHitInfo hInfo = gridView1.CalcHitInfo(new Point(e.X,e.Y));
if (e.Button == MouseButtons.Left && e.Clicks == 2)
{
//判断光标是否在行范围内
if (hInfo.InRow)
{
//取得选定行信息
string nodeName = gridView1.GetRowCellValue(gridView1.FocusedRowHandle, "nodeName").ToString();
//string nodeName = gridView1.GetRowCellValue(gridView1.GetSelectedRows()[0], "nodeName").ToString();
string sql = "select nodeDetail from treelist where nodeName = '" + nodeName + "'";
SqlCommand comm = new SqlCommand(sql, conn);
try
{
conn.Open();
MessageBox.Show(comm.ExecuteScalar().ToString(), "Detail");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error");
}
finally
{
conn.Close();
}
}
}
}