在我的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