如何根据TextBox值动态地向GridView添加行?

时间:2012-02-08 12:57:03

标签: c# asp.net visual-studio-2008 gridview

我有一个TextBox,GridView和Button,例如“txtCount”,“gvCount”和“btnCount”。

gvCount包含以下列

<Columns>
      <asp:TemplateField Visible="false">
      <ItemTemplate>
      <asp:Label ID="lblRTDetailID" runat="server" Text='<%# Bind("RTDetailID") %>'></asp:Label>
      </ItemTemplate>
      </asp:TemplateField>
      <asp:TemplateField HeaderText="Assy. No.">
      <ItemTemplate>
      <asp:TextBox ID="txtgvAssyNo" runat="server" Text='<%# Bind("AssyNo") %>'></asp:TextBox>
      </ItemTemplate>
      </asp:TemplateField>
      <asp:TemplateField HeaderText="Position">
      <ItemTemplate>
      <asp:DropDownList ID="ddlgvPos" runat="server" Text='<%# Bind("Position") %>'>
      </asp:DropDownList>
      </ItemTemplate>
      </asp:TemplateField>
</Columns>

如果TextBox“txtCount”的文本为“10”。单击Button“btnCount”时,将向GridView添加10行。同样,我需要根据TextBox值向GridView添加行。怎么做?

3 个答案:

答案 0 :(得分:1)

如果我理解,你想在你的代码隐藏权限中向gridview添加新行吗?

获取TextBox值,转换为int,并使用公共循环进行循环使用:http://www.stellarpc.com/articles/board.aspx?id=33

答案 1 :(得分:1)

gv.DataSource = Enumerable.Range(0, int.Parse(txtCount.Value))
               .Select (e => new 
               { 
                  RTDetailID = "", 
                  AssyNo = "", 
                  Position = "-1"
               });
gv.DataBind();

答案 2 :(得分:1)

您始终可以使用数据表。使用从0开始到文本框的text-1的for循环将数据行添加到数据表。然后将数据表设置为Gridview数据源。