如何获取DataGridView中Select列CheckBox勾选行的Names列值存入数组

实现方案
以下为WinForm环境下的C#实现逻辑:
核心思路
- 遍历DataGridView所有行,跳过用户待输入的空白新行
- 校验每行中
Select列复选框的勾选状态 - 收集所有勾选行对应的
Names列值,最后转成数组即可
代码示例
直接绑定到Add按钮的Click事件即可:
private void btnAdd_Click(object sender, EventArgs e) { List<string> nameList = new List<string>(); // 遍历所有行,dataGridView1替换为你的控件实际名称 foreach (DataGridViewRow row in dataGridView1.Rows) { // 跳过空白新增行 if (row.IsNewRow) continue; // 读取复选框勾选状态,"Select"替换为你的复选框列实际名称/索引 bool isChecked = Convert.ToBoolean(row.Cells["Select"].Value); if (isChecked) { // 读取Names列值,空值逻辑可按需调整 string currentName = row.Cells["Names"].Value?.ToString() ?? string.Empty; if (!string.IsNullOrWhiteSpace(currentName)) { nameList.Add(currentName); } } } // 转换为数组,即最终结果 string[] selectedNames = nameList.ToArray(); // 后续可在此处添加对selectedNames的业务处理逻辑 }
注意事项
- 如果不确定列名,可直接用列的索引取值,比如第一列对应
row.Cells[0] - 如果Names列是数值、日期等非字符串类型,按需调整取值和存储的类型即可
内容的提问来源于stack exchange,提问作者Bimbi Aver
相关产品推荐
相关产品推荐

