点击 Button触发事件将GridView1 CheckBox勾选的行添加到GridView2中
有时候想实现一个CheckBox选取功能,但是很多细节不是很清楚
相信大家都有遇到类似的情况,直接看代码,如下:
前端代码GridView1,CheckBox控件设置
<asp:GridView ID="GridView1" runat="server" Height="2px" Width="720px" BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" CellPadding="1" AllowPaging="True" OnPageIndexChanging="GridView1_PageIndexChanging" OnRowDataBound="GridView1_RowDataBound" OnRowDeleting="GridView1_RowDeleting" AutoGenerateColumns="False" PageSize="8" >
<RowStyle ForeColor="#000066" />
<FooterStyle BackColor="White" ForeColor="#000066" />
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" Checked="false" />
<%--<asp:Label ID="lbformid" runat="server" Visible="false" Text='<%# Eval("formid") %>'></asp:Label>--%>
</ItemTemplate>
<HeaderTemplate>
<input type="checkbox" id="ChkHead" onclick="CheckAll3(this)" title="選擇全部" /><%--加上checked可自動勾選--%>
</HeaderTemplate>
<HeaderStyle Width="20px" />
<ItemStyle Width="20px" />
</asp:TemplateField>
<asp:BoundField DataField="data" HeaderText="日期(data)" ReadOnly="True" />
<asp:BoundField DataField="users" HeaderText="姓名(users)" SortExpression="姓名" />
<asp:BoundField DataField="user_name" HeaderText="賬號(user_name)" />
<asp:BoundField DataField="user_email" HeaderText="郵箱(user_email)" />
<asp:BoundField DataField="mony" HeaderText="金額(mony)" />
</Columns>
<PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />
<SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" CssClass="Freezing" />
后台代码
protected void Button3_Click(object sender, EventArgs e)
{
GridView2.DataSource = null; //數據定義成空值
GridView2.DataBind();
if (GridView1.Rows.Count < 1) //GridView1控件數據小於1行,執行該語句
{
MessageBox.Text = "請先查詢資料再匯入";
MessageBox.ForeColor = System.Drawing.Color.Red; //獲取背景顏色
return;
}
DataTable dte = new DataTable();
dte.Columns.Add("data", typeof(string)); //獲取屬於該表列的集合
dte.Columns.Add("users", typeof(string));
dte.Columns.Add("user_name", typeof(string));
dte.Columns.Add("user_email", typeof(string));
dte.Columns.Add("mony", typeof(string));
DataRow dr;
////建立相同架構的新數據
//dr["data"] = "data";
//dr["users"] = "";
//dr["user_name"] = "";
//dr["user_email"] = "";
//dr["mony"] = "";
int j=0;
for (int i = 0; i < GridView1.Rows.Count; i++)
{
if (((CheckBox)GridView1.Rows[i].FindControl("CheckBox1")).Checked) //默認是true(勾起)
{
dr = dte.NewRow();//創建具有相同架構表的新數據
dr["data"] = GridView1.Rows[i].Cells[1].Text.ToString(); //獲取GridView1中列的位置,將數據綁定到建立的架構表相同的列
dr["users"] = GridView1.Rows[i].Cells[2].Text.ToString();
dr["user_name"] = GridView1.Rows[i].Cells[3].Text.ToString();
dr["user_email"] = GridView1.Rows[i].Cells[4].Text.ToString();
dr["mony"] = GridView1.Rows[i].Cells[5].Text.ToString();
dte.Rows.Add(dr);
j++;//增益性
}
}
if (j<=0) //當excel中的MHour(月加班上限)小於或等於GridView1控件中第5行時,將判斷“時數必須大於已用時數!!”
{
MessageBox.Text = dte + "請選擇一項";
MessageBox.ForeColor = System.Drawing.Color.Red;
return;
}
GridView2.DataSource = dte;
GridView2.DataBind();
}
点击 Button触发事件将GridView1 CheckBox勾选的行添加到GridView2中的更多相关文章
- jquery checkbox勾选取消勾选的诡异问题
jquery checkbox勾选/取消勾选的诡异问题jquery checkbox勾选/取消勾选的诡异问题 <form> 你爱好的运动是?<input type=&q ...
- 用DIV遮罩解决checkbox勾选无效的问题
在前端开发的过程中,遇到一种情况,需要勾选,为了用户的操作便捷就将click事件放到了DIV上.(其中使用了knockout.js) 代码大概如下: <div id="one" ...
- 为何给CheckBox设置了checked属性还是没有勾选,行内样式都显示了checked
为何给CheckBox设置了checked属性还是没有勾选,行内样式都显示了checked 正常情况下我们设置给CheckBox一个checked属性后一般都会选中 然而我今天在做案例的时候却遇到了类 ...
- asp.net 翻页时用ViewState保存上一页checkbox勾选的值
/// <summary> /// checkbox勾选取消勾选事件 /// </summary> /// <param nam ...
- 设置checkbox选中,设置radio选中,根据值设置checkbox选中,checkbox勾选
设置checkbox选中,设置radio选中,根据值设置checkbox选中,checkbox勾选 >>>>>>>>>>>>&g ...
- 获取checkbox勾选的id
需求描述:做批量删除或者批量修改的时候需要获得多个id,根据checkbox勾选来获取对应的d 两种方法: //html代码<table id="table1"> &l ...
- 点击button触发onclick事件判空后依旧自动跳转
这是一个前端的问题. 其中判断字符串为空的脚本代码是这样的: var remark = $("#Remark").val(); //判空.注意:var reg = /空格/g; v ...
- ASP.NET 多次点击button后事件执行多次 并发解决 频繁操作解决办法
首先让我们体验一下频繁操作: 1)打开项目,在后台aspx.cs等服务器页面,设置断点. 2)点击页面按钮 3)调试开始进入断点,然后重复点击页面按钮 4)服务器第一次事件已经处理完毕,调试再次进入了 ...
- js点击空白处触发事件
我们经常会出现点击空白处关闭弹出框或触发事件 <div class="aa" style="width: 200px;height: 200px;backgroun ...
随机推荐
- 大数据量下DataTable To List效率对比
使用反射和动态生成代码两种方式(Reflect和Emit) 反射将DataTable转为List方法 public static List<T> ToListByReflect<T& ...
- Java基础练习1(数据类型转换)
1.下列代码的输出结果是:()(单选) public static void main(String[] args){ double money = 3.0; money -= 2.9; System ...
- 结合JDK源码看设计模式——迭代器模式
前言: Iterator翻译过来就是迭代器的意思.在前面的工厂模式中就介绍过了iterator,不过当时介绍的是方法,现在从Iterator接口的设计来看,似乎又是一种设计模式,下面我们就来讲讲迭代器 ...
- Bootstrap3级联多选下拉框
<!DOCTYPE html> <html> <head> <title>Bootstrap3级联多选下拉框</title> <met ...
- 使用StackExchange.Redis 连接redis的pipeline命令使用
这几天公司老项目用到了这个组件,需要设置初始化ID,发现这个组件没有pipeline命令的方法,去官方文档去瞅了一波,发现也没有给出对应的解决方案,后面自己发现组件里面其实有 其实就是这个接口的一个方 ...
- requirement failed: Unacceptable value for property 'kafka.timeline.metrics.host_in_memory_aggregation', boolean values must be either 'true' or 'false
requirement failed: Unacceptable value for property 'kafka.timeline.metrics.host_in_memory_aggregati ...
- IdentityServer4 知多少
1. 引言 现在的应用开发层出不穷,基于浏览器的网页应用,基于微信的公众号.小程序,基于IOS.Android的App,基于Windows系统的桌面应用和UWP应用等等,这么多种类的应用,就给应用的开 ...
- CSS Modules In Webpack
1)从形式上看,CSS Modules 是将CSS中的选择器转换为变量,然后在DOM中引用变量来引入样式. 2)从效果上看,CSS Modules 可以将CSS选择器名字转成随机字符串,保证选择器同名 ...
- 《深入理解 JVM 虚拟机》 --- 看书笔记
1.JVM 内存溢出 1.堆溢出:堆要不断的创建对象,如果避免了垃圾回收来清除这些对象,就会产生JVM内存溢出.一般手段是通过内存映像分析工具对Dump出来的堆转储快照进行分析,分清楚到底是内存泄露还 ...
- 让你用 Chrome 上网快到想哭:Vimium
Chrome 已经成了很多人的主力浏览器,你可能被它的简洁快速所吸引,但它日益丰富的「扩展」,你可能从来都没有接触过,而事实上,很多扩展可以挖掘出 Chrome 的潜能,让它变得前所未有的强大.有哪些 ...