Repeater动态添加行
<table class="table table-striped table-bordered table-hover">
<asp:Repeater ID="rp_List" runat="server" onitemcommand="rp_List_ItemCommand">
<HeaderTemplate>
<thead>
<tr>
<th>
ID
</th>
<th>
中文内容
</th>
<th>
英文内容
</th>
<th>
是否上传声音<%--(添加时<span class="text-danger">必填</span>)--%>
</th>
<th width="80px">
头像
</th>
<th width="80px">
对话排序
</th>
<th width="80px">
最大时间
</th>
<th width="80px">
声音时间
</th>
<th>
操作
</th>
</tr>
</thead>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<%# Container.ItemIndex+1 %>
<asp:HiddenField ID="hidid" runat="server" Value='<%#Eval("id") %>' />
</td>
<td>
<asp:TextBox ID="txtCountentzh" runat="server" Text='<%#Eval("Contentzh") %>' class="form-control"></asp:TextBox>
</td>
<td>
<asp:TextBox ID="txtCountenten" runat="server" Text='<%#Eval("Contenten") %>' class="form-control"></asp:TextBox>
</td>
<td>
<%--<asp:FileUpload ID="FileUpload" runat="server" CssClass="form-control" />--%>
<asp:Label ID="lblsound" runat="server" Text='<%#Eval("IsHave") %>'></asp:Label>
</td>
<td>
<asp:TextBox ID="txtPhoto" runat="server" class="form-control" Text='<%#Eval("photo") %>'></asp:TextBox>
</td>
<td>
<asp:TextBox ID="txtOrder" runat="server" class="form-control" Text='<%#Eval("orderby") %>'></asp:TextBox>
</td>
<td>
<asp:TextBox ID="txtMaxsecond" runat="server" class="form-control" Text='<%#Eval("maxsecond") %>'></asp:TextBox>
</td>
<td>
<asp:TextBox ID="txtSoundSize" runat="server" class="form-control" Text='<%#Eval("soundsize") %>'></asp:TextBox>
</td>
<td>
<%--<a href="DuihuaDelete.aspx?id=<%#Eval("id") %>&page=<%=CurrentPage %>&pianzhangid=<%=pzid %>" class="btn btn-danger" onclick="return confirm('是否删除该数据')">删除</a>--%>
<%--<a href="DuihuaEdit.aspx?id=<%#Eval("id") %>&pianzhangid=<%=pzid %>" class="btn btn-primary">编辑</a>
<a href="DuihuaiDetail.aspx?id=<%#Eval("id") %>" class="btn btn-default btn-primary" title="详情">详情</a>--%>
<asp:LinkButton ID="lbtnDelete" runat="server" CssClass="btn btn-danger" OnClientClick='return confirm("确定删除?")' CommandName="del" CommandArgument='<%#Eval("id") %>'>删除</asp:LinkButton>
<asp:LinkButton ID="lbtnEdit" runat="server" CssClass="btn btn-default" CommandName="edit" CommandArgument='<%#Eval("id") %>'>编辑</asp:LinkButton>
</td>
</ItemTemplate>
<FooterTemplate>
<tr id="Tr1" runat="server" visible="<%#rp_List.Items.Count==0 %>">
<td colspan="9" class="indent15">
未找到符合条件的信息
</td>
</tr>
</FooterTemplate>
</asp:Repeater>
</table>
后台代码:
protected void btnAddNewRow_Click(object sender, EventArgs e)
{
//首先,恢复数据源
DataTable dt = DefineDataTableSchema(hfRptColumns.Value);
foreach (RepeaterItem item in rp_List.Items)
{
DataRow newRow = dt.NewRow();
newRow["id"] = ((HiddenField)item.FindControl("hidid")).Value;
newRow["Contentzh"] = ((TextBox)item.FindControl("txtCountentzh")).Text;
newRow["Contenten"] = ((TextBox)item.FindControl("txtCountenten")).Text;
newRow["photo"] = ((TextBox)item.FindControl("txtPhoto")).Text;
newRow["orderby"] = ((TextBox)item.FindControl("txtOrder")).Text;
newRow["maxsecond"] = ((TextBox)item.FindControl("txtMaxsecond")).Text;
newRow["IsHave"] = ((Label)item.FindControl("lblsound")).Text;
newRow["soundsize"] = ((TextBox)item.FindControl("txtSoundSize")).Text;
dt.Rows.Add(newRow);
}
//添加一行
DataRow row = dt.NewRow();
row["Contentzh"] = "";
row["Contenten"] = "";
row["photo"] = "";
row["orderby"] = "0";
row["maxsecond"] = "1";
row["IsHave"] = "未上传";
row["soundsize"] = "1";
dt.Rows.Add(row);
rp_List.DataSource = dt;
rp_List.DataBind();
}
/// <summary>
/// 根据repeater相对应的列名,定义数据源datatable的schema
/// </summary>
/// <param name="columns">列名</param>
/// <returns></returns>
public DataTable DefineDataTableSchema(string columns)
{
DataTable dt = new DataTable();
string[] columnsAry = columns.Split(',');
foreach (string str in columnsAry)
{
dt.Columns.Add(str);
}
return dt;
}
Repeater动态添加行的更多相关文章
- Repeater 动态增加删除一行
文章参考:文章参考http://www.cnblogs.com/dataadapter/archive/2012/06/25/2562885.html 效果: 前台代码: <%@ Page La ...
- Django前端HTML通过JS实现表格可编辑,动态添加行,回车完成新建文件夹
功能描述: 点击“新建文件夹”按钮,在table的末尾增加一行:单击页面的新增行,使单元格td变成可编辑状态:输入内容后,当单元格失去焦点时,保存输入的内容:回车后通过AJAX提交后台完成新建文件夹. ...
- 关于表格动态添加行并处理相关表单元素的一些修改----优化for重用(2)
功能介绍: 1.处理了动态行与表单的设值问题 2.添加了行的向上或向下排序 3.添加了可以在当前行的下边或上边增加新行的功能 4.添加了可以单选或勾选多项删除不需要的行的功能 5.添加了新增的行的高亮 ...
- Gridview 动态添加行
/// <summary> /// 首次加载绑定 /// </summary> private void DataLoad() { list.Add(new P ...
- js动态添加行
<script> $(function() { //增加上传 var addli = function() { var linum = parseInt($(".pic-wrap ...
- js 动态添加行,删除行,并获得select中值赋予 input
<html> <head> <title>Ace Test</title> <script type="text/javascrip ...
- html 布局;css3+jq 下拉菜单;table分页动态添加行;html5本地存储;简单易用的html框架
简单好用的html框架,预览图见最后: 源码: 1.页面布局使用table: table 嵌套 +iframe 布局: 2.下拉菜单为jq+css3 动画; css input 无边框,select下 ...
- gridview动态添加行(不用datatable实现)
GridViewRow newrow = , , DataControlRowType.Separator, DataControlRowState.Normal); TableCell[] tc=] ...
- C#中DataGridView动态添加行及添加列的方法
http://www.jb51.net/article/72259.htm Datagridview添加列: ? 1 2 3 4 5 DataGridViewTextBoxColumn acCode ...
随机推荐
- date命令小结
date命令是查看日期时间的常用命令,date MMDDhhmmYY.ss(修改顺序)用来更改时间 linux时间分为系统时间和硬件时间, [root@www doc]# clock--------- ...
- javascript学习笔记(一)
学习书籍 Javascript高级程序设计 第3,4章 javascript数据类型 Undefined(undefined) Null(null,空指针) Boolean(true,false) N ...
- 基于avalon1.4.x ----分页组件编写
avalon分页组件 (1.4.x版本) 随着avalon2的推出,avalon1的官网已经不再维护了,现在似乎是找不到avalon 1.4版本的官方文档了,所以本文章所有的内容均不保证正确性,只能保 ...
- XtraReport改变纸张方向
XtraReport纸张方向改变可以通过修改Landscape属性: Landscape=true 为横向输出 Landscape=false 为纵向输出
- jwplayer去Logo、自定义公司信息、限制拖动
function initplayer(){ jwplayer("mediaplayer").setup({ primary: "fl ...
- nginx+tomcat的集群和session复制
前端服务器采用nginx,后端应用服务器采用tomcat.nginx负责负载均衡,session复制在tomcat上处理. 1.nginx安装(略) 2.nginx配置负载均衡 http { incl ...
- VisualStudio2013快捷键
visual studio 2013 是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具.代码管控工具.集成开发环境(IDE)等等.VS 2013 中新增了很多提高 ...
- Unix is 命令
输入正整数n以及n个文件名,排序后按列优先的方式左对齐输出.假设最长文件名有M字符,则最右列有M字符,其他列都是M+2字符. 附加条件每行最多输出60个字符,在此条件下要求行最少. Sample in ...
- 退出ssh,程序继续运行的解决办法
对Unix.Linux类服务器维护经常是通过ssh完成的,而有些操作执行时间较长,如:更新程序.文件备份.软件编译安装等.此时如果断开ssh连接的话,更新程序就会随之被中断.如何保证断开ssh后仍旧能 ...
- js 日期天数相加减,格式化yyyy-MM-dd
参数格式: date :2016-03-02 days:-3(2)当为负数的时候日期往前推,为正数,日期往后推 function addDate(date, days) { var d = new D ...