在GridView 中点击某一个按钮在此按钮的下行动态添加一行,再次点击第二次添加的行隐藏
来源:互联网 发布:win7优化详细教程 编辑:程序博客网 时间:2024/05/01 00:54
//此例是在RowCommand 的事件中执行 可以另行在其他事件中执行
//页面内容
<asp:GridView ID="GridView2" AutoGenerateColumns="False" runat="server"
onrowcommand="GridView2_RowCommand">
<Columns>
<asp:BoundField DataField="ProStartDate" HeaderText="时间" />
<asp:BoundField DataField="employeeid" HeaderText="号码"/>
<asp:BoundField DataField="Truename" HeaderText="姓名" />
<asp:BoundField DataField="Handphone" HeaderText="手机" />
<asp:BoundField DataField="BankAccount" HeaderText="银行" />
<%-- <asp:TemplateField HeaderText="发送" SortExpression="IsPost">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Eval("IsPost") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:ImageButton CommandName="btnshow" ID="ImageButton1" CommandArgument='<%# Eval("OrderId") %>' runat="server" style="width: 14px" ImageUrl="~/images/新增.bmp" />
</ItemTemplate>
</asp:TemplateField>--%>
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="false"
CommandName="btnshow" Text="按钮" CommandArgument='<%# Eval("OrderId") %>'></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<HeaderStyle BackColor="Azure" Font-Size="10px" Width="10px" HorizontalAlign="Center" />
<RowStyle HorizontalAlign="Left" />
<PagerStyle HorizontalAlign="Center" BackColor="#FFFFCC" BorderStyle="None" BorderWidth="0px" ForeColor="#330099" />
<PagerSettings Visible="False" />
</asp:GridView>
//后置代码中
protected void GridView2_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName.Equals("btnshow"))
{
//创建一个GridView的一个分隔行(根据DataControlRowType来设置)
// GridViewRow rowSeparator = new GridViewRow(0, 0, DataControlRowType.Separator, DataControlRowState.Normal);
//或实现一个数据行
GridViewRow rowSeparator = new GridViewRow(0, 0, DataControlRowType.DataRow, DataControlRowState.Normal);
//设置行的底色
rowSeparator.BackColor = System.Drawing.Color.White;
// 获取到行索引 RowIndex
GridViewRow gvrow = (GridViewRow)(((LinkButton)e.CommandSource).NamingContainer);
int index = gvrow.RowIndex;
//获得当前的GridView
GridView gv = (GridView)sender;
//设置单元格集
TableCellCollection cells = gv.Rows[index].Cells;
//设置单元格,根据实际情况增加,我这儿是增加一个跨所有列的行
TableCell separatorCell = new TableCell();
//根据GridView的第一列的显示情况设置单元格和跨列数
if (GridView2.Columns[0].Visible == true)
{
//当前增加的行所跨的列是gv 的所有列
separatorCell.ColumnSpan = cells.Count;
}
else
{
separatorCell.ColumnSpan = cells.Count - 1;
}
//单元格的对齐
separatorCell.HorizontalAlign = HorizontalAlign.Center;
//单元格的背景色
separatorCell.BackColor = System.Drawing.Color.FromArgb(226, 226, 226);
//单元格的高度
separatorCell.ControlStyle.Height = 10;
//在列中添加一个控件
Label l = new Label();
l.Text = "ddddd";
Control c = (Control)l;
separatorCell.Controls.Add(c);
//在单元格集中增加单元格控件
rowSeparator.Cells.Add(separatorCell);
//设置GridView行的可见性
rowSeparator.Visible = true;
//在GridView中的相应行插入行
GridView2.Controls[0].Controls.AddAt(index + 2, rowSeparator);
//判断当前按钮点了几次了 同一个按钮点击第一次是添加下面的一行,点击第二次死隐藏当前添加的行
//ViewState["flat"] 用于标记当前点了几行
if (ViewState["flat"] != null)
{
if (ViewState["flat"].ToString().Trim().Equals(e.CommandArgument.ToString()))
{
rowSeparator.Visible = false;
ViewState["flat"] = null;
}
else ViewState["flat"] = e.CommandArgument.ToString();
}
else
ViewState["flat"] = e.CommandArgument.ToString();
}
// 注意: ViewState["flat}=null; 在pageLoad 事件中要先创建
}
- 在GridView 中点击某一个按钮在此按钮的下行动态添加一行,再次点击第二次添加的行隐藏
- 在GridView 中点击某一个按钮在此按钮的下行动态添加一行,再次点击第二次添加的行隐藏
- 在GridView 中点击某一个按钮在此按钮的下行动态添加一行,再次点击第二次添加的行隐藏
- 点击按钮动态添加新的一行(添加文本框)
- 点击添加按钮,给gridview添加一行。
- 在eclipse中添加新的tomcat,没法添加,next按钮呈灰色,点击不了
- asp.net后台代码实现点击按钮动态添加table的一行
- 在SecureCRT中添加映射按钮,发现确定键是灰色的,没法点击
- 点击按钮实现表格动态添加或删除一行
- jquery实现点击按钮添加一行
- boostrap按钮式下拉菜单动态添加选项并在按钮上显示点击选项
- 在GridView中添加按钮后,如何触发按钮的各种事件?
- 按钮添加点击事件的多种方式
- 开发中遇到的问题-动态创建按钮并且添加带有参数的点击事件
- tableView中添加按钮触发不了点击事件的解决办法
- 点击按钮添加单元行
- 如何在table的每一行添加点击事件
- 动态生成 指定列数、行数的表格。并在每行最后一列添加一个删除按钮。点击删除按钮、删除本行!
- SQL语句PART5
- Mapinfo Mapx Mobile
- java - Serializable (2)
- ArcEngine栅格数据锯齿问题解决办法
- SQL语句PART6
- 在GridView 中点击某一个按钮在此按钮的下行动态添加一行,再次点击第二次添加的行隐藏
- 腾讯启动校园招聘人才
- 帝都日记
- YAWL工作流引擎启动流程实例过程详录
- 简单的选择排序算法
- SQL语句PART7
- 一无所有时,靠什么成功?
- 读书笔记:核心测试过程:计划准备和完善(三)
- asdf