博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

dev GridControl双击行事件

Posted on 2011-10-03 16:27  gczhao  阅读(546)  评论(0编辑  收藏  举报

本文转自:http://www.cnblogs.com/xiaofengfeng/archive/2011/09/15/2177625.html

 

今天用到了gridcontrol这个控件,要求写一个gridview的双击事件,因为想要的效果是只双击行才出Message,用gridview的Double_Click我没实现,后来想到MouseDown,一试,很简单,首先,仍旧需要将gridview1.OptionsBehavior.Editable设为false,下面是代码:   

  
  Skelta BPM.NET(全球第一.NET工作流引擎)   Visual WebGui (完美的用户界面解决方案) 
  List & Label(图表报表生成控件)   DXperience Uni Premium 白金版(慧都独家) 
  
       //双击行弹出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(); 
                    
                
            
        }