DataGridView활용 본문

[PL]/VB & VB.NET

DataGridView활용

객과 함께. 2010. 9. 15. 20:53

1.  다음은 CompanyName 필드의 너무 긴 텍스트 항목을 확인하는 예제입니다. 문제가 되는 값을 발견하면 문제가 설명된 도구 설명 텍스트와 함께 오류 그림(빨강 느낌표 표시)이 셀에 추가됩니다.


Private Sub DataGridView1_CellValidating(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellValidatingEventArgs) Handles DataGridView1.CellValidating
         
              If DataGridView1.Columns(e.ColumnIndex).Name = "CompanyName" Then
                  If CType(e.FormattedValue, String).Length > 50 Then
                      DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex).ErrorText =  "회사 이름이 너무 깁니다."
                  End If
              End If
End Sub

'===============================================================================

2.  다음은 특정 고객을 확인하여 그에 따라 셀을 플래그하는 예제입니다.

Private Sub DataGridView1_CellFormatting(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles DataGridView1.CellFormatting          
              ' 맞는 열인지 확인합니다.
              If DataGridView1.Columns(e.ColumnIndex).Name = "CustomerID" Then
                  ' 맞는 값인지 확인합니다.
                  If e.Value = "ALFKI" Then
                      e.CellStyle.ForeColor = Color.Red
                      e.CellStyle.BackColor = Color.Yellow
                  End If
              End If
End Sub

 

'=====================================================================================

3.  코드 상에서 데이터 그리드의 Row증가시키면 값쓰기

DataGridView2.Rows.Add(cnt + 1)

If TxtBox1(i).Text <> "" Then
            DataGridView2.Rows(i).Cells(0).Value = Lab0.Text
            DataGridView2.Rows(i).Cells(1).Value = TxtBox1.Text & " %"
            DataGridView2.Rows(i).Cells(2).Value = TxtBox2.Text & " g"    
            i = i + 1                                                                                

end if

  위 와 같이 if문만 70개 정도 되는데  텍스트 박스 배열을 쓸수가 없어서 무식하게 하나하나  대입 하는 식으로 했고  데이터그리드뷰에서 cnt + 1 만큼 추가 하여  셀에 데이터 값을 쓰고 있다.   그리고  ① , ② 번 내용은 blog.daum.net/romen2 에서 발췌 하였음을 알림니다.