Add Duplicate Row & Columns OnClick c#
I Have an ASP:Table that has a row with cells in I need to be able to add a row to this by clicking the Add button at the end which duplicates the existing row.
My Table code
<asp:Table ID="Table1" runat="server" Height="50%" Width="100%">
<asp:TableHeaderRow CssClass="lblrow2" HorizontalAlign="Left" BackColor="AliceBlue">
<asp:TableHeaderCell ID="haccountref">Account Ref:</asp:TableHeaderCell>
<asp:TableHeaderCell ID="hproduct">Product</asp:TableHeaderCell>
<asp:TableHeaderCell ID="hqty">Qty:</asp:TableHeaderCell>
开发者_运维技巧 <asp:TableHeaderCell ID="hunitprice">Unit Price:</asp:TableHeaderCell>
<asp:TableHeaderCell ID="hdiscount">Discount:</asp:TableHeaderCell>
<asp:TableHeaderCell ID="htotal">Total Line Amount:</asp:TableHeaderCell>
</asp:TableHeaderRow>
<asp:TableRow CssClass="r1">
<asp:TableCell><asp:TextBox ID="vaccountref" ReadOnly="True" runat="server"></asp:TextBox></asp:TableCell>
<asp:TableCell><asp:DropDownList runat="server" ID="vproduct"></asp:DropDownList></asp:TableCell>
<asp:TableCell><input id="Qty" type="text" /></asp:TableCell>
<asp:TableCell><input id="Unit Price" type="text" /></asp:TableCell>
<asp:TableCell><input id="Discount" type="text" /></asp:TableCell>
<asp:TableCell><input id="Total" type="text" /></asp:TableCell>
<asp:TableCell><input id="Button1" type="image" src="plusButton.png" value="button" /></asp:TableCell>
</asp:TableRow>
</asp:Table>
My c# code behind - I get no errors but no duplicate row
protected void Button1_Click(object sender, System.EventArgs e)
{
// Total number of rows.
int rowCnt;
// Current row count.
int rowCtr;
// Total number of cells per row (columns).
int cellCtr;
// Current cell counter
int cellCnt;
rowCnt = int.Parse(TextBox1.Text);
cellCnt = int.Parse(TextBox2.Text);
for (rowCtr = 1; rowCtr <= rowCnt; rowCtr++)
{
// Create new row and add it to the table.
TableRow tRow = new TableRow();
Table1.Rows.Add(tRow);
for (cellCtr = 1; cellCtr <= cellCnt; cellCtr++)
{
// Create a new cell and add it to the row.
TableCell tCell = new TableCell();
tCell.Text = "Row " + rowCtr + ", Cell " + cellCtr;
tRow.Cells.Add(tCell);
}
}
}
Ensure that you're actually using an ASP.NET server control button. You're currently using an HTML input image/button. It won't post back for the server to capture that event.
Try this as the last column in your table with an <asp:ImageButton>
server control.
<asp:TableCell>
<asp:ImageButton id="Button1" runat="server"
ImageUrl="plusButton.png" OnClick="Button1_Click" />
</asp:TableCell>
That should replace: <input id="Button1" />
精彩评论