在我的datagridview的第一列中,我有複選框,並且每當複選框的狀態發生更改時我都想觸發一個事件。我想過使用cellcontentclick事件,將發送者對象轉換爲datagridviewcell並檢查其列索引。但我發現sender對象是一個datagridview對象。那麼,如何執行所需的操作?如何檢查在datagridview中單擊哪個單元格
1
A
回答
1
有許多方法
一種方法是:
你可以採取在其中可以儲存行ID,當點擊由JavaScript發生,然後在後面的代碼獲取hiddenfield值頁面上hidden field
或viewstate
。
其他一個:
您可以使用CommandName
& CommandArgument
和使用datagridview_ItemCommand
1
要處理CheckBoxCell
值後面的代碼改變,你必須使用此事件CellValueChanged
。發件人在事件中始終是引發事件的控制。要獲得更多關於發生什麼事情的信息,您需要查看EventArgs
。
返回處理CheckBoxCell
做到這一點:
private void dgv_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
var dgv = sender as DataGridView;
var check = dgv[e.ColumnIndex, e.RowIndex].Value as bool?;
if (check.HasValue)
{
if (check)
{
//checked
}
else
{
//unchecked
}
}
}
希望這有助於:)
0
private void dgvStandingOrder_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (dgvStandingOrder.Columns[e.ColumnIndex].Name == "IsSelected" && dgvStandingOrder.CurrentCell is DataGridViewCheckBoxCell)
{
bool isChecked = (bool)dgvStandingOrder[e.ColumnIndex, e.RowIndex].EditedFormattedValue;
if (isChecked == false)
{
dgvStandingOrder.Rows[e.RowIndex].Cells["Status"].Value = "";
}
dgvStandingOrder.EndEdit();
}
}
private void dgvStandingOrder_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
dgvStandingOrder.CommitEdit(DataGridViewDataErrorContexts.Commit);
}
private void dgvStandingOrder_CurrentCellDirtyStateChanged(object sender, EventArgs e)
{
if (dgvStandingOrder.CurrentCell is DataGridViewCheckBoxCell)
{
dgvStandingOrder.CommitEdit(DataGridViewDataErrorContexts.Commit);
}
}
相關問題
- 1. 如何檢查dataGridView中的哪個單元格被選中?
- 2. 如何確定在datagridview中的哪些單元格被檢查?
- 3. 如何檢查datagridview第一個單元格是否在celldoubleclick中雙擊?
- 4. 單擊單元格時檢查Datagridview複選框
- 5. 如何檢查DataGridView中的單元格是否存在?
- 6. 如何從單元格單擊中的datagridview單元格中刪除值?
- 7. 確定單擊哪個JTable單元格
- 8. 雙擊DataGridView單元格打開表單
- 9. datagridview單元格單擊事件
- 10. 如何檢查DataGridView中的空單元格值?
- 11. 如何從C#中的datagridview檢查單元格#
- 12. C#DataGridView右鍵單擊上下文菜單單擊檢索單元格值
- 13. 如何在DataGridView中編輯單元格?
- 14. 如何在單擊DataGridView的特定單元格時引發單元格單擊事件?
- 15. 如何在datagridview的單元格單擊事件上向datagridview添加新行?
- 16. DataGridView單元格
- 17. 如何禁用DataGridView中點擊空單元格在C#
- 18. C#從datagridview中檢索單元格值
- 19. DataGridView System.InvalidOperationException單元格不在DataGridView中
- 20. DataGridView如何檢查單元格是否爲空?
- 21. 如何檢查DataGridView單元格的類型?
- 22. DataGridView&BindingList:如何檢查單元格值是否已更改?
- 23. 如何在DataGrid中檢測單元格單擊?
- 24. 當dgRowSelect設置爲True時,檢測在TDBGrid中單擊了哪個單元格?
- 25. 在VS 2010中的DataGridView單元格單擊事件
- 26. 如何讓一個contextmenu出現在右鍵單擊datagridview單元格
- 27. 如何從tableview中檢查單元格?
- 28. 如何檢查用戶是否選擇vb.net中的datagridview中的所有單元格或任何單元格
- 29. 如何驗證DataGridView中的單元格?
- 30. 如何更新datagridview中的單元格?
這是的WinForms,WPF或Asp.net –
你是如何將數據綁定到你的'DataGridView' ? 'bindingSource','DataTable'或Unbound數據? – spajce