2015-02-11 24 views
0

我只是想問問我怎麼能叫一個datagridview_cellclick,在這段代碼中我有一個開關的情況,因爲我有一個不同的按鈕在我的datagridview呼叫的DataGridView CellClick

這是我在datagridview_cellclick

private void dgvFilter_CellClick(object sender, DataGridViewCellEventArgs e) 
     { 
      try 

      { 
       switch (this.dgvFilter.Columns[e.ColumnIndex].Name) 
       { 

        case "ColumnButtonField": 
         DataGridViewCell GridColumnLoc = this.dgvFilter.CurrentCell; 
         GridColumnLoc.Value = ".."; 
         this.cmbField.Visible = true; 
         //cmbField.Items.Remove(this.txtName.Text); 
         iRowIdx = e.RowIndex; 
         Rectangle RECT = this.dgvFilter.GetCellDisplayRectangle(4, 
         GridColumnLoc.RowIndex, true); 
         cmbField.Top = RECT.Top; 
         cmbField.Left = RECT.Left; 
         cmbField.Width = RECT.Width; 
         break; 

        case "ColumnButtonRemove": 
         DataGridViewRow GridRowLoc2 = this.dgvFilter.CurrentRow; 
         this.dgvFilter.Rows.Remove(GridRowLoc2); 
         //GVGLCode.DataBind(); 
         DataGridViewCell GridColumnLoc2 = this.dgvFilter.CurrentCell; 
         GridColumnLoc2.Value = ".."; 
         iRowIdx = e.RowIndex; 
         Rectangle RECTRem = this.dgvFilter.GetCellDisplayRectangle(5, 
         GridColumnLoc2.RowIndex, true); 

         cmbField.Top = RECTRem.Top; 
         cmbField.Left = RECTRem.Left; 
         cmbField.Width = RECTRem.Width; 
         //GVGLCode.DataBind(); 
         break; 
     } 
} 
      catch { } 
代碼

我想要打電話給case "ColumnButtonRemove":

中的事件有沒有一種方法可以在combobox的selectedIndexChanged中調用?或在一個按鈕?預先感謝您的幫助。

回答

0

您可以撥打DataGridView的保護功能OnCellClick

OnCellClick(new DataGridViewCellEventArgs(columnIndex, rowIndex)); 

由於它是一個受保護的功能,你將不得不延長DataGridView類來訪問它。

不管怎麼說,更好的初步實踐是創建包含columnButtonRemoveCellClick代碼的功能,這樣就可以調用它,無論你想(在CellClick事件,在事件SelectedIndexChanged ...)。

+0

擴展DataGridView類是什麼意思? – 2015-02-13 01:57:50

+0

而我的計劃是創建一個包含columnbuttonremove代碼的函數,但是我不知道如何在不使用此代碼的情況下獲取它的列索引。「e.columnindex」 – 2015-02-13 02:13:15

+0

擴展意味着創建一個子類。 – Bioukh 2015-02-13 08:29:12