Visual Basic 6.0 사용자를 위한 DataGrid 컨트롤
업데이트: 2007년 11월
Visual Basic 6.0의 DataGrid 컨트롤은 Visual Basic 2008에서 Windows Forms DataGridView 컨트롤로 대체되었습니다. 일부 속성, 메서드, 이벤트 및 상수의 이름이 다르고 경우에 따라서는 동작도 다릅니다.
개념적 차이
데이터 바인딩
Visual Basic 2008DataGridView 컨트롤을 사용할 때는 모든 동작이 데이터 소스를 통해 수행되므로 데이터 관련 메서드나 이벤트가 필요 없습니다. 이와 같이 프레젠테이션 기능과 데이터 기능이 분리되어 있기 때문에 사용자 인터페이스 입력을 사용하는지에 관계없이 데이터 소스를 변경할 수 있습니다. 또한 동일한 데이터 소스에 바인딩된 여러 컨트롤이 항상 동기화 상태를 유지합니다.
탐색
TabAction, EnterAction, AllowArrows, WrapCellPointer 및 Scrollable 등과 같이 DataGrid 컨트롤에서 보고 탐색하기 위한 속성은 더 이상 필요 없습니다. 예를 들어, 모눈은 Scrollable 속성을 True로 설정한 것처럼 동작하므로 데이터가 많아 모두 표시되지 않는 경우 자동으로 스크롤 막대가 나타납니다. 기본적으로 Excel과 같은 방식으로 모눈을 탐색할 수 있기 때문에 Tab 키를 사용하여 앞으로 이동하거나 Shift+Tab 키를 사용하여 뒤로 이동할 수 있습니다. 자세한 내용은 Windows Forms DataGridView 컨트롤에서의 기본 키보드 및 마우스 처리를 참조하십시오.
Caption 속성
Visual Basic 6.0에서는 Caption 속성을 사용하여 표 위에 제목 표시줄을 표시할 수 있습니다. Caption 속성이 비어 있으면 제목 표시줄이 표시되지 않습니다.
Visual Basic 2008DataGridView 컨트롤에서 제목 표시줄을 지원하지 않지만, Label 컨트롤을 사용하여 같은 효과를 얻을 수 있습니다.
데이터 형식 지정
Visual Basic 6.0에서는 DataFormat 속성과 StdDataFormat 개체를 사용하여 DataGrid 컨트롤의 데이터 형식 지정을 처리합니다. 형식 지정은 열 단위로 적용됩니다.
Visual Basic 2008DataGridView 컨트롤에서는 DataGridViewCellStyle 개체의 Format 속성을 사용하여 형식을 지정합니다. 형식 지정은 개별 셀, 열 또는 행에 적용할 수 있습니다. 자세한 내용은 Windows Forms DataGridView 컨트롤의 데이터 형식 지정을 참조하십시오.
hWndEditor 속성
Visual Basic 6.0에서는 hWndEditor 속성을 사용하여 DataGrid 컨트롤의 편집 창에 할당된 창 핸들을 Windows API 호출로 전달합니다.
Visual Basic 2008DataGridView 컨트롤에 편집 모드일 때 별도의 창 핸들이 없으므로 대신 DataGridView 컨트롤의 Handle 속성이나 포함된 편집 컨트롤을 사용합니다.
MarqueeStyle 속성
Visual Basic 6.0에서는 MarqueeStyle 속성으로 테두리 스타일을 변경하거나, 전경색과 배경색을 바꾸거나, 편집 창을 호출함으로써 선택된 셀이나 행의 모양을 제어합니다.
Visual Basic 2008DataGridView 컨트롤에 직접 해당하는 요소가 없습니다. 하지만 SelectionMode, CellBorderStyle 및 Format 속성을 함께 사용하여 같은 효과를 얻을 수 있습니다. 자세한 내용은 Windows Forms DataGridView 컨트롤의 선택 모드를 참조하십시오.
SelLength, SelStart, SelText 속성
Visual Basic 6.0 DataGrid 컨트롤의 경우 셀이 편집 모드에 들어가면 SelLength, SelStart 및 SelText 속성을 사용하여 캐럿의 처음 위치를 설정하거나 셀에서 텍스트 부분을 강조 표시할 수 있습니다.
Visual Basic 2008DataGridView 컨트롤에는 이러한 속성이 더 이상 존재하지 않습니다. DataGridView 컨트롤의 셀은 TextBox 컨트롤을 기반으로 합니다. 즉, EditingControlShowing 이벤트 처리기에 코드를 추가하여 기본 컨트롤의 SelectionLength, SelectionStart 및 SelectedText 속성에 액세스할 수 있습니다.
분할된 뷰
Visual Basic 6.0의 DataGrid 컨트롤은 분할된 뷰를 지원하므로 사용자는 같은 데이터를 나란히 표시할 수 있습니다. Split 개체, Split, Splits 및 TabAcrossSplits 속성을 통해 분할된 뷰의 표시를 제어합니다.
Visual Basic 2008DataGridView 컨트롤에는 이러한 속성이 더 이상 존재하지 않습니다. 하지만 하나 이상의 SplitContainer 컨트롤과 여러 DataGridView 컨트롤을 사용하여 같은 효과를 얻을 수 있습니다. DataGridView 컨트롤의 StandardTab 속성을 사용하면 TabAcrossSplits 속성과 동일한 기능을 사용할 수 있습니다.
DataGrid 컨트롤에 대한 코드 변경
다음 코드에서는 사용자가 DataGridView 컨트롤에서 셀을 선택할 때 각 버전에서 셀의 텍스트를 강조 표시하는 방법을 보여 줌으로써 Visual Basic 6.0과 Visual Basic 2008 간의 차이점을 보여 줍니다.
' Visual Basic 6.0
Private Sub DataGrid1_Click()
DataGrid1.SelStart = 1
DataGrid1.SelLength = DataGrid1.Text
MsgBox("The selected text is " & DataGrid1.SelText)
End Sub
' Visual Basic
Private Sub DataGridView1_EditingControlShowing( _
ByVal sender As Object, ByVal e As System.Windows.Forms. _
DataGridViewEditingControlShowingEventArgs) _
Handles DataGridView1.EditingControlShowing
CType(e.Control, TextBox).SelectionStart = 0
CType(e.Control, TextBox).SelectionLength = Len(CType(e.Control, _
TextBox).Text)
MsgBox("The selected text is " & CType(e.Control, _
TextBox).SelectedText)
End Sub
DataGrid 컨트롤 속성, 메서드 및 이벤트
다음 표에서는 Visual Basic 6.0 속성, 메서드, 이벤트 및 이에 해당하는 Visual Basic 2008 요소를 보여 줍니다. 이름과 동작이 같은 속성, 메서드 및 이벤트는 나열되지 않습니다. 다른 설명이 없는 한 모든 Visual Basic 2008 열거형은 System.Windows.Forms 네임스페이스로 매핑됩니다.
이 표에서는 동작의 차이점을 설명하는 항목에 대한 링크를 제공합니다. 직접 해당하는 요소가 Visual Basic 2008에 없는 경우에는 다른 방법을 제시하는 항목에 대한 링크를 제공합니다.
속성
Visual Basic 6.0 |
동일한 기능의 Visual Basic 2005 요소 |
||
---|---|---|---|
AddNewMode |
새롭게 구현되었습니다. 데이터 작업은 데이터 소스에서 처리됩니다. 자세한 내용은 Windows Forms DataGridView 컨트롤에서 데이터 표시를 참조하십시오. |
||
Align |
|||
AllowAddNew |
AllowNew (BindingSource) |
||
AllowArrows |
이 속성은 더 이상 조정할 수 없으며, 언제든지 화살표를 사용하여 탐색할 수 있습니다. 자세한 내용은 Windows Forms DataGridView 컨트롤에서의 기본 키보드 및 마우스 처리를 참조하십시오. |
||
AllowDelete |
AllowRemove (BindingSource) |
||
AllowRowSizing |
|||
AllowUpdate |
AllowEdit (BindingSource) |
||
Appearance |
새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 Appearance 및 BorderStyle 속성을 참조하십시오. |
||
ApproxCount |
새롭게 구현되었습니다. 데이터 작업은 데이터 소스에서 처리됩니다. 자세한 내용은 Windows Forms DataGridView 컨트롤에서 데이터 표시를 참조하십시오. |
||
BackColor |
|
||
Bookmark |
새롭게 구현되었습니다. 이제 모든 항목에 직접 액세스할 수 있습니다. |
||
Caption |
새롭게 구현되었습니다. Label 컨트롤을 사용하여 제목 표시줄을 시뮬레이션할 수 있습니다. |
||
Col |
|||
ColumnHeaders |
|||
Container |
Control에서 상속된 Parent |
||
CurrentCellModified |
|||
CurrentCellVisible |
|
||
DataChanged |
|||
DataFormats |
DataGridViewCellStyle.object.
|
||
DefColWidth |
WidthDataGridViewColumn 개체 |
||
DragIcon DragMode |
새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 끌어서 놓기를 참조하십시오. |
||
EditActive |
|||
FirstRow |
|||
Font FontBold FontItalic FontName FontSize FontStrikethrough FontUnderline |
|
||
ForeColor |
|
||
HeadFont |
|
||
HeadLines |
해당 요소가 없습니다. DataGridViewCellStyle 개체의 WrapMode 속성을 ColumnHeadersHeight와 함께 사용합니다. |
||
Height |
Control 클래스에서 상속된 Height
|
||
HelpContextID |
새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 도움말 지원을 참조하십시오. |
||
hWnd |
|||
hWndEditor |
새롭게 구현되었습니다. Handle을 사용합니다. |
||
Index |
새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 컨트롤 배열을 참조하십시오. |
||
Left |
Control 클래스에서 상속된 Left
|
||
LeftCol |
|||
MarqueeStyle |
해당 요소가 없습니다. SelectionMode, CellBorderStyle 및 Format 속성을 사용하십시오. |
||
RecordSelectors |
|||
Row |
|||
RowDividerStyle |
GridColor, CellBorderStyle, RowHeadersBorderStyle, ColumnHeadersBorderStyle 속성 |
||
RowHeight |
|||
SelBookmarks |
새롭게 구현되었습니다. 이제 모든 항목에 직접 액세스할 수 있습니다. |
||
SelEndCol SelStartCol |
|||
SelLength |
해당 요소가 없습니다. EditingControlShowing 이벤트 처리기에서 SelectionLength 속성을 사용하십시오. |
||
SelStart |
해당 요소가 없습니다. EditingControlShowing 이벤트 처리기에서 SelectionStart 속성을 사용하십시오. |
||
SelText |
해당 요소가 없습니다. EditingControlShowing 이벤트 처리기에서 SelectedText 속성을 사용하십시오. |
||
Split Splits TabAcrossSplits |
새롭게 구현되었습니다. 분할된 뷰를 직접 지원하지 않습니다. SplitContainer 컨트롤을 사용하십시오. |
||
TabAction |
|||
Tag |
새롭게 구현되었습니다. |
||
Text |
CurrentCell.Value
|
||
ToolTipText |
ToolTip 구성 요소 자세한 내용은 Visual Basic 6.0 사용자를 위한 도구 설명 지원을 참조하십시오. |
||
Top |
|
||
VisibleCols |
DisplayedColumnCount 메서드
|
||
VisibleRows |
DisplayedRowCount 메서드
|
||
WhatsThisHelpID |
새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 도움말 지원을 참조하십시오. |
||
Width |
Control 클래스에서 상속된 Width
|
||
WrapCellPointer |
이 속성은 더 이상 조정할 수 없으며, WrapCellPointer = True가 기본 동작입니다. |
메서드
Visual Basic 6.0 |
동일한 기능의 Visual Basic 2005 요소 |
||
---|---|---|---|
CaptureImage |
새롭게 구현되었습니다. DataGridView 컨트롤의 내용을 PictureBox 컨트롤로 캡처하는 작업은 지원되지 않습니다. |
||
ClearFields |
새롭게 구현되었습니다. 열 형식 지정은 다시 바인딩할 때 자동으로 수행됩니다. |
||
ClearSelCols |
|||
ColContaining |
IndexOf (DataGridViewColumnCollection) |
||
Drag |
새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 끌어서 놓기를 참조하십시오. |
||
GetBookmark |
새롭게 구현되었습니다. 책갈피는 더 이상 지원되지 않습니다. |
||
HoldFields |
새롭게 구현되었습니다. 열 형식 지정은 다시 바인딩할 때 그대로 유지됩니다. |
||
Move |
Control 클래스에서 상속된 SetBounds
|
||
Rebind |
Control 클래스에서 상속된 ResetBindings |
||
RowBookmark |
새롭게 구현되었습니다. 책갈피는 더 이상 지원되지 않습니다. |
||
RowContaining |
IndexOf (DataGridViewColumnCollection) |
||
RowTop |
GetContentBounds (DataGridViewCell) |
||
Scroll |
새로운 구현 메서드입니다. CurrentCell 속성을 사용하십시오. |
||
SetFocus |
|||
ShowWhatsThis |
새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 도움말 지원을 참조하십시오. |
||
SplitContaining |
새롭게 구현되었습니다. 분할된 뷰를 직접 지원하지 않습니다. SplitContainer 컨트롤을 사용하십시오. |
||
ZOrder |
BringToFront() 또는 SendToBack() 함수 |
이벤트
Visual Basic 6.0 |
동일한 기능의 Visual Basic 2005 요소 |
||
---|---|---|---|
AfterColEdit |
|||
AfterColUpdate AfterDelete |
새롭게 구현되었습니다. 데이터 작업은 데이터 소스에서 처리됩니다. 자세한 내용은 Windows Forms DataGridView 컨트롤에서 데이터 표시를 참조하십시오. |
||
AfterUpdate |
|||
BeforeColEdit |
|||
BeforeColUpdate BeforeDelete BeforeInsert BeforeUpdate |
새롭게 구현되었습니다. 데이터 작업은 데이터 소스에서 처리됩니다. 자세한 내용은 Windows Forms DataGridView 컨트롤에서 데이터 표시를 참조하십시오. |
||
ButtonClick |
Click(Button 컨트롤) |
||
Change |
|
||
Click |
|||
ColEdit |
|||
ColResize |
|||
DblClick |
|||
DragDrop DragOver |
새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 끌어서 놓기를 참조하십시오. |
||
Error |
|||
HeadClick |
|||
MouseDown |
|||
MouseMove |
|||
MouseUp |
|||
OLECompleteDrag OLEDragDrop OLEDragOver OLEGiveFeedback OLESetData OLEStartDrag |
새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 끌어서 놓기를 참조하십시오. |
||
OnAddNew |
|||
RowColChange |
|||
RowResize |
|||
SelChange |
|||
SplitChange |
새롭게 구현되었습니다. 분할된 뷰를 직접 지원하지 않습니다. SplitContainer 컨트롤을 사용하십시오. |
||
Validate |
업그레이드 참고 사항
Visual Basic 6.0 프로젝트를 Visual Basic 2008로 업그레이드하면 DataGrid 컨트롤의 Change 이벤트가 Visual Basic 2008DataGridView 컨트롤의 TextChanged 이벤트로 매핑됩니다. 그러나 TextChanged 이벤트의 동작은 Change 이벤트의 동작과 다릅니다. 따라서 이러한 차이로 인해 코드에서 예상치 못한 결과가 발생할 수 있습니다.
데이터 고유의 메서드나 이벤트와 관련된 모든 코드는 업그레이드되지 않습니다. 이러한 코드에는 경고 주석이 추가되므로 응용 프로그램을 컴파일하기 전에 제거하거나 수정해야 합니다.
참고 항목
개념
DataGridView 컨트롤 기술 요약(Windows Forms)
.NET Framework 2.0용 Windows Forms에 추가되는 항목
참조
DataGridView 컨트롤 개요(Windows Forms)
여러 언어 및 라이브러리에서 사용되는 컨트롤 및 프로그래밍 가능한 개체 비교
기타 리소스
DataGridView 컨트롤(Windows Forms)