·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> Repeater动态添加行

Repeater动态添加行

作者:佚名      ASP.NET网站开发编辑:admin      更新时间:2022-07-23

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; }