2010-03-26 2 views
1

제품 세부 정보보기에 대한 gridview가 포함 된 웹 사이트를 사용하고 있습니다 ... 이름, 영역, phnoe 번호, 수량, 가격, 합계 등의 열을 포함합니다 ... . 지금 나는 그 열세의 가치를 계산하고 싶다. 열 수량과 가격을 곱하고 그 해답을 그리드의 전체 열에 넣고 싶다. 어떻게해야 할까?ASP.net에서 Gridvew의 전체 값 계산 C#

아무도 나에게 이것의 해결책을 말해! 그것은 귀하의 요구 사항/소원에 따라 사전에

감사합니다 ...

+0

어떤 방법으로 당신이 당신의 그리드를 바인딩하는 데 사용하고 있습니까? 참조, datatable, dataset, objectdatasource는 무엇입니까? – Myra

+0

나는 datatable을 사용하고 있습니다 – Suryakavitha

+0

Total Value에서 Computed Column으로 제목을 변경하십시오. 전체 값을 느낄 수 있습니다. Group 또는 Grand Total Values로 쉽게 오해 할 수 있습니다. 동일하게하는 신용. –

답변

1

세 가지 방법이 있습니다. 먼저
쿼리 데이터베이스 그리드에 표시 결과입니다

이렇게하려면 다음
같은 쿼리 선택 이름, 지역, 전화 번호, 수량, 가격, 수량 *이 바인드 그리고 총로 YOUR_TABLE 에서 가격

두 번째은 데이터 테이블에있는 소스를 바인딩하기 전에이 테이블에 대한 요약을 루프로 묶습니다.

수행 할 작업 : 데이터 가능하지만 이번에는 합계 열 이름이 없습니다.
이제 새 열을 데이터 테이블에 합계로 추가해야합니다.

DataColumn totalColumn = new DataColumn("Total"); 
totalColumn.Expression = "Quantity * Price"; 
totalColumn.DataType = //double,integer 
dataTable.Columns.AddAt(totalColumn, 0); 

우리가 위에서 수행 한 모든 세포가 합계 특정 값을 조립하기 위해 자바 스크립트를 사용하여 계산 된 열

셋째을 생성하지만,이 시간은 당신이 다음 세포를 당신의 데이터 그리드를 찾을 필요 jquery와 같은 자바 스크립트 프레임 워크를 사용하는 것을 선호해야한다.나는이에 대한 참조 점을 잘 모르겠지만, 제 1 및 제 2 옵션은


안부
마이 라를 할 일이 많이 쉬워 질 것입니다

+0

+1 계산 된 열 방법을 가리키는 +1하지만 Query 또는 SP를 변경할 수있는 액세스 권한이 있으면 더 쉬운 방법이 첫 번째 방법 일 것입니다. –

0

, 당신은 데이터베이스에서 데이터를 가져 오는하지 않으면 클라이언트 측에서 총을 계산하기 위해 자바 스크립트를 사용할 수 있습니다.

코드에서 수행 할 수도 있지만 JQuery를 사용하여 데이터를 가져 와서 클라이언트 측에서 계산하는 것이 더 좋습니다. 행 인덱스는 0과 가격 수단에 열 이름 인 경우

+0

분명히 말해 줄 수 있습니까? – Suryakavitha

+0

작은 샘플을 줄 수 있습니까? – Suryakavitha

+0

다음 링크를 따라 가십시오. http://www.dotnetspider.com/resources/35343-GridView-Textbox-value-Calculation-using.aspx http://forums.asp.net/t/1354555.aspx 해피 코딩 – Ravia

1

그것의 간단한 yaar이 는, 다음은 우선 GetValues로가는 길이다, GridViewID.Rows [0] .cells [ "가격"]. ToString()

0

는하지만 난 만

확인 뒤에 코드에서해야합니다. GridView에 대한 템플릿 열이 필요합니다.

<asp:TemplateField> 
<ItemTemplate> 
    <asp:Literal ID="litTotal" runat="server" /> 
</ItemTemplate> 
</asp:TemplateField> 

RowDataBound 이벤트에 가입하십시오.

protected void grid_RowDataBound(object sender, GridViewRowEventArgs e) 
{  
if(e.Row.RowType == RowType.DataRow) 
{ 
    YourObject _item = (YourObject)e.Row.DataItem; // use quickwatch to figure out how to cast into your desired type 
    Literal _litTotal = (Literal)e.Row.FindControl("litTotal"); 
    _litTotal.Text = _item.Quantity * _item.Price; 
} 
}