2012-02-08 57 views
0

我有一个TextBox,GridView和Button,如“txtCount”,“gvCount”和“btnCount”。如何根据TextBox值动态添加行到GridView?

的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> 

如果文本框 “txtCount” 具有文本 “10”。点击按钮“btnCount”后,10行将被添加到GridView中。同样,我需要根据TextBox值向GridView添加行。这个怎么做?

+0

那10行中的值应该是多少? – Magnus 2012-02-08 13:07:59

+0

@Magnus:所有的TextBox值都应该是空的,DropDownlist应该显示SelectedValue =“-1”; – thevan 2012-02-08 13:10:32

回答

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

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