<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动态添加行的更多相关文章

  1. Repeater 动态增加删除一行

    文章参考:文章参考http://www.cnblogs.com/dataadapter/archive/2012/06/25/2562885.html 效果: 前台代码: <%@ Page La ...

  2. Django前端HTML通过JS实现表格可编辑,动态添加行,回车完成新建文件夹

    功能描述: 点击“新建文件夹”按钮,在table的末尾增加一行:单击页面的新增行,使单元格td变成可编辑状态:输入内容后,当单元格失去焦点时,保存输入的内容:回车后通过AJAX提交后台完成新建文件夹. ...

  3. 关于表格动态添加行并处理相关表单元素的一些修改----优化for重用(2)

    功能介绍: 1.处理了动态行与表单的设值问题 2.添加了行的向上或向下排序 3.添加了可以在当前行的下边或上边增加新行的功能 4.添加了可以单选或勾选多项删除不需要的行的功能 5.添加了新增的行的高亮 ...

  4. Gridview 动态添加行

    /// <summary> /// 首次加载绑定 /// </summary> private void DataLoad()         { list.Add(new P ...

  5. js动态添加行

    <script> $(function() { //增加上传 var addli = function() { var linum = parseInt($(".pic-wrap ...

  6. js 动态添加行,删除行,并获得select中值赋予 input

    <html> <head>  <title>Ace Test</title>  <script type="text/javascrip ...

  7. html 布局;css3+jq 下拉菜单;table分页动态添加行;html5本地存储;简单易用的html框架

    简单好用的html框架,预览图见最后: 源码: 1.页面布局使用table: table 嵌套 +iframe 布局: 2.下拉菜单为jq+css3 动画; css input 无边框,select下 ...

  8. gridview动态添加行(不用datatable实现)

    GridViewRow newrow = , , DataControlRowType.Separator, DataControlRowState.Normal); TableCell[] tc=] ...

  9. C#中DataGridView动态添加行及添加列的方法

    http://www.jb51.net/article/72259.htm Datagridview添加列: ? 1 2 3 4 5 DataGridViewTextBoxColumn acCode ...

随机推荐

  1. AngularJS Directive - 开场小介绍(转)

    Directive其实就是让html变得更强大的一种方法.它可以根据需求对dom变形,或注入行为. 觉得它很神秘么,其实一点儿也不神秘,只要开始使用AngularJS了,就一定在使用着Directiv ...

  2. Win8.1系统下安装nodeJS

    Nodejs简介 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效.Node.js ...

  3. 一大坨GoogleAPI的学习笔记之一(oAuth2.0)

    官方文档地址:https://developers.google.com/accounts/docs/OAuth2InstalledApp 最近Ubuntu下VGA接口无端的不能用了,木有心情翻译了, ...

  4. mybatis动态SQL的<set>条件

    写代码,作笔记是个好习惯: <update id="update" parameterType="FaultMainten"> update FAU ...

  5. VIM编辑器操作指令

    VIM有三种操作模式: 1,命令模式--command mode 2,输入模式--insert mode 3,底行模式--last line mode [在命令模式的时候,按Shift +  :出现的 ...

  6. 解决Eclipse编译器报错ClassNotFoundException:Org.hibernate.hql.ast.HqlToken

    最近开发遇到Eclipse编译器老是报出ClassNotFoundException:Org.hibernate.hql.ast.HqlToken [from User Where id=1] 的错误 ...

  7. [Head First Python]4. pickle.dump pickle.load

    sketch.py #--*-- coding:utf-8 --*-- import pickle import nester man = [] other = [] try: data = open ...

  8. C/C++语言学习——内存分配管理

    1.一个由C编译的程序占用的内存分为以下几个部分 1.栈区(stack)— 程序运行时由编译器自动分配,存放函数的参数值,局部变量的值等.其操作方式类似于数据结构中的栈.程序结束时由编译器自动释放. ...

  9. LinqToSql 小例子

    namespace LinqToSqlDemo.Test { class Program { // 数据连接文本 private static DataClasses1DataContext data ...

  10. Linux服务器配置WEB应用日志文件到指定目录

    在Linux服务器上配置WEB应用程序日志到指定文件   服务器环境是 RedHat Linux, 其上运行的是 Apache + Tomcat,容器中运行的是我们公司的壹个小型电子商务网站,原来项目 ...