DataGridViewComboBoxCell.DataSource プロパティ
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)

Dim instance As DataGridViewComboBoxCell Dim value As Object value = instance.DataSource instance.DataSource = value
/** @property */ public Object get_DataSource () /** @property */ public void set_DataSource (Object value)
ドロップダウン リストにデータを提供するために使用する値のコレクションを格納する IList または IListSource。既定値は null 参照 (Visual Basic では Nothing) です。


通常、このプロパティは、DataGridViewComboBoxColumn.DataSource プロパティを使用して、セルを含む列全体に対して設定されます。
DataSource には、できる限り、選択項目の列など、表示する選択項目のみを含む参照先を設定します。これにより、DisplayMember プロパティを設定する必要がなくなります。しかし、参照先が複雑な場合は、DisplayMember に、表示する選択項目の取得先となるプロパティまたは列の名前を設定します。
DataSourceに文字列配列を設定する場合は、セル値および表示の両方に配列内の各文字列が使用されるため、ValueMember と DisplayMember を設定する必要はありません。
DataSource プロパティを変更すると、セルの Items コレクションが再初期化され、セルが自動的に再描画されます。
DataSource プロパティの値を変更すると、コントロールは、ValueMember プロパティの値と DisplayMember プロパティの値を、新しいデータ ソースに適用しようとします。新しいデータ ソースに対応する値が存在しない場合は、各プロパティを null 参照 (Visual Basic では Nothing) に設定します。このプロセスで発生する例外は無視されます。ただし、重要な例外 (NullReferenceException、StackOverflowException、OutOfMemoryException、ThreadAbortException、ExecutionEngineException、IndexOutOfRangeException、または AccessViolationException) のうちいずれかが発生した場合を除きます。

このプロパティに類似している DataGridViewComboBoxColumn.DataSource プロパティの使用方法を次のコード例に示します。
Private Function CreateComboBoxColumn() _ As DataGridViewComboBoxColumn Dim column As New DataGridViewComboBoxColumn() With column .DataPropertyName = ColumnName.TitleOfCourtesy.ToString() .HeaderText = ColumnName.TitleOfCourtesy.ToString() .DropDownWidth = 160 .Width = 90 .MaxDropDownItems = 3 .FlatStyle = FlatStyle.Flat End With Return column End Function Private Sub SetAlternateChoicesUsingDataSource( _ ByRef comboboxColumn As DataGridViewComboBoxColumn) With comboboxColumn .DataSource = RetrieveAlternativeTitles() .ValueMember = ColumnName.TitleOfCourtesy.ToString() .DisplayMember = .ValueMember End With End Sub Private Function RetrieveAlternativeTitles() As DataTable Return Populate( _ "SELECT distinct TitleOfCourtesy FROM Employees") End Function Private connectionString As String = _ "Integrated Security=SSPI;Persist Security Info=False;" _ & "Initial Catalog=Northwind;Data Source=localhost" Private Function Populate(ByVal sqlCommand As String) As DataTable Dim northwindConnection As New SqlConnection(connectionString) northwindConnection.Open() Dim command As New SqlCommand(sqlCommand, _ northwindConnection) Dim adapter As New SqlDataAdapter() adapter.SelectCommand = command Dim table As New DataTable() table.Locale = System.Globalization.CultureInfo.InvariantCulture adapter.Fill(table) Return table End Function
private DataGridViewComboBoxColumn CreateComboBoxColumn() { DataGridViewComboBoxColumn column = new DataGridViewComboBoxColumn(); { column.DataPropertyName = ColumnName.TitleOfCourtesy.ToString(); column.HeaderText = ColumnName.TitleOfCourtesy.ToString(); column.DropDownWidth = 160; column.Width = 90; column.MaxDropDownItems = 3; column.FlatStyle = FlatStyle.Flat; } return column; } private void SetAlternateChoicesUsingDataSource(ref DataGridViewComboBoxColumn comboboxColumn) { { comboboxColumn.DataSource = RetrieveAlternativeTitles(); comboboxColumn.ValueMember = ColumnName.TitleOfCourtesy.ToString(); comboboxColumn.DisplayMember = comboboxColumn.ValueMember; } } private DataTable RetrieveAlternativeTitles() { return Populate("SELECT distinct TitleOfCourtesy FROM Employees"); } string connectionString = "Integrated Security=SSPI;Persist Security Info=False;" + "Initial Catalog=Northwind;Data Source=localhost"; private DataTable Populate(string sqlCommand) { SqlConnection northwindConnection = new SqlConnection(connectionString); northwindConnection.Open(); SqlCommand command = new SqlCommand(sqlCommand, northwindConnection); SqlDataAdapter adapter = new SqlDataAdapter(); adapter.SelectCommand = command; DataTable table = new DataTable(); table.Locale = System.Globalization.CultureInfo.InvariantCulture; adapter.Fill(table); return table; }
private: DataGridViewComboBoxColumn^ CreateComboBoxColumn() { DataGridViewComboBoxColumn^ column = gcnew DataGridViewComboBoxColumn(); { column->DataPropertyName = ColumnName::TitleOfCourtesy.ToString(); column->HeaderText = ColumnName::TitleOfCourtesy.ToString(); column->DropDownWidth = 160; column->Width = 90; column->MaxDropDownItems = 3; column->FlatStyle = FlatStyle::Flat; } return column; } private: void SetAlternateChoicesUsingDataSource(DataGridViewComboBoxColumn^% comboboxColumn) { { comboboxColumn->DataSource = RetrieveAlternativeTitles(); comboboxColumn->ValueMember = ColumnName::TitleOfCourtesy.ToString(); comboboxColumn->DisplayMember = comboboxColumn->ValueMember; } } private: DataTable^ RetrieveAlternativeTitles() { return Populate("SELECT distinct TitleOfCourtesy FROM Employees"); } String^ connectionString; private: DataTable^ Populate(String^ sqlCommand) { SqlConnection^ northwindConnection = gcnew SqlConnection(connectionString); northwindConnection->Open(); SqlCommand^ command = gcnew SqlCommand(sqlCommand, northwindConnection); SqlDataAdapter^ adapter = gcnew SqlDataAdapter(); adapter->SelectCommand = command; DataTable^ table = gcnew DataTable(); adapter->Fill(table); return table; }

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- DataGridViewComboBoxCell.DataSource プロパティのページへのリンク