9 개의 열이있는 DataGridview가 있습니다. 나는 단순히 5 열의 값을 가져 와서 6 열에서 빼고 그 결과를 9 열에 표시하려고합니다. 충분히 단순 해 보입니다. 모든 것이 Excel에서 끝난 것입니다. 그러나 나는 이것을 이해할 수 없다. 열 계산 방법이라는 새로운 클래스를 만들어야합니까? 또는 datagridview 클래스에는이 문제를 처리 할 수있는 기능이 이미 내장되어 있습니까?DataGridview에서 간단한 수학을 수행하는 방법
답변
public void dataGridView_Cellformatting(object sender, DataGridViewCellFormattingEventArgs args)
{
if(args.ColumnIndex == 9) //Might be 8, I don't remember if columns are 0-based or 1-based
{
DataGridViewRow row = dataGridView.Rows[e.RowIndex];
args.Value = (int)row.Cells[6].Value - (int)row.Cells[5].Value;
}
}
링크 : CellFormatting 이벤트, DataTable을로 DataGridView에 바인딩 DataGridViewcellFormattingEventArgs
블루 라자 감사합니다. 오류가 발생했습니다. 오류 \t \t "Operator '-' 'System.Windows.Forms.DataGridViewCell'및 'System.Windows.Forms.DataGridViewCell'피연산자에 '연산자'를 적용 할 수 없습니다. \t 생각이 있습니까? –
EB - row.Cells [index]가 DataGridViewCell 객체를 반환하기 때문입니다. Anthony Pegram과 같은 방법으로 셀의 Value 속성을 호출하여 정수로 파싱해야합니다. 덧붙여 Raja의 코드는 열 9에서 편집 할 경우에만 호출됩니다.이 코드는 내가 원하는 것일 지 모르겠습니다. –
@EB : 수정 됨. 그러나, 나는 물어야 했음에 틀림 없다; 어떻게 그것을 사용하고 싶습니까? 5 열과 6 열이 데이터 소스에 바인딩되어 있다고 생각했습니다. 일반적으로 원하는 것입니다. 그러나 Excel처럼 DataGrid를 사용하려고한다면 CellEndEdit 이벤트를 대신 처리하는 것이 좋습니다. –
아래 샘플 코드는 주어진 위치 (열과 행, 0- 색인)에서 값을 검색 한 다음 해당 값을 숫자로 변환하는 방법을 보여줍니다. 그런 다음 계산을 DataGridView 내의 다른 셀에 다시 저장할 수 있습니다.
object value1 = dataGridView1[4, 0].Value;
object value2 = dataGridView1[5, 0].Value;
int val1, val2;
if (int.TryParse(value1.ToString(), out val1) && int.TryParse(value2.ToString(), out val2))
{
dataGridView1[8, 0].Value = val1 - val2;
}
else
{
MessageBox.Show("cannot subtract, invalid inputs.");
}
Anthony에 답해 주셔서 감사합니다. 양식 클래스에 코드를 구현했습니다. 그것은 좋았지 만 내가 그것을 디버깅 할 때 2 열에 값을 입력하고 아무 것도 열 9에서 발생했습니다. 특정 이벤트 처리기에서이 코드를 구현해야합니까? DataGridView_CellEndEdit 이벤트 처리기에서 시도했지만 다시는 아무 일도 없었습니다. buttonclick 이벤트에서 코드를 사용해야합니까? –
및 열에게 관련 표현을 제공합니다. 이 예를 외삽 해보십시오.
DataTable table = new DataTable();
table.Columns.Add("Column1", typeof(int));
table.Columns.Add("Column2", typeof(int));
table.Columns.Add("Column3", typeof(int), "Column1+Column2");
dataGridView1.DataSource = table;
여기서 'dataGridView1'은 일반적인 DataGridView 컨트롤입니다.
- 1. Wordpress 코멘트 - 간단한 수학을 수행합니까?
- 2. JS가 두 문자열을 합치는 대신 수학을 수행하는 방법
- 3. Silverlight에서 간단한 바인딩을 수행하는 방법?
- 4. 간단한 수학을 위해 잘못된 결과를주는 C 프로그램!
- 5. Objective-C에서 행렬 및 벡터 수학을 수행하는 방법은 무엇입니까?
- 6. 간단한 플렉스 질문 (메뉴를 수행하는 방법)
- 7. netbeans를 사용하여 간단한 xsd를 수행하는 방법
- 8. 간단한 mysql select 문을 수행하는 방법
- 9. JQuery에서이 간단한 작업을 수행하는 방법 ... 이미지 표시
- 10. 간단한 수학을 검증 할 수있는 정규식을 쓸 수 있습니까?
- 11. DataGridView에서 DataSourceUpdateMode를 설정하는 방법
- 12. excel 질문 - % 분산에 대한 수식을 수행하는 방법
- 13. DataGridview에서 열을 업데이트하거나 추가하는 방법
- 14. C#의 DataGridView에서 지연로드하는 방법
- 15. DataGridView에서 여러 행을 삭제하는 방법
- 16. TFS Build 2010에서 간단한 Exec 활동을 수행하는 방법
- 17. Windows Phone 7 XNA에서 간단한 3D를 수행하는 방법
- 18. local_date_time 수학을 잘못 입력 했습니까?
- 19. mod_rewrite가 수학을 할 수 있습니까?
- 20. 처음부터 수학을 배울 수 있습니까?
- 21. Gmail에 수학을 삽입하는 Greasemonkey 스크립트
- 22. NSUserDefaults에 수학을 수행하고 저장 재 -
- 23. 부스트 수학을 사용하는 컴파일 문제
- 24. DataGridview에서 객체에 액세스
- 25. DataGridview에서 C#
- 26. DataGridView에서 셀 위치를 확인하십시오.
- 27. 간단한 배송 및 계산 계산을 수행하는 JavaScript에서
- 28. Java에서 SURBL 검색을 수행하는 간단한 방법은 무엇입니까?
- 29. Android에서 Java에서 파싱을 수행하는 간단한 방법이 있습니까?
- 30. 이 작업을 수행하는 더 간단한 방법이 있습니까?
일반적인 팁 : 데이터 저장소로 DataGridView를 사용하지 마십시오. 테이블 또는 목록에 바인딩하십시오. –