1. DataGridViewCheckBoxColumn多选。
默认情况下,DataGridViewCheckBoxColumn不是Winform下的CheckBox,只是一个显示图像,所以需要通过操作缓存数据控制界面显示。
覆写OnCellValuePushed和OnCellValueNeeded方法,或添加相应事件:CellValuePushed,CellValueNeeded
下例中,CellValuePushed用于将界面勾选情况刷进缓存,CellValueNeeded用于将缓存数据显示在界面上(通过设置DataGridViewCellValue),chechState用来保存每个单元格的勾选情况。
private Dictionary<string, bool> m_checkState=new Dictionary<string, bool>();
protected override void OnCellValuePushed(DataGridViewCellValueEventArgs e)
{
if (!checkState.ContainsKey(checkField))
checkState.Add(checkField, Convert.ToBoolean(e.Value));
else
checkState[checkField] = Convert.ToBoolean(e.Value);
}
protected override void OnCellValueNeeded(DataGridViewCellValueEventArgs e)
{
if (checkState.ContainsKey(checkField))
e.Value = checkState[checkField];
else
e.Value = false;
}
2. 编辑模式下提交界面数据至缓存。
只有当鼠标焦点离开勾选框后,勾

本文总结了在C# Winform中使用DataGridViewCheckBoxColumn的几个关键点:1)通过覆盖事件实现多选功能;2)在编辑模式下确保数据提交到缓存;3)实现单击行选中复选框;4)空行时隐藏复选框。通过这些方法,可以有效管理和优化用户界面的交互体验。
最低0.47元/天 解锁文章
7152

被折叠的 条评论
为什么被折叠?



