<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> <%--<form id="form1" runat="server">--%> <div> Rows:<asp:TextBox ID="txtRows" runat="server" Width="39px"> <br /> Cols: <asp:TextBox ID="txtCols" runat="server" Width="37px"> <br /> <br /> <asp:Button ID="btnGenerate" OnClick="btnGenerate_Click" runat="server" Text="Generate" /> <br /> <br /> <asp:PlaceHolder ID="PlaceHolder1" runat="server"> <br /> <br /> <br /> <%--</div> <asp:Button ID="btnPost" runat="server" OnClick="Button1_Click" Text="Cause Postback" />--%> <%-- </form>--%>
protected void Page_Load(object sender, EventArgs e) { if (Page.IsPostBack) { //Set the Rows and Columns property with the value //entered by the user in the respective textboxes this.Rows = Int32.Parse(txtRows.Text); this.Columns = Int32.Parse(txtCols.Text); } CreateDynamicTable(); } protected int Rows { get { return ViewState["Rows"] != null ? (int)ViewState["Rows"] : 0; } set { ViewState["Rows"] = value; } } protected int Columns { get { return ViewState["Columns"] != null ? (int)ViewState["Columns"] : 0; } set { ViewState["Columns"] = value; } } protected void btnGenerate_Click(object sender, EventArgs e) { CreateDynamicTable(); } private void CreateDynamicTable() { PlaceHolder1.Controls.Clear(); // Fetch the number of Rows and Columns for the table // using the properties int tblRows = Rows; int tblCols = Columns; // Create a Table and set its properties Table tbl = new Table(); // Add the table to the placeholder control PlaceHolder1.Controls.Add(tbl); // Now iterate through the table and add your controls for (int i = 0; i < tblRows; i++) { TableRow tr = new TableRow(); for (int j = 0; j < tblCols; j++) { TableCell tc = new TableCell(); TextBox txtBox = new TextBox(); //txtBox.Text = "RowNo:" + i + " " + "ColumnNo:" + " " + j; // Add the control to the TableCell tc.Controls.Add(txtBox); // Add the TableCell to the TableRow tr.Cells.Add(tc); } // Add the TableRow to the Table tbl.Rows.Add(tr); } // This parameter helps determine in the LoadViewState event, // whether to recreate the dynamic controls or not ViewState["dynamictable"] = true; } } }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)