DataSource プロパティは、UltraWinGrid がデータを取得および表示するオブジェクトを指定するために使用されます。可能となるデータソースには以下が含まれます。
注: カスタム データ ソースの作成については、カスタム オブジェクトに .NET IList インターフェイスを実装できます。ただし、IList インターフェイスは、セル値における変更、行の追加または削除などデータにおける変更の通知をサポートしません。したがって、データ ソースでこれらの操作をサポートしたくない場合、代わりにこのような変更のバウンド コントロールの通知に対するサポートを持っている .NET IBindingList インターフェイスを実装することを推奨します。その他の重要なインターフェイスは、.NET ITypedList インターフェイスと IEditableObject インターフェイスです。これらのインターフェイスに関する詳細は、.NET Framework のヘルプを参照してください。
DataSource または DataMember の設定によって、コントロールはデータソースを同期的に読み込みします。したがって、2 度バインドすることを防止するために、ランタイムにこれら両方を設定する必要がある場合、個々のプロパティを設定する代わりに、SetDataBinding(Object,String,Boolean,Boolean) メソッドを使用します。SetDataBinding メソッドによって、1 回の呼び出しで両方の情報を指定できます。DataSource、DataMember、および SetDataBinding はすべてデータ ソースを読み込みするため、DataBind メソッドを呼び出す必要はありません。
デザインタイムにバンドと列を使用してグリッドを設定し、次にランタイムに実際のデータソースにバインドする場合、バンドおよび列キーは実際のデータソースで対応するバンド(関係)および列名を一致させることが重要です。そうでない場合、バンドおよび列での設定は、デザインタイムから実行されません。UltraGrid はバンドと列のキー(Key プロパティ)を使用して、ランタイムにバンドと列の一致を見つけ出し、デザインタイムから設定をコピーします。したがって、デザインタイムのバンドおよび列キーが実際のデータソースでバンド(関係)および列名を一致させることが重要です。
データソースをランタイムに変更する時に同じ一致プロセスが適用されます。コントロールのデータ構造は新たに設定されたデータソースのデータ構造に一致させる必要があります。コントロールは、新しいデータソースによって公開されるすべてのバンドおよび列を自動的に作成します。Band の Key が同一で列の Key が同一であると仮定して、コントロールは既存の列とバンドで設定を維持しようとします。新しいデータ構造に存在しない列またはバンドは破棄され、新しいデータソース内の新しい列またはバンドが作成されます。コントロールが新しいデータ構造を自動的に取得しないようにする方法はありません。データソースとその構造を同期する必要があります。ただし、UltraGridLayout.NewBandLoadStyle プロパティと UltraGridLayout.NewColumnLoadStyle プロパティは、新しいデータソースで新しいバンドと列を自動的に非表示にできます。あるいは、適切なオブジェクトの Hidden プロパティを使用することによって、列またはバンドを非表示できます。列が属するバンドが破棄されないかぎり、アンバウンド列は保持されます。
コントロールが DataSource にバインドする時 InitializeLayout イベントが発生します。作成されると行ごとに InitializeRow イベントが発生します。
Infragistics.Win.UltraWinGrid.UltraGridLayout.NewBandLoadStyleP:Infragistics.Win.UltraWinGrid.UltraGridLayout.NewColumnLoadStyleP:Infragistics.Win.UltraWinGrid.UltraGridColumn.HiddenP:Infragistics.Win.UltraWinGrid.UltraGridRow.HiddenImports Infragistics.Shared Imports Infragistics.Win Imports Infragistics.Win.UltraWinGrid Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.OleDbDataAdapter1.Fill(Me.DataSet11) Me.OleDbDataAdapter2.Fill(Me.DataSet11) Me.OleDbDataAdapter3.Fill(Me.DataSet11) ' Set the data source and data member to bind the grid. Me.UltraGrid1.DataSource = Me.DataSet11 Me.UltraGrid1.DataMember = "" ' Disable alpha-blending which may increase performance. Me.UltraGrid1.AlphaBlendEnabled = False ' Disable theme support in WinXP based systems. Me.UltraGrid1.SupportThemes = False ' Set the appearance of the UltraGrid. Me.UltraGrid1.DisplayLayout.Appearance.BackColor = Color.Gray ' Set the border style of the UltraGrid. Me.UltraGrid1.DisplayLayout.BorderStyle = UIElementBorderStyle.InsetSoft ' Set the text, appearance and border styles of the caption. Me.UltraGrid1.Text = "UltraGrid Caption" Me.UltraGrid1.DisplayLayout.CaptionAppearance.FontData.Bold = DefaultableBoolean.True Me.UltraGrid1.DisplayLayout.BorderStyleCaption = UIElementBorderStyle.RaisedSoft ' Set the update mode which dictates when the UltraGrid calls EndEdit ' on IEditableObject row objects. Me.UltraGrid1.UpdateMode = UpdateMode.OnRowChangeOrLostFocus ' Set the scroll style to Immediate so that the UltraGrid scrolls the rows as ' the vertical scroll bar thumb is dragged. Normally the UltraGrid defers the ' scrolling until the thumb is released and displays scroll tips instead. Me.UltraGrid1.DisplayLayout.ScrollStyle = ScrollStyle.Immediate End Sub
using Infragistics.Shared; using Infragistics.Win; using Infragistics.Win.UltraWinGrid; using System.Diagnostics; private void Form1_Load(object sender, System.EventArgs e) { this.oleDbDataAdapter1.Fill( this.dataSet11 ); this.oleDbDataAdapter2.Fill( this.dataSet11 ); this.oleDbDataAdapter3.Fill( this.dataSet11 ); // Set the data source and data member to bind the grid. this.ultraGrid1.DataSource = this.dataSet11; this.ultraGrid1.DataMember = ""; // Disable alpha-blending which may increase performance. this.ultraGrid1.AlphaBlendEnabled = false; // Disable theme support in WinXP based systems. this.ultraGrid1.SupportThemes = false; // Set the appearance of the UltraGrid. this.ultraGrid1.DisplayLayout.Appearance.BackColor = Color.Gray; // Set the border style of the UltraGrid. this.ultraGrid1.DisplayLayout.BorderStyle = UIElementBorderStyle.InsetSoft; // Set the text, appearance and border styles of the caption. this.ultraGrid1.Text = "UltraGrid Caption"; this.ultraGrid1.DisplayLayout.CaptionAppearance.FontData.Bold = DefaultableBoolean.True; this.ultraGrid1.DisplayLayout.BorderStyleCaption = UIElementBorderStyle.RaisedSoft; // Set the update mode which dictates when the UltraGrid calls EndEdit // on IEditableObject row objects. this.ultraGrid1.UpdateMode = UpdateMode.OnRowChangeOrLostFocus; // Set the scroll style to Immediate so that the UltraGrid scrolls the rows as // the vertical scroll bar thumb is dragged. Normally the UltraGrid defers the // scrolling until the thumb is released and displays scroll tips instead. this.ultraGrid1.DisplayLayout.ScrollStyle = ScrollStyle.Immediate; }