一、背景
昨天唐欢问了我一个问题:
现在有一个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放到一起。