このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
Microsoft Edge をダウンロードする
Internet Explorer と Microsoft Edge の詳細情報
public ref class DataGridViewComboBoxCell : System::Windows::Forms::DataGridViewCell
public class DataGridViewComboBoxCell : System.Windows.Forms.DataGridViewCell
type DataGridViewComboBoxCell = class
inherit DataGridViewCell
Public Class DataGridViewComboBoxCell
Inherits DataGridViewCell
DataGridViewComboBoxCell
次のコード例では、 クラスを
DataGridViewComboBoxColumn
使用する クラスを
DataGridViewComboBoxCell
示します。 セル
DataSource
、、
ValueMember
および プロパティは、この例で対応する列プロパティを設定するのと
DisplayMember
同じ方法で設定できます。 この例は、クラスの概要に関するトピックで使用できるより大きな例の
DataGridViewComboBoxColumn
一部です。
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;
// Using an enum provides some abstraction between column index
// and column name along with compile time checking, and gives
// a handy place to store the column names.
enum class ColumnName
EmployeeID,
LastName,
FirstName,
Title,
TitleOfCourtesy,
BirthDate,
HireDate,
Address,
City,
Region,
PostalCode,
Country,
HomePhone,
Extension,
Photo,
Notes,
ReportsTo,
PhotoPath,
OutOfOffice
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(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;
// Using an enum provides some abstraction between column index
// and column name along with compile time checking, and gives
// a handy place to store the column names.
enum ColumnName
EmployeeId,
LastName,
FirstName,
Title,
TitleOfCourtesy,
BirthDate,
HireDate,
Address,
City,
Region,
PostalCode,
Country,
HomePhone,
Extension,
Photo,
Notes,
ReportsTo,
PhotoPath,
OutOfOffice
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( _
ByVal 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
' Using an enum provides some abstraction between column index
' and column name along with compile time checking, and gives
' a handy place to store the column names.
Enum ColumnName
EmployeeId
LastName
FirstName
Title
TitleOfCourtesy
BirthDate
HireDate
Address
Region
PostalCode
Country
HomePhone
Extension
Photo
Notes
ReportsTo
PhotoPath
OutOfOffice
End Enum
クラスは
DataGridViewComboBoxCell
、コンボ ボックス コントロールを
DataGridViewCell
表示するために使用される特殊な型です。これは、リスト選択フィールドと組み合わせた編集フィールドです。 現在選択されている
DataGridViewComboBoxCell
は、
DataGridViewComboBoxEditingControl
セルの プロパティが に設定されていると仮定して、ユーザーがセルの
ReadOnly
値を変更できる を
false
ホストします。
ComboBox
コントロールとは異なり、
DataGridViewComboBoxCell
には および
SelectedValue
プロパティがありません
SelectedIndex
。 代わりに、ドロップダウン リストから値を選択すると、セル
Value
プロパティが設定されます。
DataGridViewComboBoxColumn
は、この型のセルを保持するために特殊化された列型です。 既定では、
DataGridViewComboBoxColumn.CellTemplate
は新
DataGridViewComboBoxCell
しい に初期化されます。 既存
DataGridViewComboBoxCell
の の後の列内のセルをパターン設定するには、パターンとして使用するセルに列の
CellTemplate
プロパティを設定します。
列のセル関連プロパティは、テンプレート セルの同様の名前のプロパティのラッパーです。 テンプレート セルのプロパティ値を変更すると、変更後に追加されたテンプレートに基づくセルにのみ影響します。 ただし、列のセル関連のプロパティ値を変更すると、テンプレート セルと列内の他のすべてのセルが更新され、必要に応じて列の表示が更新されます。
通常は、特定のセルの列値を
DataGridViewComboBoxColumn
オーバーライドしない限り、型を操作します。 ドロップダウン リストの設定に
DataGridViewComboBoxColumn
関するクラスの概要トピックで説明されているガイドラインは、セルインスタンスと列インスタンスの両方に適用されます。
注意 (継承者)
から
DataGridViewComboBoxCell
派生し、派生クラスに新しいプロパティを追加するときは、 メソッドをオーバーライド
Clone()
して、複製操作中に新しいプロパティをコピーしてください。 基底クラスの
Clone()
プロパティが新しいセルにコピーされるように、基底クラスの メソッドも呼び出す必要があります。
Paint(Graphics, Rectangle, Rectangle, Int32, DataGridViewElementStates,
Object, Object, String, DataGridViewCellStyle, DataGridViewAdvancedBorderStyle,
DataGridViewPaintParts)
現在の
DataGridViewComboBoxCell
を描画します。