Repeater 固定表頭,動態添加行

老樣子,直接上代碼,有點缺陷,有些時候會造成兩個table對齊有問題,另外右邊的滾動條也是個問題

前臺代碼:

<div style="left: 0px; right: 0px; top: 2px; bottom: 0px; width: 100%; padding: 0;
                                    margin: 0;">
                                    <asp:UpdatePanel runat="server" ID="updatePanel1">
                                        <ContentTemplate>
                                            <div style="margin-right: auto; margin-left: auto; width: 100%; overflow-x: hidden;
                                                overflow-y: scroll;">
                                                <table style="width: 100%">
                                                    <tr>
                                                        <th style="width: 30%">
                                                            創業投資機構名稱
                                                        </th>
                                                        <th style="width: 30%">
                                                            投資金額
                                                        </th>
                                                        <th style="width: 30%">
                                                            持股比例
                                                        </th>
                                                        <th style="width: 10%">
                                                            <asp:LinkButton ID="lbtnAdd" runat="server" CommandArgument='<%#Eval("Qybh") %>'
                                                                OnClick="lbtnAdd_Click">添加</asp:LinkButton>
                                                        </th>
                                                    </tr>
                                                </table>
                                            </div>
                                            <div style="left: 0px; top: 26px; bottom: 0px; right: 0px; height: 120px; width: 100%;
                                                overflow-x: hidden; overflow-y: scroll;">
                                                <table cellspacing="0" class="maptable" style="border-collapse: collapse; width: 100%;
                                                    border: 1;" cellpadding="0" width="98%">
                                                    <asp:Repeater runat="server" ID="rpTable" OnItemCommand="rpTable_ItemCommand">
                                                        <ItemTemplate>
                                                            <tr>
                                                                <td>
                                                                    <asp:Label ID="lblTzqkid" runat="server" Visible="false" Text='<%#Eval("Tzqkid")%>'></asp:Label>
                                                                    <asp:TextBox ID="txtTzjgMc" runat="server" Text='<%#Eval("Tzjgmc")%>'></asp:TextBox>
                                                                </td>
                                                                <td>
                                                                    <asp:TextBox ID="txtTzje" runat="server" Text='<%#Eval("Tzje","{0:0.00}")%>'></asp:TextBox>
                                                                </td>
                                                                <td>
                                                                    <asp:TextBox ID="txtCgbl" runat="server" Text='<%#Eval("Cgbl","{0:0.00}")%>'></asp:TextBox>
                                                                </td>
                                                                <td>
                                                                    <asp:LinkButton ID="lbtnDel" runat="server" CommandName="del" CommandArgument='<%#Eval("Qybh") %>'>刪除</asp:LinkButton>
                                                                </td>
                                                            </tr>
                                                        </ItemTemplate>
                                                    </asp:Repeater>
                                                </table>
                                            </div>
                                        </ContentTemplate>
                                        <Triggers>
                                            <asp:AsyncPostBackTrigger ControlID="lbtnAdd" EventName="Click" />
                                        </Triggers>
                                    </asp:UpdatePanel>
                                </div>
後臺代碼:

//獲取表頭結構
        public DataTable getTableHead()
        {
            BLL.CY.Pro_Cytzjgtzqk tzqkBll = new BLL.CY.Pro_Cytzjgtzqk();
            DataTable dt = tzqkBll.GetList(" 0>1").Tables[0];
            return dt;
        }
        /// <summary>
        /// 動態添加1行
        /// </summary>
        protected void lbtnAdd_Click(object sender, EventArgs e)
        {
            DataTable dt = getTableHead();
            foreach (RepeaterItem item in rpTable.Items)
            {
                DataRow dr = dt.NewRow();
                string _strTzqk = ((Label)item.FindControl("lblTzqkid")).Text;
                dr["Tzqkid"] = _strTzqk == "" ? Guid.Empty : new Guid(_strTzqk);
                dr["Tzjgmc"] = ((TextBox)item.FindControl("txtTzjgMc")).Text;
                string _strTzje = ((TextBox)item.FindControl("txtTzje")).Text == "" ? null : ((TextBox)item.FindControl("txtTzje")).Text;
                dr["Tzje"] = Convert.ToDecimal(_strTzje);
                string _strCgbl = ((TextBox)item.FindControl("txtCgbl")).Text == "" ? null : ((TextBox)item.FindControl("txtTzje")).Text;
                dr["Cgbl"] = Convert.ToDecimal(_strCgbl);
                Guid Qybh = ((LinkButton)item.FindControl("lbtnDel")).CommandArgument == "" ? Guid.Empty : new Guid(((LinkButton)item.FindControl("lbtnDel")).CommandArgument);
                dr["Qybh"] = Qybh;
                dt.Rows.Add(dr);
            }
            DataRow newRow = dt.NewRow();
            dt.Rows.Add(newRow);
            rpTable.DataSource = dt;
            rpTable.DataBind();
        }


發佈了19 篇原創文章 · 獲贊 7 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章