Dev GridView RowCellClick事件與MouseDown事件


GridView處於可編輯狀態,左鍵點擊默認為“進入編輯”。

將GridView的OptionsColumn.AllowEdit設置為false后左鍵可觸發RowCellClick。
但有時候,既希望GridView可以進行編譯,又希望可以觸發【單元格的點擊事件】,比如有需求要求在某列單元格上單擊可以彈出窗體,選擇數據並返回到GridView上,並且允許手動在GridView上修改或者輸入,那應該怎么處理呢?
用GridView的MouseDown事件,具體代碼如下:

private void gViewActPara_MouseDown(object sender, MouseEventArgs e)  
        {  
            GridHitInfo hint = gViewActPara.CalcHitInfo(e.X, e.Y);  
            if (gViewActPara.RowCount == 0 || /*記錄數大於0*/  
                    !hint.InRowCell /*有效的單元格*/||  
                e.Button != MouseButtons.Left /*鼠標左鍵*/||  
                    e.Clicks != 1  /*單擊*/               
                )  
            {  
                return;  
            }          
            if (hint.Column.FieldName == "需要彈出窗體的列名及該列的FieldName")  
            {  
                //強轉當前行(避免鼠標點擊的行與焦點行FocusedRowHandle不一致,鼠標點擊時,焦點行FocusedRowHandle還未轉換)  
                gViewActPara.FocusedRowHandle = hint.RowHandle;  
                //打開窗體的代碼及處理略  
                //如果獲取到打開窗體的值之后,需要更新到GridView上使用  
                // gViewActPara.SetRowCellValue(hint.RowHandle, "需要接受值列的FieldName",從窗體獲取到的值);  
                //使用SetRowCellValue會觸發gViewActPara_CellValueChanged事件  
            }  
        }  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM