2013-06-10 3 views
3

내 webform에는 두 개의 텍스트 상자와 하나의 gridview가 있습니다. gridview는 데이터베이스와 바인드됩니다. 하지만 런타임에 웹 폼의 텍스트 입력이 될 열을 하나 더 추가하고 싶습니다. 시나리오는 다음과 같습니다. 두 텍스트 상자를 사용하여 백분율을 계산하는 두 공식을 유지 관리하고 있으며 클라이언트는 gridview의 각 행에 대해이 계산을보고 싶어합니다.TextBox 입력을 asp.net의 gridview에 전달하는 방법은 무엇입니까?

하지만이 작업을 수행 할 수 없습니다.

제발 나를 도와 줄 수있는 사람이 있습니까? 몇 가지 제안이 될 수 있습니다.

미리 감사드립니다.

답변

2

레이블 컨트롤을 사용하여 GridView 마크 업에 열을 추가하여 결과를 다음과 같이 표시 할 수 있습니다.

마크 업이 필요합니다. 표시가 false로 설정됩니다.

<asp:GridView ID="GridView1" runat="server"> 
<Columns> 
<asp:TemplateField Visible="false"> 
    <ItemTemplate> 
     <asp:Label ID="label1" runat="server"></asp:Label> 
    </ItemTemplate> 
</asp:TemplateField> 
</Columns> 
</asp:GridView> 

은 다음과 같이 당신의 결과를 라벨을 찾아 계산 RowDataBound 이벤트를 사용
void GridView1GridView_RowDataBound(Object sender, GridViewRowEventArgs e) 
{ 
if(e.Row.RowType == DataControlRowType.DataRow) 
{ 
    //find the control 
    var label1 = e.Item.FindControl("label1") as Label; 
    if (label1 != null) 
    { 
    if (!string.IsNullOrEmpty(tbInput1.Text) && !string.IsNullOrEmpty(tbInput2.Text)) 
    { 
     // Do the calculation and set the label 
     label1.Text = tbInput1.Text + tbInput2.Text; 
     // Make the column visible 
     GridView1.Columns[0].Visible = true; 
    } 
    } 
} 
} 

오류를 용서하십시오, 위 테스트하지 않았습니다.

+0

정말 고마워요. 정말 도움이 .. – barsan

+0

아무 문제 없습니다, 제발 upvote 및 나를 위해 허용 대답으로 표시 하시겠습니까? – hutchonoid

+0

확실한 형제. 나는 이것을하고 싶다. :) – barsan

관련 문제