Sugerir traducción
 
Otros han sugerido:

progress indicator
No hay más sugerencias.
Evaluar y enviar comentarios
Contraer todo/Expandir todo Contraer todo
Ver contenido:  en paraleloVer contenido: en paralelo
.NET Framework Class Library
DataGridViewComboBoxCell Class

Displays a combo box in a DataGridView control.

System..::.Object
  System.Windows.Forms..::.DataGridViewElement
    System.Windows.Forms..::.DataGridViewCell
      System.Windows.Forms..::.DataGridViewComboBoxCell

Namespace:  System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)
Visual Basic
Public Class DataGridViewComboBoxCell _
    Inherits DataGridViewCell
C#
public class DataGridViewComboBoxCell : DataGridViewCell
Visual C++
public ref class DataGridViewComboBoxCell : public DataGridViewCell
F#
type DataGridViewComboBoxCell =  
    class
        inherit DataGridViewCell
    end

The DataGridViewComboBoxCell type exposes the following members.

  NameDescription
Public methodDataGridViewComboBoxCellInitializes a new instance of the DataGridViewComboBoxCell class.
Top
  NameDescription
Public propertyAccessibilityObjectGets the DataGridViewCell..::.DataGridViewCellAccessibleObject assigned to the DataGridViewCell. (Inherited from DataGridViewCell.)
Public propertyAutoCompleteGets or sets a value indicating whether the cell will match the characters being entered in the cell with a selection from the drop-down list.
Public propertyColumnIndexGets the column index for this cell. (Inherited from DataGridViewCell.)
Public propertyContentBoundsGets the bounding rectangle that encloses the cell's content area. (Inherited from DataGridViewCell.)
Public propertyContextMenuStripGets or sets the shortcut menu associated with the cell. (Inherited from DataGridViewCell.)
Public propertyDataGridViewGets the DataGridView control associated with this element. (Inherited from DataGridViewElement.)
Public propertyDataSourceGets or sets the data source whose data contains the possible selections shown in the drop-down list.
Public propertyDefaultNewRowValueGets the default value for a cell in the row for new records. (Inherited from DataGridViewCell.)
Public propertyDisplayedGets a value that indicates whether the cell is currently displayed on-screen. (Inherited from DataGridViewCell.)
Public propertyDisplayMemberGets or sets a string that specifies where to gather selections to display in the drop-down list.
Public propertyDisplayStyleGets or sets a value that determines how the combo box is displayed when it is not in edit mode.
Public propertyDisplayStyleForCurrentCellOnlyGets or sets a value indicating whether the DisplayStyle property value applies to the cell only when it is the current cell in the DataGridView control.
Public propertyDropDownWidthGets or sets the width of the of the drop-down list portion of a combo box.
Public propertyEditedFormattedValueGets the current, formatted value of the cell, regardless of whether the cell is in edit mode and the value has not been committed. (Inherited from DataGridViewCell.)
Public propertyEditTypeGets the type of the cell's hosted editing control. (Overrides DataGridViewCell..::.EditType.)
Public propertyErrorIconBoundsGets the bounds of the error icon for the cell. (Inherited from DataGridViewCell.)
Public propertyErrorTextGets or sets the text describing an error condition associated with the cell. (Inherited from DataGridViewCell.)
Public propertyFlatStyleGets or sets the flat style appearance of the cell.
Public propertyFormattedValueGets the value of the cell as formatted for display. (Inherited from DataGridViewCell.)
Public propertyFormattedValueTypeGets the class type of the formatted value associated with the cell. (Overrides DataGridViewCell..::.FormattedValueType.)
Public propertyFrozenGets a value indicating whether the cell is frozen. (Inherited from DataGridViewCell.)
Public propertyHasStyleGets a value indicating whether the Style property has been set. (Inherited from DataGridViewCell.)
Public propertyInheritedStateGets the current state of the cell as inherited from the state of its row and column. (Inherited from DataGridViewCell.)
Public propertyInheritedStyleGets the style currently applied to the cell. (Inherited from DataGridViewCell.)
Public propertyIsInEditModeGets a value indicating whether this cell is currently being edited. (Inherited from DataGridViewCell.)
Public propertyItemsGets the objects that represent the selection displayed in the drop-down list.
Public propertyMaxDropDownItemsGets or sets the maximum number of items shown in the drop-down list.
Public propertyOwningColumnGets the column that contains this cell. (Inherited from DataGridViewCell.)
Public propertyOwningRowGets the row that contains this cell. (Inherited from DataGridViewCell.)
Public propertyPreferredSizeGets the size, in pixels, of a rectangular area into which the cell can fit. (Inherited from DataGridViewCell.)
Public propertyReadOnlyGets or sets a value indicating whether the cell's data can be edited. (Inherited from DataGridViewCell.)
Public propertyResizableGets a value indicating whether the cell can be resized. (Inherited from DataGridViewCell.)
Public propertyRowIndexGets the index of the cell's parent row. (Inherited from DataGridViewCell.)
Public propertySelectedGets or sets a value indicating whether the cell has been selected. (Inherited from DataGridViewCell.)
Public propertySizeGets the size of the cell. (Inherited from DataGridViewCell.)
Public propertySortedGets or sets a value indicating whether the items in the combo box are automatically sorted.
Public propertyStateGets the user interface (UI) state of the element. (Inherited from DataGridViewElement.)
Public propertyStyleGets or sets the style for the cell. (Inherited from DataGridViewCell.)
Public propertyTagGets or sets the object that contains supplemental data about the cell. (Inherited from DataGridViewCell.)
Public propertyToolTipTextGets or sets the ToolTip text associated with this cell. (Inherited from DataGridViewCell.)
Public propertyValueGets or sets the value associated with this cell. (Inherited from DataGridViewCell.)
Public propertyValueMemberGets or sets a string that specifies where to gather the underlying values used in the drop-down list.
Public propertyValueTypeGets or sets the data type of the values in the cell. (Overrides DataGridViewCell..::.ValueType.)
Public propertyVisibleGets a value indicating whether the cell is in a row or column that has been hidden. (Inherited from DataGridViewCell.)
Top
  NameDescription
Public methodAdjustCellBorderStyleModifies the input cell border style according to the specified criteria. (Inherited from DataGridViewCell.)
Protected methodBorderWidthsReturns a Rectangle that represents the widths of all the cell margins. (Inherited from DataGridViewCell.)
Protected methodClickUnsharesRowIndicates whether the cell's row will be unshared when the cell is clicked. (Inherited from DataGridViewCell.)
Public methodCloneCreates an exact copy of this cell. (Overrides DataGridViewCell..::.Clone()()().)
Protected methodContentClickUnsharesRowIndicates whether the cell's row will be unshared when the cell's content is clicked. (Inherited from DataGridViewCell.)
Protected methodContentDoubleClickUnsharesRowIndicates whether the cell's row will be unshared when the cell's content is double-clicked. (Inherited from DataGridViewCell.)
Protected methodCreateAccessibilityInstanceCreates a new accessible object for the DataGridViewCell. (Inherited from DataGridViewCell.)
Public methodDetachEditingControlRemoves the cell's editing control from the DataGridView. (Overrides DataGridViewCell..::.DetachEditingControl()()().)
Public methodDispose()()()Releases all resources used by the DataGridViewCell. (Inherited from DataGridViewCell.)
Protected methodDispose(Boolean)Releases the unmanaged resources used by the DataGridViewCell and optionally releases the managed resources. (Inherited from DataGridViewCell.)
Protected methodDoubleClickUnsharesRowIndicates whether the cell's row will be unshared when the cell is double-clicked. (Inherited from DataGridViewCell.)
Protected methodEnterUnsharesRowIndicates whether the parent row will be unshared when the focus moves to the cell. (Inherited from DataGridViewCell.)
Public methodEquals(Object)Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected methodFinalizeReleases the unmanaged resources and performs other cleanup operations before the DataGridViewCell is reclaimed by garbage collection. (Inherited from DataGridViewCell.)
Protected methodGetClipboardContentRetrieves the formatted value of the cell to copy to the Clipboard. (Inherited from DataGridViewCell.)
Public methodGetContentBounds(Int32)Returns the bounding rectangle that encloses the cell's content area using a default Graphics and cell style currently in effect for the cell. (Inherited from DataGridViewCell.)
Protected methodGetContentBounds(Graphics, DataGridViewCellStyle, Int32)Returns the bounding rectangle that encloses the cell's content area, which is calculated using the specified Graphics and cell style. (Overrides DataGridViewCell..::.GetContentBounds(Graphics, DataGridViewCellStyle, Int32).)
Public methodGetEditedFormattedValueReturns the current, formatted value of the cell, regardless of whether the cell is in edit mode and the value has not been committed. (Inherited from DataGridViewCell.)
Protected methodGetErrorIconBoundsReturns the bounding rectangle that encloses the cell's error icon, if one is displayed. (Overrides DataGridViewCell..::.GetErrorIconBounds(Graphics, DataGridViewCellStyle, Int32).)
Protected methodGetErrorTextReturns a string that represents the error for the cell. (Inherited from DataGridViewCell.)
Protected methodGetFormattedValueGets the formatted value of the cell's data. (Overrides DataGridViewCell..::.GetFormattedValue(Object, Int32, DataGridViewCellStyle%, TypeConverter, TypeConverter, DataGridViewDataErrorContexts).)
Public methodGetHashCodeServes as a hash function for a particular type. (Inherited from Object.)
Public methodGetInheritedContextMenuStripGets the inherited shortcut menu for the current cell. (Inherited from DataGridViewCell.)
Public methodGetInheritedStateReturns a value indicating the current state of the cell as inherited from the state of its row and column. (Inherited from DataGridViewCell.)
Public methodGetInheritedStyleGets the style applied to the cell. (Inherited from DataGridViewCell.)
Protected methodGetPreferredSizeCalculates the preferred size, in pixels, of the cell. (Overrides DataGridViewCell..::.GetPreferredSize(Graphics, DataGridViewCellStyle, Int32, Size).)
Protected methodGetSizeGets the size of the cell. (Inherited from DataGridViewCell.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodGetValueGets the value of the cell. (Inherited from DataGridViewCell.)
Public methodInitializeEditingControlAttaches and initializes the hosted editing control. (Overrides DataGridViewCell..::.InitializeEditingControl(Int32, Object, DataGridViewCellStyle).)
Protected methodKeyDownUnsharesRowIndicates whether the parent row is unshared if the user presses a key while the focus is on the cell. (Inherited from DataGridViewCell.)
Public methodKeyEntersEditModeDetermines if edit mode should be started based on the given key. (Overrides DataGridViewCell..::.KeyEntersEditMode(KeyEventArgs).)
Protected methodKeyPressUnsharesRowIndicates whether a row will be unshared if a key is pressed while a cell in the row has focus. (Inherited from DataGridViewCell.)
Protected methodKeyUpUnsharesRowIndicates whether the parent row is unshared when the user releases a key while the focus is on the cell. (Inherited from DataGridViewCell.)
Protected methodLeaveUnsharesRowIndicates whether a row will be unshared when the focus leaves a cell in the row. (Inherited from DataGridViewCell.)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Protected methodMouseClickUnsharesRowIndicates whether a row will be unshared if the user clicks a mouse button while the pointer is on a cell in the row. (Inherited from DataGridViewCell.)
Protected methodMouseDoubleClickUnsharesRowIndicates whether a row will be unshared if the user double-clicks a cell in the row. (Inherited from DataGridViewCell.)
Protected methodMouseDownUnsharesRowIndicates whether a row will be unshared when the user holds down a mouse button while the pointer is on a cell in the row. (Inherited from DataGridViewCell.)
Protected methodMouseEnterUnsharesRowIndicates whether a row will be unshared when the mouse pointer moves over a cell in the row. (Inherited from DataGridViewCell.)
Protected methodMouseLeaveUnsharesRowIndicates whether a row will be unshared when the mouse pointer leaves the row. (Inherited from DataGridViewCell.)
Protected methodMouseMoveUnsharesRowIndicates whether a row will be unshared when the mouse pointer moves over a cell in the row. (Inherited from DataGridViewCell.)
Protected methodMouseUpUnsharesRowIndicates whether a row will be unshared when the user releases a mouse button while the pointer is on a cell in the row. (Inherited from DataGridViewCell.)
Protected methodOnClickCalled when the cell is clicked. (Inherited from DataGridViewCell.)
Protected methodOnContentClickCalled when the cell's contents are clicked. (Inherited from DataGridViewCell.)
Protected methodOnContentDoubleClickCalled when the cell's contents are double-clicked. (Inherited from DataGridViewCell.)
Protected methodOnDataGridViewChangedCalled when the DataGridView property of the cell changes. (Overrides DataGridViewCell..::.OnDataGridViewChanged()()().)
Protected methodOnDoubleClickCalled when the cell is double-clicked. (Inherited from DataGridViewCell.)
Protected methodOnEnterCalled when the focus moves to a cell. (Overrides DataGridViewCell..::.OnEnter(Int32, Boolean).)
Protected methodOnKeyDownCalled when a character key is pressed while the focus is on a cell. (Inherited from DataGridViewCell.)
Protected methodOnKeyPressCalled when a key is pressed while the focus is on a cell. (Inherited from DataGridViewCell.)
Protected methodOnKeyUpCalled when a character key is released while the focus is on a cell. (Inherited from DataGridViewCell.)
Protected methodOnLeaveCalled when the focus moves from a cell. (Overrides DataGridViewCell..::.OnLeave(Int32, Boolean).)
Protected methodOnMouseClickCalled when the user clicks a mouse button while the pointer is on a cell. (Overrides DataGridViewCell..::.OnMouseClick(DataGridViewCellMouseEventArgs).)
Protected methodOnMouseDoubleClickCalled when the user double-clicks a mouse button while the pointer is on a cell. (Inherited from DataGridViewCell.)
Protected methodOnMouseDownCalled when the user holds down a mouse button while the pointer is on a cell. (Inherited from DataGridViewCell.)
Protected methodOnMouseEnterCalled when the mouse pointer moves over a cell. (Overrides DataGridViewCell..::.OnMouseEnter(Int32).)
Protected methodOnMouseLeaveCalled when the mouse pointer leaves the cell. (Overrides DataGridViewCell..::.OnMouseLeave(Int32).)
Protected methodOnMouseMoveCalled when the mouse pointer moves within a cell. (Overrides DataGridViewCell..::.OnMouseMove(DataGridViewCellMouseEventArgs).)
Protected methodOnMouseUpCalled when the user releases a mouse button while the pointer is on a cell. (Inherited from DataGridViewCell.)
Protected methodPaintPaints the current DataGridViewComboBoxCell. (Overrides DataGridViewCell..::.Paint(Graphics, Rectangle, Rectangle, Int32, DataGridViewElementStates, Object, Object, String, DataGridViewCellStyle, DataGridViewAdvancedBorderStyle, DataGridViewPaintParts).)
Protected methodPaintBorderPaints the border of the current DataGridViewCell. (Inherited from DataGridViewCell.)
Protected methodPaintErrorIconPaints the error icon of the current DataGridViewCell. (Inherited from DataGridViewCell.)
Public methodParseFormattedValueConverts a value formatted for display to an actual cell value. (Overrides DataGridViewCell..::.ParseFormattedValue(Object, DataGridViewCellStyle, TypeConverter, TypeConverter).)
Public methodPositionEditingControlSets the location and size of the editing control hosted by a cell in the DataGridView control. (Inherited from DataGridViewCell.)
Public methodPositionEditingPanelSets the location and size of the editing panel hosted by the cell, and returns the normal bounds of the editing control within the editing panel. (Inherited from DataGridViewCell.)
Protected methodRaiseCellClickRaises the DataGridView..::.CellClick event. (Inherited from DataGridViewElement.)
Protected methodRaiseCellContentClickRaises the DataGridView..::.CellContentClick event. (Inherited from DataGridViewElement.)
Protected methodRaiseCellContentDoubleClickRaises the DataGridView..::.CellContentDoubleClick event. (Inherited from DataGridViewElement.)
Protected methodRaiseCellValueChangedRaises the DataGridView..::.CellValueChanged event. (Inherited from DataGridViewElement.)
Protected methodRaiseDataErrorRaises the DataGridView..::.DataError event. (Inherited from DataGridViewElement.)
Protected methodRaiseMouseWheelRaises the Control..::.MouseWheel event. (Inherited from DataGridViewElement.)
Protected methodSetValueSets the value of the cell. (Inherited from DataGridViewCell.)
Public methodToStringReturns a string that describes the current object. (Overrides DataGridViewCell..::.ToString()()().)
Top

The DataGridViewComboBoxCell class is a specialized type of DataGridViewCell used to display a combo box control, which is an editing field combined with a list selection field. The currently selected DataGridViewComboBoxCell hosts a DataGridViewComboBoxEditingControl in which the user can change the cell's value, assuming the cell's ReadOnly property is set to false.

Unlike the ComboBox control, the DataGridViewComboBoxCell does not have SelectedIndex and SelectedValue properties. Instead, selecting a value from a drop-down list sets the cell Value property.

The DataGridViewComboBoxColumn is the column type specialized to hold cells of this type. By default, the DataGridViewComboBoxColumn..::.CellTemplate is initialized to a new DataGridViewComboBoxCell. To pattern the cells within a column after an existing DataGridViewComboBoxCell, set the column's CellTemplate property to the cell to use as a pattern.

The cell-related properties of the column are wrappers for the similarly-named properties of the template cell. Changing the property values of the template cell will affect only cells based on the template that are added after the change. Changing the cell-related property values of the column, however, will update the template cell and all other cells in the column, and refresh the column display if necessary.

You will typically work with the DataGridViewComboBoxColumn type unless you want to override column values for specific cells. The guidelines described in the DataGridViewComboBoxColumn class overview topic for populating the drop-down list applies to both cell and column instances.

Notes to Inheritors

When you derive from DataGridViewComboBoxCell and add new properties to the derived class, be sure to override the Clone method to copy the new properties during cloning operations. You should also call the base class's Clone method so that the properties of the base class are copied to the new cell.

The following code example demonstrates the DataGridViewComboBoxColumn class, which makes use of the DataGridViewComboBoxCell class. You can set the cell DataSource, ValueMember, and DisplayMember properties in the same way that the corresponding column properties are set in this example. This example is part of a larger example available in the DataGridViewComboBoxColumn class overview topic.

Visual Basic
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
C#
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
};
Visual C++
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
    };

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role not supported), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Biblioteca de clases de .NET Framework
DataGridViewComboBoxCell (Clase)

Muestra un cuadro combinado en un control DataGridView.

System..::.Object
  System.Windows.Forms..::.DataGridViewElement
    System.Windows.Forms..::.DataGridViewCell
      System.Windows.Forms..::.DataGridViewComboBoxCell

Espacio de nombres:  System.Windows.Forms
Ensamblado:  System.Windows.Forms (en System.Windows.Forms.dll)
Visual Basic
Public Class DataGridViewComboBoxCell _
    Inherits DataGridViewCell
C#
public class DataGridViewComboBoxCell : DataGridViewCell
Visual C++
public ref class DataGridViewComboBoxCell : public DataGridViewCell
F#
type DataGridViewComboBoxCell =  
    class
        inherit DataGridViewCell
    end

El tipo DataGridViewComboBoxCell expone los siguientes miembros.

  NombreDescripción
Método públicoDataGridViewComboBoxCellInicializa una nueva instancia de la clase DataGridViewComboBoxCell.
Arriba
  NombreDescripción
Propiedad públicaAccessibilityObjectObtiene el objeto DataGridViewCell..::.DataGridViewCellAccessibleObject asignado a DataGridViewCell. (Se hereda de DataGridViewCell).
Propiedad públicaAutoCompleteObtiene o establece un valor que indica si la celda coincidirá hará coincidir los caracteres que se están escribiendo en la celda con una de las posibles opciones de la lista desplegable.
Propiedad públicaColumnIndexObtiene el índice de columna de esta celda. (Se hereda de DataGridViewCell).
Propiedad públicaContentBoundsObtiene el rectángulo delimitador que rodea el área de contenido de la celda. (Se hereda de DataGridViewCell).
Propiedad públicaContextMenuStripObtiene o establece el menú contextual asociado a la celda. (Se hereda de DataGridViewCell).
Propiedad públicaDataGridViewObtiene el control DataGridView asociado a este elemento. (Se hereda de DataGridViewElement).
Propiedad públicaDataSourceObtiene o establece el origen de datos cuyos datos contienen las posibles selecciones mostradas en la lista desplegable.
Propiedad públicaDefaultNewRowValueObtiene el valor predeterminado de una celda de la fila de nuevos registros. (Se hereda de DataGridViewCell).
Propiedad públicaDisplayedObtiene un valor que indica si la celda se muestra actualmente en pantalla. (Se hereda de DataGridViewCell).
Propiedad públicaDisplayMemberObtiene o establece una cadena que especifica de dónde recopilar las opciones que mostrar en la lista desplegable.
Propiedad públicaDisplayStyleObtiene o establece un valor que determina cómo se muestra el cuadro combinado cuando no está en modo de edición.
Propiedad públicaDisplayStyleForCurrentCellOnlyObtiene o establece un valor que indica si el valor de la propiedad DisplayStyle se aplica a la celda sólo cuando es la celda actual del control DataGridView.
Propiedad públicaDropDownWidthObtiene o establece el ancho de la parte de lista desplegable de un cuadro combinado.
Propiedad públicaEditedFormattedValueObtiene el valor actual con formato de la celda, con independencia de si la celda está en modo de edición y no se ha confirmado el valor. (Se hereda de DataGridViewCell).
Propiedad públicaEditTypeObtiene el tipo del control de edición hospedado de la celda. (Invalida a DataGridViewCell..::.EditType).
Propiedad públicaErrorIconBoundsObtiene los límites del icono de error para la celda. (Se hereda de DataGridViewCell).
Propiedad públicaErrorTextObtiene o establece el texto que describe una condición de error asociada a la celda. (Se hereda de DataGridViewCell).
Propiedad públicaFlatStyleObtiene o establece la apariencia de estilo plano de la celda.
Propiedad públicaFormattedValueObtiene el valor de la celda con el formato para mostrar. (Se hereda de DataGridViewCell).
Propiedad públicaFormattedValueTypeObtiene el tipo de clase del valor con formato asociado a la celda. (Invalida a DataGridViewCell..::.FormattedValueType).
Propiedad públicaFrozenObtiene un valor que indica si la celda está inmovilizada. (Se hereda de DataGridViewCell).
Propiedad públicaHasStyleObtiene un valor que indica si se ha establecido la propiedad Style. (Se hereda de DataGridViewCell).
Propiedad públicaInheritedStateObtiene el estado actual de la celda tal como lo hereda del estado de su fila y columna. (Se hereda de DataGridViewCell).
Propiedad públicaInheritedStyleObtiene el estilo aplicado actualmente a la celda. (Se hereda de DataGridViewCell).
Propiedad públicaIsInEditModeObtiene un valor que indica si actualmente se está editando la celda. (Se hereda de DataGridViewCell).
Propiedad públicaItemsObtiene los objetos que representan la selección mostrados en la lista desplegable.
Propiedad públicaMaxDropDownItemsObtiene o establece el número máximo de elementos mostrados en la lista desplegable.
Propiedad públicaOwningColumnObtiene la columna que contiene esta celda. (Se hereda de DataGridViewCell).
Propiedad públicaOwningRowObtiene la fila que contiene esta celda. (Se hereda de DataGridViewCell).
Propiedad públicaPreferredSizeObtiene el tamaño, en píxeles, de un área rectangular en la que cabe la celda. (Se hereda de DataGridViewCell).
Propiedad públicaReadOnlyObtiene o establece un valor que indica si se pueden editar los datos de la celda. (Se hereda de DataGridViewCell).
Propiedad públicaResizableObtiene un valor que indica si se puede cambiar el tamaño de la celda. (Se hereda de DataGridViewCell).
Propiedad públicaRowIndexObtiene el índice de la fila primaria de la celda. (Se hereda de DataGridViewCell).
Propiedad públicaSelectedObtiene o establece un valor que indica si se ha seleccionado la celda. (Se hereda de DataGridViewCell).
Propiedad públicaSizeObtiene el tamaño de la celda. (Se hereda de DataGridViewCell).
Propiedad públicaSortedObtiene o establece un valor que indica si los elementos del cuadro combinado se deben ordenar automáticamente.
Propiedad públicaStateObtiene el estado de la interfaz de usuario del elemento. (Se hereda de DataGridViewElement).
Propiedad públicaStyleObtiene o establece el estilo de la celda. (Se hereda de DataGridViewCell).
Propiedad públicaTagObtiene o establece el objeto que contiene datos complementarios sobre la celda. (Se hereda de DataGridViewCell).
Propiedad públicaToolTipTextObtiene o establece el texto de información sobre herramientas asociado a esta celda. (Se hereda de DataGridViewCell).
Propiedad públicaValueObtiene o establece el valor asociado a esta celda. (Se hereda de DataGridViewCell).
Propiedad públicaValueMemberObtiene o establece una cadena que especifica de dónde recopilar los valores subyacentes utilizados en la lista desplegable.
Propiedad públicaValueTypeObtiene o establece el tipo de datos de los valores de la celda. (Invalida a DataGridViewCell..::.ValueType).
Propiedad públicaVisibleObtiene un valor que indica si la celda está en una fila o columna que se ha ocultado. (Se hereda de DataGridViewCell).
Arriba
  NombreDescripción
Método públicoAdjustCellBorderStyleModifica el estilo de borde de celda de entrada según los criterios especificados. (Se hereda de DataGridViewCell).
Método protegidoBorderWidthsDevuelve un objeto Rectangle que representa el ancho de todos los márgenes de la celda. (Se hereda de DataGridViewCell).
Método protegidoClickUnsharesRowIndica si la fila de la celda dejará de estar compartida al hacer clic en la celda. (Se hereda de DataGridViewCell).
Método públicoCloneCrea una copia exacta de esta celda. (Invalida a DataGridViewCell..::.Clone()()()).
Método protegidoContentClickUnsharesRowIndica si la fila de la celda dejará de estar compartida al hacer clic en el contenido de la celda. (Se hereda de DataGridViewCell).
Método protegidoContentDoubleClickUnsharesRowIndica si la fila de la celda dejará de estar compartida al hacer doble clic en el contenido de la celda. (Se hereda de DataGridViewCell).
Método protegidoCreateAccessibilityInstanceCrea un nuevo objeto accesible para la celda DataGridViewCell. (Se hereda de DataGridViewCell).
Método públicoDetachEditingControlQuita el control de edición de la celda de DataGridView. (Invalida a DataGridViewCell..::.DetachEditingControl()()()).
Método públicoDispose()()()Libera todos los recursos utilizados por el objeto DataGridViewCell. (Se hereda de DataGridViewCell).
Método protegidoDispose(Boolean)Libera los recursos no administrados que utiliza DataGridViewCell y, opcionalmente, libera los recursos administrados. (Se hereda de DataGridViewCell).
Método protegidoDoubleClickUnsharesRowIndica si la fila de la celda dejará de estar compartida al hacer doble clic en la celda. (Se hereda de DataGridViewCell).
Método protegidoEnterUnsharesRowIndica si la fila primaria va a dejar de estar compartida cuando el foco se desplace a la celda. (Se hereda de DataGridViewCell).
Método públicoEquals(Object)Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object).
Método protegidoFinalizeLibera los recursos no administrados y realiza otras operaciones de limpieza antes de que el recolector de elementos no utilizados reclame DataGridViewCell. (Se hereda de DataGridViewCell).
Método protegidoGetClipboardContentRecupera el valor con formato de la celda que copiar en el Clipboard. (Se hereda de DataGridViewCell).
Método públicoGetContentBounds(Int32)Devuelve el rectángulo delimitador que rodea el área de contenido de la celda utilizando un objeto Graphics predeterminado y el estilo de celda actualmente en vigor para la celda. (Se hereda de DataGridViewCell).
Método protegidoGetContentBounds(Graphics, DataGridViewCellStyle, Int32)Devuelve el rectángulo delimitador que rodea el área de contenido de la celda, que se calcula utilizando el objeto Graphics especificado y el estilo de celda. (Invalida a DataGridViewCell..::.GetContentBounds(Graphics, DataGridViewCellStyle, Int32)).
Método públicoGetEditedFormattedValueDevuelve el valor actual con formato de la celda, con independencia de si la celda está en modo de edición y no se ha confirmado el valor. (Se hereda de DataGridViewCell).
Método protegidoGetErrorIconBoundsDevuelve el rectángulo delimitador que rodea el icono de error de la celda, si se muestra alguno. (Invalida a DataGridViewCell..::.GetErrorIconBounds(Graphics, DataGridViewCellStyle, Int32)).
Método protegidoGetErrorTextDevuelve una cadena que representa el error para la celda. (Se hereda de DataGridViewCell).
Método protegidoGetFormattedValueObtiene el valor con formato de los datos de la celda. (Invalida a DataGridViewCell..::.GetFormattedValue(Object, Int32, DataGridViewCellStyle%, TypeConverter, TypeConverter, DataGridViewDataErrorContexts)).
Método públicoGetHashCodeActúa como función hash para un tipo concreto. (Se hereda de Object).
Método públicoGetInheritedContextMenuStripObtiene el menú contextual heredado para la celda actual. (Se hereda de DataGridViewCell).
Método públicoGetInheritedStateDevuelve un valor que indica el estado actual de la celda tal como lo hereda del estado de su fila y columna. (Se hereda de DataGridViewCell).
Método públicoGetInheritedStyleObtiene el estilo aplicado a la celda. (Se hereda de DataGridViewCell).
Método protegidoGetPreferredSizeCalcula el tamaño preferido, en píxeles, de la celda. (Invalida a DataGridViewCell..::.GetPreferredSize(Graphics, DataGridViewCellStyle, Int32, Size)).
Método protegidoGetSizeObtiene el tamaño de la celda. (Se hereda de DataGridViewCell).
Método públicoGetTypeObtiene el objeto Type de la instancia actual. (Se hereda de Object).
Método protegidoGetValueObtiene el valor de la celda. (Se hereda de DataGridViewCell).
Método públicoInitializeEditingControlAdjunta e inicializa el control de edición hospedado. (Invalida a DataGridViewCell..::.InitializeEditingControl(Int32, Object, DataGridViewCellStyle)).
Método protegidoKeyDownUnsharesRowIndica si la fila primaria deja de estar compartida cuando el usuario presiona una tecla mientras el foco está en la celda. (Se hereda de DataGridViewCell).
Método públicoKeyEntersEditModeDetermina si el modo de edición se debe iniciar basándose en la clave dada. (Invalida a DataGridViewCell..::.KeyEntersEditMode(KeyEventArgs)).
Método protegidoKeyPressUnsharesRowIndica si una fila va a dejar de estar compartida cuando se presiona una tecla mientras el foco está en una celda de la fila. (Se hereda de DataGridViewCell).
Método protegidoKeyUpUnsharesRowIndica si la fila primaria deja de estar compartida cuando el usuario libera una tecla mientras el foco está en la celda. (Se hereda de DataGridViewCell).
Método protegidoLeaveUnsharesRowIndica si una fila va a dejar de estar compartida cuando el foco abandone una celda de la fila. (Se hereda de DataGridViewCell).
Método protegidoMemberwiseCloneCrea una copia superficial del objeto Object actual. (Se hereda de Object).
Método protegidoMouseClickUnsharesRowIndica si una fila va a dejar de estar compartida cuando el usuario haga clic en un botón del mouse mientras el puntero está en una celda de la fila. (Se hereda de DataGridViewCell).
Método protegidoMouseDoubleClickUnsharesRowIndica si una fila va a dejar de estar compartida cuando el usuario haga doble clic en una celda de la fila. (Se hereda de DataGridViewCell).
Método protegidoMouseDownUnsharesRowIndica si una fila va a dejar de estar compartida cuando el usuario mantiene presionado un botón del mouse mientras el puntero está en una celda de la fila. (Se hereda de DataGridViewCell).
Método protegidoMouseEnterUnsharesRowIndica si una fila va a dejar de estar compartida cuando el puntero del mouse se sitúe sobre una celda de la fila. (Se hereda de DataGridViewCell).
Método protegidoMouseLeaveUnsharesRowIndica si una fila va a dejar de estar compartida cuando el puntero del mouse salga de la fila. (Se hereda de DataGridViewCell).
Método protegidoMouseMoveUnsharesRowIndica si una fila va a dejar de estar compartida cuando el puntero del mouse se sitúe sobre una celda de la fila. (Se hereda de DataGridViewCell).
Método protegidoMouseUpUnsharesRowIndica si una fila va a dejar de estar compartida cuando el usuario suelta un botón del mouse mientras el puntero está en una celda de la fila. (Se hereda de DataGridViewCell).
Método protegidoOnClickSe le llama al hacer clic en la celda. (Se hereda de DataGridViewCell).
Método protegidoOnContentClickSe le llama al hacer clic en el contenido de la celda. (Se hereda de DataGridViewCell).
Método protegidoOnContentDoubleClickSe le llama al hacer doble clic en el contenido de la celda. (Se hereda de DataGridViewCell).
Método protegidoOnDataGridViewChangedSe le llama cuando cambia la propiedad DataGridView de la celda. (Invalida a DataGridViewCell..::.OnDataGridViewChanged()()()).
Método protegidoOnDoubleClickSe le llama al hacer doble clic en la celda. (Se hereda de DataGridViewCell).
Método protegidoOnEnterSe le llama cuando el foco se desplaza a una celda. (Invalida a DataGridViewCell..::.OnEnter(Int32, Boolean)).
Método protegidoOnKeyDownSe le llama cuando se presiona una tecla de carácter mientras el foco está en una celda. (Se hereda de DataGridViewCell).
Método protegidoOnKeyPressSe le llama cuando se presiona una tecla mientras el foco está en una celda. (Se hereda de DataGridViewCell).
Método protegidoOnKeyUpSe le llama cuando se suelta una tecla de carácter mientras el foco está en una celda. (Se hereda de DataGridViewCell).
Método protegidoOnLeaveSe le llama cuando el foco se desplaza de una celda. (Invalida a DataGridViewCell..::.OnLeave(Int32, Boolean)).
Método protegidoOnMouseClickSe le llama cuando el usuario hace clic en un botón del mouse mientras el puntero está en una celda. (Invalida a DataGridViewCell..::.OnMouseClick(DataGridViewCellMouseEventArgs)).
Método protegidoOnMouseDoubleClickSe le llama cuando el usuario hace clic en un botón del mouse mientras el puntero está en una celda. (Se hereda de DataGridViewCell).
Método protegidoOnMouseDownSe le llama cuando el usuario mantiene presionado un botón del mouse mientras el puntero está en una celda. (Se hereda de DataGridViewCell).
Método protegidoOnMouseEnterSe le llama cuando el puntero del mouse se mueve sobre una celda. (Invalida a DataGridViewCell..::.OnMouseEnter(Int32)).
Método protegidoOnMouseLeaveSe le llama cuando el puntero del mouse sale de la celda. (Invalida a DataGridViewCell..::.OnMouseLeave(Int32)).
Método protegidoOnMouseMoveSe le llama cuando el puntero del mouse se mueve dentro de una celda. (Invalida a DataGridViewCell..::.OnMouseMove(DataGridViewCellMouseEventArgs)).
Método protegidoOnMouseUpSe le llama cuando el usuario suelta un botón del mouse mientras el puntero está en una celda. (Se hereda de DataGridViewCell).
Método protegidoPaintDibuja la celda DataGridViewComboBoxCell actual. (Invalida a DataGridViewCell..::.Paint(Graphics, Rectangle, Rectangle, Int32, DataGridViewElementStates, Object, Object, String, DataGridViewCellStyle, DataGridViewAdvancedBorderStyle, DataGridViewPaintParts)).
Método protegidoPaintBorderDibuja el borde del control DataGridViewCell actual. (Se hereda de DataGridViewCell).
Método protegidoPaintErrorIconDibuja el icono de error del control DataGridViewCell actual. (Se hereda de DataGridViewCell).
Método públicoParseFormattedValueConvierte un valor con formato de presentación en un valor de celda real. (Invalida a DataGridViewCell..::.ParseFormattedValue(Object, DataGridViewCellStyle, TypeConverter, TypeConverter)).
Método públicoPositionEditingControlEstablece la ubicación y tamaño del control de edición que hospeda una celda del control DataGridView. (Se hereda de DataGridViewCell).
Método públicoPositionEditingPanelEstablece la ubicación y tamaño del panel de edición que hospeda la celda y devuelve los límites normales del control de edición dentro del panel de edición. (Se hereda de DataGridViewCell).
Método protegidoRaiseCellClickProvoca el evento DataGridView..::.CellClick. (Se hereda de DataGridViewElement).
Método protegidoRaiseCellContentClickGenera el evento DataGridView..::.CellContentClick. (Se hereda de DataGridViewElement).
Método protegidoRaiseCellContentDoubleClickGenera el evento DataGridView..::.CellContentDoubleClick. (Se hereda de DataGridViewElement).
Método protegidoRaiseCellValueChangedGenera el evento DataGridView..::.CellValueChanged. (Se hereda de DataGridViewElement).
Método protegidoRaiseDataErrorGenera el evento DataGridView..::.DataError. (Se hereda de DataGridViewElement).
Método protegidoRaiseMouseWheelProvoca el evento Control..::.MouseWheel. (Se hereda de DataGridViewElement).
Método protegidoSetValueEstablece el valor de la celda. (Se hereda de DataGridViewCell).
Método públicoToStringDevuelve una cadena que describe el objeto actual. (Invalida a DataGridViewCell..::.ToString()()()).
Arriba

La clase DataGridViewComboBoxCell es un tipo especializado de DataGridViewCell utilizado para mostrar un control de cuadro combinado que es un campo de edición combinado con un campo de selección de lista. La clase DataGridViewComboBoxCell seleccionada actualmente contiene un control DataGridViewComboBoxEditingControl en el que el usuario puede cambiar el valor de la celda, presuponiendo que la propiedad ReadOnly de la celda está establecida en false.

A diferencia del control ComboBox, DataGridViewComboBoxCell no tiene las propiedades SelectedIndex ni SelectedValue. En su lugar, cuando se selecciona un valor de una lista desplegable, se establece la propiedad Value de celda.

DataGridViewComboBoxColumn corresponde al tipo de columna especializado para contener celdas de este tipo. De manera predeterminada, la propiedad DataGridViewComboBoxColumn..::.CellTemplate se inicializa con una nueva DataGridViewComboBoxCell. Para modelar las celdas dentro de una columna como un control DataGridViewComboBoxCell existente, establezca la propiedad CellTemplate de la columna en la celda para usar como modelo.

Las propiedades de la columna relacionadas con celdas actúan como contenedores para las propiedades con nombres similares de la celda de plantilla. Al cambiar los valores de propiedad de la celda de plantilla sólo se verán afectadas las celdas que estén basadas en la plantilla y se hayan agregado después del cambio. Al cambiar los valores de propiedad relacionados con las celdas de la columna, sin embargo, se actualizará la celda de la plantilla y también todas las demás celdas de la columna, actualizando su presentación si es necesario.

Normalmente trabajará con el tipo DataGridViewComboBoxColumn, a menos que desee reemplazar valores de columna para celdas específicas. Las instrucciones descritas en el tema de información general sobre la clase DataGridViewComboBoxColumn para rellenar la lista desplegable se aplican a instancias de celda y de columna.

Notas para los herederos

Cuando derive del control DataGridViewComboBoxCell y agregue nuevas propiedades a la clase derivada, asegúrese de reemplazar el método Clone para copiar las nuevas propiedades durante las operaciones de clonación. También debe llamar al método Clone de la clase base para que las propiedades de la clase base se copien a la nueva celda.

En el ejemplo de código siguiente se muestra la clase DataGridViewComboBoxColumn, que utiliza la clase DataGridViewComboBoxCell. Puede establecer las propiedades DataSource, ValueMember y DisplayMember de la celda del mismo modo que se establecen las propiedades de columna correspondientes en este ejemplo. Este ejemplo forma parte de un ejemplo más extenso que está disponible en el tema de información general sobre la clase DataGridViewComboBoxColumn.

Visual Basic
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
C#
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
};
Visual C++
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
    };

.NET Framework

Compatible con: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.
Contenido de la comunidad   ¿Qué es Community Content?
Agregar contenido nuevo RSS  Anotaciones
Processing
© 2012 Microsoft. Reservados todos los derechos. Términos de uso | Marcas Registradas | Privacidad
Page view tracker