Sometimes, we need to have a number of rows with controls generated dynamically in the WebForm. Here, I am going to describe how to do it in a simple way.
Create an empty website. Let's take a WebForm, a textbox, and a button. In the text box, we will fill the desired number of rows of Gridview. And on the click of the button, the Gridview with controls will be shown. Let's take a simple Gridview. In the Gridview ItemTemplate, let's add a few textboxes. Let's take another button at the bottom of the click event which will access the values of controls in Gridview. The code is here.
- <asp:Panel ID="PnlOthr" runat="server"> Enter number of other contractors
- <asp:TextBox ID="TxtNo" runat="server" MaxLength="3" />
- <asp:Button ID="BtnAdd" runat="server" Text="Add" OnClick="BtnAdd_Click" />
- <asp:GridView runat="server" ID="gvOthrCntrctr" ShowFooter="true" AutoGenerateColumns="false">
- <Columns>
- <asp:TemplateField ItemStyle-HorizontalAlign="Center">
- <HeaderTemplate> Sl No. </HeaderTemplate>
- <ItemTemplate>
- <asp:Label ID="lblSRNO" runat="server" Text='<%#Container.DataItemIndex+1 %>'></asp:Label>
- </ItemTemplate>
- </asp:TemplateField>
- <asp:TemplateField HeaderText="Other Contractor Name">
- <ItemTemplate>
- <asp:TextBox ID="TxtOthrCntrctrNm" runat="server" />
- <asp:RequiredFieldValidator ID="RequiredFieldValidator31" runat="server" ErrorMessage="*" ControlToValidate="TxtOthrCntrctrNm" ForeColor="Red" Display="Dynamic" ValidationGroup="y"></asp:RequiredFieldValidator>
- </ItemTemplate>
- </asp:TemplateField>
- <asp:TemplateField HeaderText="Aadhar NO">
- <ItemTemplate>
- <asp:TextBox ID="TxtAadharNo" runat="server" MaxLength="12" />
- </ItemTemplate>
- </asp:TemplateField>
- <asp:TemplateField HeaderText="PAN NO">
- <ItemTemplate>
- <asp:TextBox ID="TxtPANNo" runat="server" MaxLength="10" />
- <asp:RequiredFieldValidator ID="RequiredFieldValidator336" runat="server" ErrorMessage="*" ControlToValidate="TxtPANNo" ForeColor="Red" Display="Dynamic" ValidationGroup="y"></asp:RequiredFieldValidator>
- </ItemTemplate>
- </asp:TemplateField>
- <asp:TemplateField HeaderText="Other Contractor MobileNo">
- <ItemTemplate>
- <asp:TextBox ID="TxtOthrCntrctrMobileNo" MaxLength="10" runat="server" />
- <asp:RequiredFieldValidator ID="RequiredFieldValidator32" runat="server" ErrorMessage="*" ControlToValidate="TxtOthrCntrctrMobileNo" ForeColor="Red" Display="Dynamic" ValidationGroup="y"></asp:RequiredFieldValidator>
- </ItemTemplate>
- </asp:TemplateField>
- <asp:TemplateField HeaderText="Other Contractor Emailid">
- <ItemTemplate>
- <asp:TextBox ID="TxtOthrCntrctrEmailid" runat="server" />
- <asp:RequiredFieldValidator ID="RequiredFieldValidator34" runat="server" ErrorMessage="*" ControlToValidate="TxtOthrCntrctrEmailid" ForeColor="Red" Display="Dynamic" ValidationGroup="y"></asp:RequiredFieldValidator>
- <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ErrorMessage="Emailid In Correct Format." ValidationGroup="y" ForeColor="Red" ControlToValidate="TxtOthrCntrctrEmailid" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator>
- </ItemTemplate>
- </asp:TemplateField>
- </Columns>
- </asp:GridView>
- </asp:Panel>
- <div style="text-align:center;">
- <asp:Button ID="BtnShow" runat="server" Text="Show Gridview Data in Form" OnClick="BtnShow_Click" />
- </div>

Ricardo RiedPosted Jun 7, 2022, 7:59 PM
Is posible ?? Dim tempDesc As TemplateField = New TemplateField() tempDesc.HeaderTemplate = New GridViewHeaderTemplate("TextBox1") tempDesc.ItemTemplate = New GridViewItemTemplate("Column1") Gridview1.Columns.Add(tempDesc) tempDesc = New TemplateField() tempDesc.HeaderTemplate = New GridViewHeaderTemplate("TextBox2") tempDesc.ItemTemplate = New GridViewItemTemplate("Column2") Gridview1.Columns.Add(tempDesc) tempDesc = New TemplateField() tempDesc.HeaderTemplate = New GridViewHeaderTemplate("TextBox3") tempDesc.ItemTemplate = New GridViewItemTemplate("Column3") Gridview1.Columns.Add(tempDesc) Me.Gridview1.DataBind() SetInitialRow()
Ricardo RiedPosted Jun 7, 2022, 7:58 PM
HI, need this with template fields generated in runtime