2014-04-23 4 views
0

저는 Windows 양식 회계 응용 프로그램을 개발 중입니다. 응용 프로그램은 항목의 회계 원장을 생성합니다. 사용자는 원장이 생성 된 기간을 선택합니다. 기초 잔액은 데이터베이스에서 값을 가져온 후에 논리적으로 계산됩니다. 문제는 datagridview의 행이 데이터 바인딩되기 때문에 각각 datagridview의 첫 번째 행과 마지막 행에서 열기 및 닫기 균형을 표시하는 방법입니다.datagridview를 사용하여 회계 winform 응용 프로그램에서 개폐 잔액을 표시하는 방법

코드 :

이제
   dataGridView1.AutoGenerateColumns = false; 
       dt = new DataTable(); 
       sda = new SqlDataAdapter("select CONVERT(varchar,date,101) as date,desc,credit,debit where user_Id='" + comboBox1.SelectedValue + "' and date BETWEEN'" + dateTimePicker1.Value.Date + "'AND'" + dateTimePicker2.Value.Date + "'", con); 
       sda.Fill(dt); 
       dataGridView1.ColumnCount = 3; 
       dataGridView1.Columns[0].Name = "date"; 
       dataGridView1.Columns[0].HeaderText = "Date"; 
       dataGridView1.Columns[0].DataPropertyName = "date"; 
       dataGridView1.Columns[1].Name = "desc"; 
       dataGridView1.Columns[1].HeaderText = "Description"; 
       dataGridView1.Columns[1].DataPropertyName = "desc"; 
       dataGridView1.Columns[2].Name = "credit"; 
       dataGridView1.Columns[2].HeaderText = "Credit"; 
       dataGridView1.Columns[2].DataPropertyName = "credit"; 
       dataGridView1.Columns[3].Name = "debit"; 
       dataGridView1.Columns[3].HeaderText = "Debit"; 
       dataGridView1.Columns[3].DataPropertyName = "debit"; 

, 내가 직접 datagridview1.Rows.Add()를 사용하여 균형을 열고 추가 계산할 때는, 그것은 당신이 행이 프로그램 때문에 행을 추가 할 수 없다는 오류가 있습니다 데이터 수집.

내 구현에 도움주세요. 잔액을 보여줄 다른 것이 있으면 언급하십시오.

답변

0

user2748092, 찾았 으면 datbound datagridview에 행을 추가 할 수 없습니다. 바인딩을 제거하고 각 행을 추가하고 이동에 따라 합계를 계산 한 다음 마지막 행을 합계로 추가하십시오. Perhpas는 최종 행 색상을 수정하여 총 행을 구분합니다. 제 생각에 다른 옵션은 gridview 근처에 합계를 표시하는 것입니다. 그것이 바운드되어 있기 때문에 변경시 합계가 증가/감소하는지 확인하십시오.

이 당신이 당신의 합계를 찾을 수 있도록해야한다 코드 을 추가했다. DataGrid를 바인딩 한 후 호출하십시오. 거친 편집, 변경이 필요할 수 있습니다.

For Each gvRow as GridViewRow in dataGridView1.Rows 
    total += double.parse(grvRow.Cells(0).Text 
Next 
TotalTextBox.Text = total 

이 방법을 사용하면있는 gridview에 각 행을 적용 루프 DT의 결과를 (데이터 테이블) 할 수 있으며. 이것은 당신을 시작하게하는 예시입니다.

Dim row As String() = New String() {"1", "Product 1", "1000"} 
DataGridView1.Rows.Add(row) 

봅니다 다음에 문제가있는 코드에 대한 질문을, 코드를 작성합니다.

+0

프로그래밍 방식으로 데이터베이스에서 데이터를 가져 오는 방법과 각 행을 datagridview에 추가하는 방법을 보여줄 수 있습니까? – user2748092