一、背景
昨天唐欢问了我一个问题:
现在有一个CheckBox和一个Label如下图:
要实现选中CheckBox,点击下面打印按钮的时候要做成这个样子的如下图:
简单的说就是档案编号作为表中的一个列名,而lblID的值作为这个列下面的值。
最后我想到了一个方法就是把CheckBox的值和lblID的值放到一起然后以“:”为分割线把这两个值
一一取出来然后放到DataTable里面,放到DataTable以后再导入Excel表里就简单多了。
二、小例子
我就做了一个小例子:
界面如图:
后台代码:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; namespace WebApplication1 { public partial class WebForm1 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { CheckBox1.Text = "档案编号:123456"; } protected void Button1_Click(object sender, EventArgs e) { DataTable dt = new DataTable(); if (CheckBox1.Checked == true) { string a = CheckBox1.Text; string[] s = a.Split(':'); //增加新列 dt.Columns.Add(s[0], typeof(string)); //在新列下面新建一行 DataRow row = dt.NewRow(); //为新的一行赋值 row[s[0]] = s[1]; //添加此行 dt.Rows.Add(row); } } } }
效果图:
如果有很多CheckBox控件的话直接利用一个循环就可以达到多个CheckBox放到一起。