アンバウンド(非連結)モード
アンバウンド モードは、比較的少量のデータを表示するのに適しています。このモードでは、データソースに直接接続せず、すべてのデータをGcMultiRowコントロール内に保持します。このモードは、表形式のデータを表示専用で提供する場合や、データソースとの接続を独自にコーディングする場合に使用できます。
GcMultiRow.DataSourceプロパティが空で、かつGcMultiRow.VirtualModeプロパティがFalseのとき、GcMultiRowコントロールはアンバウンド モードとして動作します。
アンバウンドモードにおけるデータの操作方法は「データの設定と取得」を参照してください。
GcMultiRow.DataSourceプロパティが空で、かつGcMultiRow.VirtualModeプロパティがFalseのとき、GcMultiRowコントロールはアンバウンド モードとして動作します。
アンバウンドモードにおけるデータの操作方法は「データの設定と取得」を参照してください。
バウンドモード
バウンドモードはデータソースに接続し、データの同期と読み書きを行う場合に適しています。このモードでは、すべてのデータはデータソースに保持され、必要に応じてGcMultiRowコントロールの値が自動的に更新されます。GcMultiRowコントロールでデータを変更した場合も、自動的に反映されます。このモードは、一般的なデータベース アプリケーションの構築に使用できます。
GcMultiRow.DataSourceプロパティにデータソースが設定され、かつGcMultiRow.VirtualModeプロパティがFalseのとき、GcMultiRowコントロールはバウンドモードとして動作します。
次のコードでは、バウンドモードでデータソースの値を表示します。
バウンドモードの詳細は「データベースとの連結」を参照してください。
GcMultiRow.DataSourceプロパティにデータソースが設定され、かつGcMultiRow.VirtualModeプロパティがFalseのとき、GcMultiRowコントロールはバウンドモードとして動作します。
次のコードでは、バウンドモードでデータソースの値を表示します。
GcMultiRow1.DataSource = myDataSet GcMultiRow1.DataMember = myDataSet.Tables(0).TableName
gcMultiRow1.DataSource = myDataSet; gcMultiRow1.DataMember = myDataSet.Tables[0].TableName;
バウンドモードの詳細は「データベースとの連結」を参照してください。
仮想モード
仮想モードは大量のデータを高速に扱う場合に適しています。このモードでは、GcMultiRowコントロールはデータを自動的にグリッドに読み込みません。開発者は、すべてのデータの更新や反映のタイミングをコーディングしてデータの表示や転送を指示します。このモードは、必要最小限のデータのみを保持してパフォーマンスを改善する用途に適しています。
GcMultiRow.VirtualModeプロパティがTrueのとき、GcMultiRowコントロールは仮想モードとして動作します。
仮想モードでは、グリッドにデータが必要になるタイミングでGcMultiRow.CellValueNeededイベントが発生します。このタイミングには、スクロールやフォームの再描画が含まれます。次のコードはGcMultiRow.CellValueNeededイベントを使用してセルの座標を表示します。
データの更新が必要となるタイミングにはGcMultiRow.CellValuePushedイベントが発生します。このイベントはユーザーの入力操作や開発者による入力操作で発生します。
|
GcMultiRow.VirtualModeプロパティがTrueのとき、GcMultiRowコントロールは仮想モードとして動作します。
仮想モードでは、グリッドにデータが必要になるタイミングでGcMultiRow.CellValueNeededイベントが発生します。このタイミングには、スクロールやフォームの再描画が含まれます。次のコードはGcMultiRow.CellValueNeededイベントを使用してセルの座標を表示します。
Imports GrapeCity.Win.MultiRow Private Sub Form1_Load( _ ByVal sender As System.Object, ByVal e As System.EventArgs _ ) Handles MyBase.Load GcMultiRow1.ReadOnly = True GcMultiRow1.VirtualMode = True GcMultiRow1.RowCount = 1000 End Sub Private Sub GcMultiRow1_CellValueNeeded( _ ByVal sender As System.Object, ByVal e As CellValueEventArgs _ ) Handles GcMultiRow1.CellValueNeeded e.Value = String.Format("{0},{1}", e.RowIndex, e.CellIndex) End Sub
using GrapeCity.Win.MultiRow; private void Form1_Load(object sender, EventArgs e) { gcMultiRow1.ReadOnly = true; gcMultiRow1.VirtualMode = true; gcMultiRow1.RowCount = 1000; } private void gcMultiRow1_CellValueNeeded(object sender, CellValueEventArgs e) { e.Value = string.Format("{0},{1}", e.RowIndex, e.CellIndex); }
データの更新が必要となるタイミングにはGcMultiRow.CellValuePushedイベントが発生します。このイベントはユーザーの入力操作や開発者による入力操作で発生します。