Winforn中导入Excel并显示然后获取多选框选中的内容
程序员文章站
2022-07-01 13:56:27
场景 使用NPOI导入Excel并赋值给DataTable,然后显示在DataGrdView上,并且添加多选框,然后获取选中行的内容。 Winform中使用NPOI实现Excel导入并赋值给DataTable: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/ar ......
场景
使用npoi导入excel并赋值给datatable,然后显示在datagrdview上,并且添加多选框,然后获取选中行的内容。
winform中使用npoi实现excel导入并赋值给datatable:
https://blog.csdn.net/badao_liumang_qizhi/article/details/100064821
效果
实现
在上面已经导入成功并且赋值给datatables上的基础上,在datagridview上添加多选框。
下面代码加在第二个按钮的点击事件里,生成数据源datatable的标题使添加一个多选列。
datagridviewcolumn checkcol = new datagridviewcheckboxcolumn(); this.datagridview1.columns.add(checkcol);
然后在第三个按钮的点击事件里
private void button4_click(object sender, eventargs e) { int strcount = 0; //首先进行第一次循环 获取选中的行数 for (int i = 0; i <datagridview1.rows.count; i++) { //如果被选中 if ((bool)datagridview1.rows[i].cells[0].editedformattedvalue == true) { strcount++; } } //新建 选中长度的数组存放每一行 string[] str = new string[strcount]; for (int i = 0; i < datagridview1.rows.count; i++) { if ((bool)datagridview1.rows[i].cells[0].editedformattedvalue == true) { //获取当前行的第一个单元格 + @ +第二个单元格的内容 str[i] = datagridview1.rows[i].cells[1].value.tostring() + "@" + datagridview1.rows[i].cells[2].value.tostring(); } } //输出选中所有行的内容 for (int i = 0; i < str.length; i++) { messagebox.show(string.format("获取的第{0}条为:",i+1) +str[i]); } }