DataGrid コントロール (Visual Basic 6.0 ユーザー向け)
更新 : 2007 年 11 月
Visual Basic 2008 では、Visual Basic 6.0 の DataGrid コントロールは Windows フォームの DataGridView コントロールに置き換えられています。プロパティ、メソッド、イベント、および定数の中には、名称が異なるものや、動作の異なるものもあります。
概念上の相違点
データ連結
Visual Basic 2008 の DataGridView コントロールは、すべての動作がデータ ソース経由で行われるため、データ固有のメソッドやイベントを必要としません。このようにデータを表示形式から分離することで、ユーザー インターフェイスの入力の有無にかかわらず、データ ソースを変更できます。また、同じデータ ソースに連結された複数のコントロールは、常に同期しています。
移動
DataGrid コントロール内での表示や移動のためのプロパティ (TabAction、EnterAction、AllowArrows、WrapCellPointer、Scrollable など) は不要になりました。たとえば、グリッドは Scrollable プロパティが True に設定されているときと同様に機能し、表示できる以上のデータが存在する場合は、スクロール バーが自動的に表示されます。既定では、グリッド内の移動は Excel と同様の形式になります。Tab キーを押すと前方へ移動し、Shift キーを押しながら Tab キーを押すと後方へ移動できます。詳細については、「Windows フォーム DataGridView コントロールの既定のキーボード処理とマウス処理」を参照してください。
Caption プロパティ
Visual Basic 6.0 では、Caption プロパティを使用して、グリッドの上にタイトル バーを表示します。Caption プロパティを設定しない場合は、タイトル バーが表示されません。
Visual Basic 2008 の DataGridView コントロールは、タイトル バーをサポートしていません。ただし、Label コントロールを使用して同じ効果を実現できます。
データの書式設定
Visual Basic 6.0 では、DataGrid コントロール内のデータの書式設定は、DataFormat プロパティと StdDataFormat オブジェクトを使用して行います。書式設定は、列単位に適用されます。
Visual Basic 2008 の DataGridView コントロールでは、DataGridViewCellStyle オブジェクトの Format プロパティを使用して、書式設定が行われます。書式設定は、セル単位、列単位、または行単位で適用できます。詳細については、「Windows フォーム DataGridView コントロールでのデータの書式設定」を参照してください。
hWndEditor プロパティ
Visual Basic 6.0 では、hWndEditor プロパティを使用して、DataGrid コントロールの編集ウィンドウに割り当てられたウィンドウ ハンドルを、Windows API の呼び出しに渡します。
Visual Basic 2008 の DataGridView コントロールには、編集モードのときに個別のウィンドウ ハンドルが割り当てられません。DataGridView コントロールの Handle プロパティを使用するか、埋め込みのエディット コントロールを使用します。
MarqueeStyle プロパティ
Visual Basic 6.0 では、MarqueeStyle プロパティを使用して、選択したセルまたは行の境界線スタイルを変更したり、前景色と背景色を反転したり、編集ウィンドウを起動したりすることにより、その外観を制御します。
Visual Basic 2008 には、DataGridView コントロールに直接対応する項目はありません。しかし、SelectionMode、CellBorderStyle、および Format の各プロパティを組み合わせることによって同じ効果を実現できます。詳細については、「Windows フォーム DataGridView コントロールの選択モード」を参照してください。
SelLength プロパティ、SelStart プロパティ、SelText プロパティ
Visual Basic 6.0 の DataGrid コントロールでは、セルが編集モードになったときに、SelLength、SelStart、および SelText の各プロパティを使用して、キャレット (^) の最初の位置を設定したり、セル内でテキストの一部を強調表示したりできます。
Visual Basic 2008 の DataGridView コントロールでは、これらのプロパティは使用されなくなりました。DataGridView コントロール内のセルは、TextBox コントロールを基準としています。EditingControlShowing イベント ハンドラにコードを追加することにより、基底のコントロールの SelectionLength、SelectionStart、および SelectedText の各プロパティにアクセスできます。
分割ビュー
Visual Basic 6.0 の DataGrid コントロールは、分割ビューをサポートするため、同じデータを並べて表示できます。Split オブジェクト、Split プロパティ、 Splits プロパティ、および TabAcrossSplits プロパティによって、分割ビューを表示できるかどうかを制御しています。
Visual Basic 2008 の DataGridView では、これらのプロパティは使用されなくなりました。ただし、1 つ以上の SplitContainer コントロールと複数の DataGridView コントロールを使用して、同じ効果を実現できます。TabAcrossSplits プロパティの機能を複製するには、DataGridView コントロールの StandardTab プロパティを使用します。
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 フォーム DataGridView コントロールでのデータの表示」を参照してください。 |
Align |
|
AllowAddNew |
AllowNew (BindingSource) |
AllowArrows |
調整可能なプロパティではなくなりました。方向キーによる移動は常に可能です。詳細については、「Windows フォーム DataGridView コントロールの既定のキーボード処理とマウス処理」を参照してください。 |
AllowDelete |
AllowRemove (BindingSource) |
AllowRowSizing |
|
AllowUpdate |
AllowEdit (BindingSource) |
Appearance |
新規に実装されました。詳細については、「Appearance プロパティおよび BorderStyle プロパティ (Visual Basic 6.0 ユーザー向け)」を参照してください。 |
ApproxCount |
新規に実装されました。データの操作はデータ ソースで処理されます。詳細については、「Windows フォーム DataGridView コントロールでのデータの表示」を参照してください。 |
BackColor |
メモ :
Visual Basic 2008 では、色は別の方法で処理されます。詳細については、「色の動作 (Visual Basic 6.0 ユーザー向け)」を参照してください。
|
Bookmark |
新規に実装されました。すべての項目に直接アクセスできます。 |
Caption |
新規に実装されました。タイトル バーをシミュレートするには、Label コントロールを使用します。 |
Col |
|
ColumnHeaders |
|
Container |
Parent。Control からの継承メンバです。 |
CurrentCellModified |
|
CurrentCellVisible |
メモ :
画面上に見えていないセルに CurrentCell プロパティが設定されている場合は、グリッドがスクロールしてそのセルを表示します (CurrentCellVisible を True に設定した場合と同じ)。
|
DataChanged |
|
DataFormats |
DataGridViewCellStyle オブジェクト。
メモ :
書式はセル単位、列単位、または行単位で設定できます。
|
DefColWidth |
WidthDataGridViewColumn オブジェクト。 |
DragIcon DragMode |
新規に実装されました。詳細については、「ドラッグ アンド ドロップ (Visual Basic 6.0 ユーザー向け)」を参照してください。 |
EditActive |
|
FirstRow |
|
Font FontBold FontItalic FontName FontSize FontStrikethrough FontUnderline |
メモ :
Visual Basic 2008 では、フォントは別の方法で処理されます。詳細については、「フォント処理 (Visual Basic 6.0 ユーザー向け)」を参照してください。
|
ForeColor |
メモ :
Visual Basic 2008 では、色は別の方法で処理されます。詳細については、「Color 動作 (Visual Basic 6.0 ユーザー向け)」を参照してください。
|
HeadFont |
DataGridViewCellStyle オブジェクト。
メモ :
Visual Basic 2008 では、フォントは別の方法で処理されます。詳細については、「フォント オブジェクト (Visual Basic 6.0 ユーザー向け)」を参照してください。
|
HeadLines |
直接対応する項目はありません。DataGridViewCellStyle オブジェクトの WrapMode プロパティを ColumnHeadersHeight と組み合わせて使用します。 |
Height |
Height。Control クラスからの継承メンバです。
メモ :
Visual Basic 2008 では、座標は別の方法で処理されます。詳細については、「座標系 (Visual Basic 6.0 ユーザー向け)」を参照してください。
|
HelpContextID |
新規に実装されました。詳細については、「ヘルプ サポート (Visual Basic 6.0 ユーザー向け)」を参照してください。 |
hWnd |
|
hWndEditor |
新規に実装されました。Handle を使用します。 |
Index |
新規に実装されました。詳細については、「コントロール配列 (Visual Basic 6.0 ユーザー向け)」を参照してください。 |
Left |
Left。Control クラスからの継承メンバです。
メモ :
Visual Basic 2008 では、座標は別の方法で処理されます。詳細については、「座標系 (Visual Basic 6.0 ユーザー向け)」を参照してください。
|
LeftCol |
|
MarqueeStyle |
直接対応する項目はありません。SelectionMode、CellBorderStyle、および Format の各プロパティを使用します。 |
RecordSelectors |
|
Row |
|
RowDividerStyle |
GridColor、CellBorderStyle、RowHeadersBorderStyle、ColumnHeadersBorderStyle の各プロパティ。 |
RowHeight |
|
SelBookmarks |
新規に実装されました。すべての項目に直接アクセスできます。 |
SelEndCol SelStartCol |
|
SelLength |
直接対応する項目はありません。SelectionLength プロパティを EditingControlShowing イベント ハンドラで使用します。 |
SelStart |
直接対応する項目はありません。SelectionStart プロパティを EditingControlShowing イベント ハンドラで使用します。 |
SelText |
直接対応する項目はありません。SelectedText プロパティを EditingControlShowing イベント ハンドラで使用します。 |
Split Splits TabAcrossSplits |
新規に実装されました。分割ビューは直接サポートされていません。SplitContainer コントロールを使用します。 |
TabAction |
|
Tag |
新規に実装されました。 |
Text |
CurrentCell.Value
メモ :
Value プロパティは Object を返します。これを String に変換するには、CStr または ToString を使用します。
|
ToolTipText |
ToolTip コンポーネント 詳細については、「ツールヒントのサポート (Visual Basic 6.0 ユーザー向け)」を参照してください。 |
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 |
Width。Control クラスからの継承メンバです。
メモ :
Visual Basic 2008 では、座標は別の方法で処理されます。詳細については、「座標系 (Visual Basic 6.0 ユーザー向け)」を参照してください。
|
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 |
SetBounds。Control クラスからの継承メンバです。
メモ :
Visual Basic 2008 では、座標は別の方法で処理されます。詳細については、「座標系 (Visual Basic 6.0 ユーザー向け)」を参照してください。
|
Rebind |
ResetBindings。Control クラスからの継承メンバです。 |
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 フォーム DataGridView コントロールでのデータの表示」を参照してください。 |
AfterUpdate |
|
BeforeColEdit |
|
BeforeColUpdate BeforeDelete BeforeInsert BeforeUpdate |
新規に実装されました。データの操作はデータ ソースで処理されます。詳細については、「Windows フォーム DataGridView コントロールでのデータの表示」を参照してください。 |
ButtonClick |
Click (Button コントロール) |
Change |
メモ :
TextChanged イベントの動作は少し変更されています。詳細については、「ComboBox コントロールの Change イベント (Visual Basic 6.0 ユーザー向け)」を参照してください。
|
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 2008 の DataGridView コントロールの TextChanged イベントにマップされます。TextChanged イベントの動作は、Change イベントの動作とは異なります。この相異によって、コードで意図した結果が得られない場合があります。
データ固有のメソッドに関連するコードや、データ固有のイベントに関連するコードはアップグレードされません。警告のコメントがコードに追加されます。そのコードは、アプリケーションをコンパイルする前に削除または変更する必要があります。
参照
概念
DataGridView コントロール テクノロジの概要 (Windows フォーム)
.NET Framework 2.0 の Windows フォームへの追加機能
参照
DataGridView コントロールの概要 (Windows フォーム)
各言語およびライブラリにおける、コントロールとプログラミング可能オブジェクトの比較
その他の技術情報
DataGridView コントロール (Windows フォーム)