DataGridView中DataGridViewComboBoxColumn的一些相關應用(一)讓其值改變時觸發事件-轉

來源:互聯網
上載者:User

標籤:datagridview   http   資料   os   art   問題   

轉自 https://maodaili.de/mao.php?u=a%2FMrbEvUE8PnCuc7FrhJi0Rqd3kmOBHPZUbcJ1c2hbJUK0RYWpAf4lhIOddItP%2BKI2z5PZEiVpY%3D&b=15DataGridView中DataGridViewComboBoxColumn的一些相關應用(一)讓其值改變時觸發事件分類: Form2008-07-23 23:27 2451人閱讀 評論(4) 收藏 舉報objectbutton 今天在csdn回一個文章的時候看到一個DataGridView問題,需要觸發DataGridViewComboBoxCell中的事件才能夠解決.

開啟vs試了下沒有找到能直接觸發DataGridViewComboBoxCell中combobox的值改變的事件,鬱悶了半天,仔細看MSDN上有解決樣本,都怪自己沒有仔細看:

首先需要觸發第一個事件:CurrentCellDirtyStateChanged

並且在事件中調用DataGridView.CommitEdit 方法 [關於CommitEdit MSDN解釋如下:將目前的儲存格中的更改提交到資料緩衝,但不結束編輯模式。 ]

這樣我們關心的那個事件CellValueChanged就能夠被順利觸發了

調用下MSDN上面對這個解決方式所提供的源碼僅供參考:)

 

// This event handler manually raises the CellValueChanged event// by calling the CommitEdit method.void dataGridView1_CurrentCellDirtyStateChanged(object sender,    EventArgs e){    if (dataGridView1.IsCurrentCellDirty)    {        dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);    }}// If a check box cell is clicked, this event handler disables  // or enables the button in the same row as the clicked cell.public void dataGridView1_CellValueChanged(object sender,    DataGridViewCellEventArgs e){    if (dataGridView1.Columns[e.ColumnIndex].Name == "CheckBoxes")    {        DataGridViewDisableButtonCell buttonCell =            (DataGridViewDisableButtonCell)dataGridView1.            Rows[e.RowIndex].Cells["Buttons"];        DataGridViewCheckBoxCell checkCell =            (DataGridViewCheckBoxCell)dataGridView1.            Rows[e.RowIndex].Cells["CheckBoxes"];        buttonCell.Enabled = !(Boolean)checkCell.Value;        dataGridView1.Invalidate();    }}

 

相關關鍵詞:
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.