2012-02-08 2 views
0

"txtCount", "gvCount"및 "btnCount"와 같은 TextBox, GridView 및 Button이 있습니다.TextBox 값을 기반으로 GridView에 행을 동적으로 추가하는 방법은 무엇입니까?

gvCount에는 다음과 같은 열이

텍스트 상자 "txtCount는"텍스트 "10"가있는 경우
<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> 

있습니다. 버튼 "btnCount"를 클릭하면 GridView에 10 개의 행이 추가됩니다. 마찬가지로 TextBox 값을 기반으로 GridView에 행을 추가해야합니다. 이 작업을 수행하는 방법?

+0

그리고 그 10 개의 행에 어떤 값을 넣어야합니까? – Magnus

+0

@Magnus : 모든 TextBox 값은 비어 있어야하며 DropDownlist는 SelectedValue = "-1"을 표시해야합니다. – thevan

답변

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

내가 이해한다면 코드 숨김 기능으로 gridview에 새로운 행을 추가 하시겠습니까?

이를 사용하기위한 공통으로, 텍스트 상자의 값을 취득 int로 변환하고, 루프 : http://www.stellarpc.com/articles/board.aspx?id=33

1

당신은 항상 데이터 테이블을 사용할 수 있습니다. 0부터 텍스트 상자의 텍스트 -1까지의 for 루프를 사용하여 데이터 테이블에 데이터row를 추가합니다. 그런 다음 DataView를 Gridview 데이터 소스로 설정하십시오.

관련 문제