老樣子,直接上代碼,有點缺陷,有些時候會造成兩個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();
}