2013-11-27 6 views
1

내가 현재 가지고 :의 gridview 열 합계 값 및 표시

<asp:GridView ID="BalanceCheckDataGridView" runat="server" AutoGenerateColumns="false"> 
    <Columns> 
     <asp:BoundField ItemStyle-Width="30%" DataField="Company" HeaderText="Company" /> 
     <asp:BoundField ItemStyle-Width="30%" DataField="Balance" HeaderText="Balance" /> 
    </Columns> 
</asp:GridView> 

지금 내가 마지막에 될 수있는 균형에서 정보를 잡아, 그들을 요약, 다음 (그것을 표시 할 "Total : sumValue"와 같은 행 또는 텍스트의 합계 값이 될 수있는 레이블)

저는이 기능에 익숙하지 않습니다.

고마워요.

+0

당신은 당신의 SQL 쿼리에서이 작업을 수행 할 수 있습니다? – briskovich

+0

@briskovich : 내 편이 좋을 것 같습니다. 데이터베이스에 손대지 않으려 고합니다. 어떤 아이디어가 있으십니까? – user2751691

+0

그리드 하단에 원하십니까? – briskovich

답변

3
Int32 tot = 0; 
protected void Dg_Source_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    if (e.Row.RowType == DataControlRowType.DataRow) 
    { 
     tot = tot + Convert.ToInt32(e.Row.Cells[1].Text); 
     lblSum.Text = tot.ToString(); 
    } 
} 
2

표에 바닥 글을 넣으면 그리드가 바인딩 된 후 코드에서 이와 같이 할 수 있습니다.

((Label)your_grid.FooterRow.Cells[1].FindControl("your_label_to_diplay_total")).Text = "Total:" + ds.Tables[0].Compute("sum(your_balance_field)", "").ToString(); 

이것은 내 머리의 맨 위에 있습니다. 이를 응용 프로그램에 맞게 사용자 지정해야합니다.

+0

고마워,하지만 내가 ds 테이블을 가지고, 내가 referredced 무엇인지 알아? – user2751691

0
int sum=0; 
    protected void GridView2_RowDataBound(object sender, GridViewRowEventArgs e) 
     { 

     if (e.Row.RowType == DataControlRowType.DataRow) 
     { 
      Label salary = (Label)e.Row.FindControl("Label3");//take lable id 
      sum +=int.Parse(salary.Text); 
      lblsum.Text = sum.ToString(); 
     } 
    }