DataGridViewComboBoxColumn.DisplayMember Eigenschaft

Definition

Ruft eine Zeichenfolge ab, die die Eigenschaft oder Spalte angibt, aus der die in den Kombinationsfeldern anzuzeigenden Zeichenfolgen abgerufen werden, oder legt diese fest.Gets or sets a string that specifies the property or column from which to retrieve strings for display in the combo boxes.

public:
 property System::String ^ DisplayMember { System::String ^ get(); void set(System::String ^ value); };
[System.ComponentModel.TypeConverter("System.Windows.Forms.Design.DataMemberFieldConverter, System.Windows.Forms.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public string DisplayMember { get; set; }
[System.ComponentModel.TypeConverter("System.Windows.Forms.Design.DataMemberFieldConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public string DisplayMember { get; set; }
[System.ComponentModel.TypeConverter("System.Windows.Forms.Design.DataMemberFieldConverter, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public string DisplayMember { get; set; }
member this.DisplayMember : string with get, set
Public Property DisplayMember As String

Eigenschaftswert

Eine String, die den Namen einer Eigenschaft oder Spalte in der Datenquelle angibt, die in der DataSource-Eigenschaft angegeben wird.A String that specifies the name of a property or column in the data source specified in the DataSource property. Der Standardwert ist Empty.The default is Empty.

Attribute

Ausnahmen

Der Wert der CellTemplate-Eigenschaft ist null.The value of the CellTemplate property is null.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie ein DataGridViewComboBoxColumn verwendet wird, um die Dateneingabe der Title-Spalte zu unterstützen.The following code example demonstrates how to use a DataGridViewComboBoxColumn to aid in data entry of the title column. DisplayMember ist auf den Eigenschaftsnamen festgelegt, der für die Anzeige des vom Benutzer sichtbaren Texts zuständig ist.DisplayMember is set to the property name responsible for containing the user-viewable text. In diesem Beispiel wird der DisplayMember auf denselben Wert festgelegt wie ValueMember, da keine Zuordnung erforderlich ist.In this example, the DisplayMember is set to the same value as ValueMember because no mapping is necessary. Dieses Beispiel ist Teil eines größeren Beispiels, das im Thema Übersicht über DataGridViewComboBoxColumn-Klasse verfügbar ist.This example is part of a larger example available in the DataGridViewComboBoxColumn class overview topic.

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

Hinweise

Die Daten für die Werte, die in einer Spalte mit DataGridViewComboBoxCell Objekten gespeichert werden, werden vom DataGridView.DataSourceabgerufen.The data for the values stored in a column of DataGridViewComboBoxCell objects is obtained from the DataGridView.DataSource. Wenn diese Daten von einer nicht standardmäßigen Eigenschaft oder Spalte stammen, muss die DisplayMember-Eigenschaft auf den erforderlichen Eigenschaftsnamen oder Spaltennamen festgelegt werden.If this data comes from a nondefault property or column, then the DisplayMember property must be set to the necessary property name or column name.

Wenn es sich bei den Zellwerten um interne Werte handelt, die für den Benutzer nicht sichtbar sind, verwenden Sie DisplayMember und ValueMember, um die internen Zellen Werte den von Benutzern sichtbaren Werten zuzuordnen.If the cell values are internal values not visible to the user, then use DisplayMember and ValueMember to map the internal cell values to user-viewable values.

Wenn die DataSource-Eigenschaft auf ein Zeichen folgen Array festgelegt ist, muss die DisplayMember-Eigenschaft nicht festgelegt werden, da jede Zeichenfolge im Array als gültige Anzeige Zeichenfolge und als gültiger zugrunde liegender Wert verwendet wird.When the DataSource property is set to a string array, the DisplayMember property does not need to be set because each string in the array will be used as a valid display string and as a valid underlying value.

Wenn Sie diese Eigenschaft abrufen oder festlegen, wird die DisplayMember-Eigenschaft des von der CellTemplate-Eigenschaft zurückgegebenen-Objekts abgerufen oder festgelegt.Getting or setting this property gets or sets the DisplayMember property of the object returned by the CellTemplate property. Wenn diese Eigenschaft festgelegt wird, wird auch die DisplayMember-Eigenschaft jeder Zelle in der Spalte festgelegt, und die Spalten Anzeige wird aktualisiert.Setting this property also sets the DisplayMember property of every cell in the column and refreshes the column display. Um den angegebenen Wert für einzelne Zellen zu überschreiben, legen Sie die Zellwerte fest, nachdem Sie den Spaltenwert festgelegt haben.To override the specified value for individual cells, set the cell values after you set the column value.

Gilt für:

Siehe auch