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

Dim instance As DataGridViewComboBoxColumn Dim value As Object value = instance.DataSource instance.DataSource = value
/** @property */ public Object get_DataSource () /** @property */ public void set_DataSource (Object value)
データ ソースを表すオブジェクト。既定値は null 参照 (Visual Basic では Nothing) です。


DataSource プロパティまたは Items プロパティは、ドロップダウン コンボ ボックスに表示する選択データの取得先を指定します。DataSource プロパティを使用する場合で、データを既定でないプロパティまたは列から取得する必要がある場合は、DisplayMember プロパティにその既定でないプロパティまたは列の名前を設定する必要があります。
DataSource プロパティに文字列配列を設定する場合は、セル値および表示の両方に配列内の各文字列が使用されるため、ValueMember と DisplayMember を設定する必要はありません。
このプロパティを取得または設定すると、CellTemplate プロパティによって返されるオブジェクトの DataSource プロパティを取得または設定できます。このプロパティを設定すると、列に含まれるすべてのセルの DataSource プロパティも設定され、列の表示が更新されます。各セルの指定した値をオーバーライドするには、列の値を設定してからセルの値を設定します。

DataGridViewComboBoxColumn を使用して、TitleOfCourtesy 列へのデータ入力を円滑化するコード例を次に示します。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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


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