当前位置: 首页 > news >正文

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放到一起。

转载于:https://www.cnblogs.com/iplus/p/4490422.html

相关文章:

  • Git基本操作(add,commit的理解)
  • 怎么编写测试驱动程序
  • 百度地图 - 合并模拟器和真机的静态库文件
  • vb常用命名空间
  • Java解析xml配置文件合成器
  • HTTP 状态代码及其定义
  • VS2008快捷键大全
  • 新浪微博API
  • STM32菜鸟成长记录---RS485通讯协议的应用
  • 可滚动和可更新的结果集
  • c++ builder TreeView控件节点遍历
  • 最近看的几部动漫
  • DataGrid的实现超链接的方法小结
  • cocos2d-x学习笔记------动画人物跑起来吧!
  • bump mapping -- per-fragment lighting computation (Phong shading)
  • 0基础学习移动端适配
  • 2019.2.20 c++ 知识梳理
  • C# 免费离线人脸识别 2.0 Demo
  • HashMap ConcurrentHashMap
  • Idea+maven+scala构建包并在spark on yarn 运行
  • IndexedDB
  • JAVA之继承和多态
  • jquery ajax学习笔记
  • Linux快速复制或删除大量小文件
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • Python十分钟制作属于你自己的个性logo
  • 复习Javascript专题(四):js中的深浅拷贝
  • 简单易用的leetcode开发测试工具(npm)
  • 利用DataURL技术在网页上显示图片
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 前端自动化解决方案
  • 数据库写操作弃用“SELECT ... FOR UPDATE”解决方案
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 学习Vue.js的五个小例子
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • ​2021半年盘点,不想你错过的重磅新书
  • #pragma data_seg 共享数据区(转)
  • (06)金属布线——为半导体注入生命的连接
  • (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (十六)Flask之蓝图
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (一)基于IDEA的JAVA基础10
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • .gitignore文件---让git自动忽略指定文件
  • .NET/C# 中你可以在代码中写多个 Main 函数,然后按需要随时切换
  • .NET/C# 中设置当发生某个特定异常时进入断点(不借助 Visual Studio 的纯代码实现)
  • @Bean注解详解
  • @Responsebody与@RequestBody
  • [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(白虎组)
  • [ Linux ] Linux信号概述 信号的产生
  • [ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(十)RCE (远程代码/命令执行漏洞)相关面试题