DataGridViewComboBoxCell 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
显示 DataGridView 控件中的组合框。
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
- 继承
示例
下面的代码示例演示 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
City
Region
PostalCode
Country
HomePhone
Extension
Photo
Notes
ReportsTo
PhotoPath
OutOfOffice
End Enum
注解
类 DataGridViewComboBoxCell 是用于显示组合框控件的专用类型 DataGridViewCell ,该控件是与列表选择字段组合的编辑字段。 当前选定的 DataGridViewComboBoxCell 承载一个 DataGridViewComboBoxEditingControl ,用户可在其中更改单元格的值,假设单元格的 ReadOnly 属性设置为 false
。
ComboBox与 控件不同, DataGridViewComboBoxCell 没有 SelectedIndex 和 SelectedValue 属性。 相反,从下拉列表中选择一个值会设置单元格 Value 属性。
DataGridViewComboBoxColumn是专用于保存此类型的单元格的列类型。 默认情况下, DataGridViewComboBoxColumn.CellTemplate 初始化为新的 DataGridViewComboBoxCell。 若要在现有 DataGridViewComboBoxCell之后对列中的单元格进行图案化,请将列的 CellTemplate 属性设置为要用作模式的单元格。
列的单元格相关属性是模板单元格的类似名称属性的包装器。 更改模板单元格的属性值将仅影响基于更改后添加的模板的单元格。 但是,更改列的单元格相关属性值将更新模板单元格和列中的所有其他单元格,并在必要时刷新列显示。
除非要替代特定单元格的列值, DataGridViewComboBoxColumn 否则通常使用 类型。 类概述主题中所述 DataGridViewComboBoxColumn 的填充下拉列表的准则适用于单元格和列实例。
继承者说明
从 DataGridViewComboBoxCell 派生类并将新属性添加到派生类时,请务必重写 Clone() 方法,以在克隆操作期间复制新属性。 还应调用基类的 Clone() 方法,以便将基类的属性复制到新单元格。
构造函数
DataGridViewComboBoxCell() |
初始化 DataGridViewComboBoxCell 类的新实例。 |
属性
AccessibilityObject |
获取分配给 DataGridViewCell.DataGridViewCellAccessibleObject 的 DataGridViewCell。 (继承自 DataGridViewCell) |
AutoComplete |
获取或设置一个值,该值指示单元格是否将单元格中输入的字符与下拉列表中的选项匹配。 |
ColumnIndex |
获取此单元格的列索引。 (继承自 DataGridViewCell) |
ContentBounds |
获取环绕单元格内容区域的边框。 (继承自 DataGridViewCell) |
ContextMenuStrip |
获取或设置与单元格关联的快捷菜单。 (继承自 DataGridViewCell) |
DataGridView |
获取与此元素关联的 DataGridView 控件。 (继承自 DataGridViewElement) |
DataSource |
获取或设置数据源,其数据包含下拉列表中可能会显示的选项。 |
DefaultNewRowValue |
获取新记录所在行中单元格的默认值。 (继承自 DataGridViewCell) |
Displayed |
获取一个值,该值指示当前该单元格是否显示在屏幕上。 (继承自 DataGridViewCell) |
DisplayMember |
获取或设置一个字符串,该字符串指定要在何处收集将在下拉列表中显示的选项。 |
DisplayStyle |
获取或设置一个值,该值确定当组合框处于非编辑模式时它的显示方式。 |
DisplayStyleForCurrentCellOnly |
获取或设置一个值,该值指示 DisplayStyle 属性值是否仅适用于 DataGridView 控件中的当前单元格。 |
DropDownWidth |
获取或设置组合框下拉列表部分的宽度。 |
EditedFormattedValue |
获取该单元格的当前格式化值,而不考虑该单元格是否处于编辑模式,也不论是否尚未提交此值。 (继承自 DataGridViewCell) |
EditType |
获取单元格的寄宿编辑控件的类型。 |
ErrorIconBounds |
获取单元格的错误图标的界限。 (继承自 DataGridViewCell) |
ErrorText |
获取或设置描述与该单元格关联的错误条件的文本。 (继承自 DataGridViewCell) |
FlatStyle |
获取或设置单元格的平面样式外观。 |
FormattedValue |
获取为显示进行格式化的单元格的值。 (继承自 DataGridViewCell) |
FormattedValueType |
获取与单元格关联的格式化值的类类型。 |
Frozen |
获取指示单元格是否已被冻结的值。 (继承自 DataGridViewCell) |
HasStyle |
获取指示是否已设置 Style 属性的值。 (继承自 DataGridViewCell) |
InheritedState |
获取该单元格从它的行和列的状态继承后的当前状态。 (继承自 DataGridViewCell) |
InheritedStyle |
获取当前应用于单元格的样式。 (继承自 DataGridViewCell) |
IsInEditMode |
获取一个值,该值指示此单元格当前是否处于编辑状态。 (继承自 DataGridViewCell) |
Items |
获取对象,这些对象表示下拉列表中显示的选项。 |
MaxDropDownItems |
获取或设置下拉列表中显示的最大项数。 |
OwningColumn |
获取包含此单元格的列。 (继承自 DataGridViewCell) |
OwningRow |
获取包含此单元格的行。 (继承自 DataGridViewCell) |
PreferredSize |
获取适合该单元格的矩形区域的大小(以像素为单位)。 (继承自 DataGridViewCell) |
ReadOnly |
获取或设置一个值,该值表示是否可以编辑该单元格的数据。 (继承自 DataGridViewCell) |
Resizable |
获取一个值,该值指示是否可以调整单元格的大小。 (继承自 DataGridViewCell) |
RowIndex |
获取单元格父行的索引。 (继承自 DataGridViewCell) |
Selected |
获取或设置一个值,该值指示是否已选定该单元格。 (继承自 DataGridViewCell) |
Size |
获取单元格的大小。 (继承自 DataGridViewCell) |
Sorted |
获取或设置一个值,该值指示是否对组合框中的项进行了自动排序。 |
State |
获取元素的用户界面 (UI) 状态。 (继承自 DataGridViewElement) |
Style |
获取或设置单元格的样式。 (继承自 DataGridViewCell) |
Tag |
获取或设置包含有关单元格补充数据的对象。 (继承自 DataGridViewCell) |
ToolTipText |
获取或设置与此单元格关联的 ToolTip 文本。 (继承自 DataGridViewCell) |
Value |
获取或设置与此单元格关联的值。 (继承自 DataGridViewCell) |
ValueMember |
获取或设置一个字符串,指定要在何处收集下拉列表中使用的基础值。 |
ValueType |
获取或设置单元格中值的数据类型。 |
Visible |
获取一个值,该值指示单元格是否位于已隐藏的行或列中。 (继承自 DataGridViewCell) |