다음을 통해 공유


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, CellBorderStyleFormat 속성을 함께 사용하여 같은 효과를 얻을 수 있습니다. 자세한 내용은 Windows Forms DataGridView 컨트롤의 선택 모드를 참조하십시오.

SelLength, SelStart, SelText 속성

Visual Basic 6.0 DataGrid 컨트롤의 경우 셀이 편집 모드에 들어가면 SelLength, SelStart 및 SelText 속성을 사용하여 캐럿의 처음 위치를 설정하거나 셀에서 텍스트 부분을 강조 표시할 수 있습니다.

Visual Basic 2008DataGridView 컨트롤에는 이러한 속성이 더 이상 존재하지 않습니다. DataGridView 컨트롤의 셀은 TextBox 컨트롤을 기반으로 합니다. 즉, EditingControlShowing 이벤트 처리기에 코드를 추가하여 기본 컨트롤의 SelectionLength, SelectionStartSelectedText 속성에 액세스할 수 있습니다.

분할된 뷰

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

DockAnchor

AllowAddNew

AllowNew (BindingSource)

AllowArrows

이 속성은 더 이상 조정할 수 없으며, 언제든지 화살표를 사용하여 탐색할 수 있습니다. 자세한 내용은 Windows Forms DataGridView 컨트롤에서의 기본 키보드 및 마우스 처리를 참조하십시오.

AllowDelete

AllowRemove (BindingSource)

AllowRowSizing

AllowUserToResizeRows

AllowUpdate

AllowEdit (BindingSource)

Appearance

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 Appearance 및 BorderStyle 속성을 참조하십시오.

ApproxCount

새롭게 구현되었습니다. 데이터 작업은 데이터 소스에서 처리됩니다. 자세한 내용은 Windows Forms DataGridView 컨트롤에서 데이터 표시를 참조하십시오.

BackColor

BackgroundColor

참고:

Visual Basic 2008에서는 색이 다르게 처리됩니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 색 동작을 참조하십시오.

Bookmark

새롭게 구현되었습니다. 이제 모든 항목에 직접 액세스할 수 있습니다.

Caption

새롭게 구현되었습니다. Label 컨트롤을 사용하여 제목 표시줄을 시뮬레이션할 수 있습니다.

Col

SelectedColumns

ColumnHeaders

ColumnHeadersVisible

Container

Control에서 상속된 Parent

CurrentCellModified

IsCurrentCellDirty, IsCurrentCellInEditMode

CurrentCellVisible

CurrentCell

참고:

CurrentCell 속성을 보이지 않는 셀로 설정하면 CurrentCellVisible = True로 설정할 때와 마찬가지로 해당 셀이 보이는 위치로 모눈이 스크롤됩니다.

DataChanged

IsCurrentCellDirty, IsCurrentRowDirty

DataFormats

DataGridViewCellStyle.object.

참고:

형식 지정은 개별 셀, 열 또는 행에 대해 설정할 수 있습니다.

DefColWidth

WidthDataGridViewColumn 개체

DragIcon

DragMode

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 끌어서 놓기를 참조하십시오.

EditActive

IsCurrentCellInEditMode

FirstRow

FirstDisplayedScrollingRowIndex

Font

FontBold

FontItalic

FontName

FontSize

FontStrikethrough

FontUnderline

Font

참고:

Visual Basic 2008에서는 글꼴이 다르게 처리됩니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 글꼴 처리를 참조하십시오.

ForeColor

ForeColor

참고:

Visual Basic 2008에서는 색이 다르게 처리됩니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 색 동작을 참조하십시오.

HeadFont

DataGridViewCellStyle 개체

참고:

Visual Basic 2008에서는 글꼴이 다르게 처리됩니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 Font 개체를 참조하십시오.

HeadLines

해당 요소가 없습니다. DataGridViewCellStyle 개체의 WrapMode 속성을 ColumnHeadersHeight와 함께 사용합니다.

Height

Control 클래스에서 상속된 Height

참고:

Visual Basic 2008에서는 좌표가 다르게 처리됩니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 좌표계를 참조하십시오.

HelpContextID

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 도움말 지원을 참조하십시오.

hWnd

Handle

hWndEditor

새롭게 구현되었습니다. Handle을 사용합니다.

Index

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 컨트롤 배열을 참조하십시오.

Left

Control 클래스에서 상속된 Left

참고:

Visual Basic 2008에서는 좌표가 다르게 처리됩니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 좌표계를 참조하십시오.

LeftCol

FirstDisplayedScrollingColumnIndex

MarqueeStyle

해당 요소가 없습니다. SelectionMode, CellBorderStyleFormat 속성을 사용하십시오.

RecordSelectors

RowHeadersVisible

Row

SelectedRows

RowDividerStyle

GridColor, CellBorderStyle, RowHeadersBorderStyle, ColumnHeadersBorderStyle 속성

RowHeight

Height

SelBookmarks

새롭게 구현되었습니다. 이제 모든 항목에 직접 액세스할 수 있습니다.

SelEndCol

SelStartCol

SelectedCells, SelectedColumns

SelLength

해당 요소가 없습니다. EditingControlShowing 이벤트 처리기에서 SelectionLength 속성을 사용하십시오.

SelStart

해당 요소가 없습니다. EditingControlShowing 이벤트 처리기에서 SelectionStart 속성을 사용하십시오.

SelText

해당 요소가 없습니다. EditingControlShowing 이벤트 처리기에서 SelectedText 속성을 사용하십시오.

Split

Splits

TabAcrossSplits

새롭게 구현되었습니다. 분할된 뷰를 직접 지원하지 않습니다. SplitContainer 컨트롤을 사용하십시오.

TabAction

StandardTab

Tag

새롭게 구현되었습니다.

Text

CurrentCell.Value

참고:

Value 속성은 Object를 반환합니다. CStr 또는 ToString을 사용하여 String으로 변환합니다.

ToolTipText

ToolTip 구성 요소

자세한 내용은 Visual Basic 6.0 사용자를 위한 도구 설명 지원을 참조하십시오.

Top

Top

참고:

Visual Basic 2008에서는 좌표가 다르게 처리됩니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 좌표계를 참조하십시오.

VisibleCols

DisplayedColumnCount 메서드

참고:

Visual Basic 6.0에서는 부분적으로 표시되는 열이 항상 카운트에 포함됩니다. DisplayedColumnCount 메서드를 사용하면 부울 includePartialColumns 매개 변수를 사용하여 부분적으로 표시되는 열의 포함 여부를 결정할 수 있습니다.

VisibleRows

DisplayedRowCount 메서드

참고:

Visual Basic 6.0에서는 부분적으로 표시되는 행이 항상 카운트에 포함됩니다. DisplayedRowCount 메서드를 사용하면 부울 includePartialRows 매개 변수를 사용하여 부분적으로 표시되는 행의 포함 여부를 결정할 수 있습니다.

WhatsThisHelpID

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 도움말 지원을 참조하십시오.

Width

Control 클래스에서 상속된 Width

참고:

Visual Basic 2008에서는 좌표가 다르게 처리됩니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 좌표계를 참조하십시오.

WrapCellPointer

이 속성은 더 이상 조정할 수 없으며, WrapCellPointer = True가 기본 동작입니다.

메서드

Visual Basic 6.0

동일한 기능의 Visual Basic 2005 요소

CaptureImage

새롭게 구현되었습니다. DataGridView 컨트롤의 내용을 PictureBox 컨트롤로 캡처하는 작업은 지원되지 않습니다.

ClearFields

새롭게 구현되었습니다. 열 형식 지정은 다시 바인딩할 때 자동으로 수행됩니다.

ClearSelCols

ClearSelection

ColContaining

IndexOf (DataGridViewColumnCollection)

Drag

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 끌어서 놓기를 참조하십시오.

GetBookmark

새롭게 구현되었습니다. 책갈피는 더 이상 지원되지 않습니다.

HoldFields

새롭게 구현되었습니다. 열 형식 지정은 다시 바인딩할 때 그대로 유지됩니다.

Move

Control 클래스에서 상속된 SetBounds

참고:

Visual Basic 2008에서는 좌표가 다르게 처리됩니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 좌표계를 참조하십시오.

Rebind

Control 클래스에서 상속된 ResetBindings

RowBookmark

새롭게 구현되었습니다. 책갈피는 더 이상 지원되지 않습니다.

RowContaining

IndexOf (DataGridViewColumnCollection)

RowTop

GetContentBounds (DataGridViewCell)

Scroll

새로운 구현 메서드입니다. CurrentCell 속성을 사용하십시오.

SetFocus

Focus

ShowWhatsThis

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 도움말 지원을 참조하십시오.

SplitContaining

새롭게 구현되었습니다. 분할된 뷰를 직접 지원하지 않습니다. SplitContainer 컨트롤을 사용하십시오.

ZOrder

BringToFront() 또는 SendToBack() 함수

이벤트

Visual Basic 6.0

동일한 기능의 Visual Basic 2005 요소

AfterColEdit

CellEndEdit

AfterColUpdate

AfterDelete

새롭게 구현되었습니다. 데이터 작업은 데이터 소스에서 처리됩니다. 자세한 내용은 Windows Forms DataGridView 컨트롤에서 데이터 표시를 참조하십시오.

AfterUpdate

RowsAdded

BeforeColEdit

CellBeginEdit

BeforeColUpdate

BeforeDelete

BeforeInsert

BeforeUpdate

새롭게 구현되었습니다. 데이터 작업은 데이터 소스에서 처리됩니다. 자세한 내용은 Windows Forms DataGridView 컨트롤에서 데이터 표시를 참조하십시오.

ButtonClick

Click(Button 컨트롤)

Change

TextChanged

참고:

TextChanged 이벤트의 동작은 약간 다릅니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 ComboBox 컨트롤 변경 이벤트를 참조하십시오.

Click

SelectedIndexChanged

ColEdit

CellBeginEdit

ColResize

ColumnWidthChanged

DblClick

CellMouseDoubleClick

DragDrop

DragOver

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 끌어서 놓기를 참조하십시오.

Error

DataError

HeadClick

ColumnHeaderMouseClick

MouseDown

CellMouseDown

MouseMove

CellMouseMove

MouseUp

CellMouseUp

OLECompleteDrag

OLEDragDrop

OLEDragOver

OLEGiveFeedback

OLESetData

OLEStartDrag

새롭게 구현되었습니다. 자세한 내용은 Visual Basic 6.0 사용자를 위한 끌어서 놓기를 참조하십시오.

OnAddNew

RowsAdded

RowColChange

CurrentCellChanged

RowResize

RowHeightChanged

SelChange

SelectionChanged

SplitChange

새롭게 구현되었습니다. 분할된 뷰를 직접 지원하지 않습니다. SplitContainer 컨트롤을 사용하십시오.

Validate

Validating

업그레이드 참고 사항

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)

Visual Basic 6.0 사용자를 위한 Windows Forms 컨트롤

Windows Forms 데이터 바인딩