ASP.NET中利用Split实现对Checkbox的字符串分离放到DataTable里面

一、背景

               昨天唐欢问了我一个问题:

                        现在有一个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放到一起。

posted @ 2013-08-18 10:20  夏至冬末  阅读(170)  评论(0编辑  收藏  举报