DataGridViewComboBoxCell.ValueMember Eigenschaft

Definition

Ruft eine Zeichenfolge ab, die angibt, woher die in der Dropdownliste zu verwendenden Werte entnommen werden sollen, oder legt diese Zeichenfolge fest.

public virtual string ValueMember { get; set; }

Eigenschaftswert

Eine Zeichenfolge, die den Namen einer Eigenschaft oder einer Spalte angibt. Der Standardwert ist Empty und gibt an, dass diese Eigenschaft ignoriert wird.

Ausnahmen

Die DataSource-Eigenschaft ist nicht null, und der angegebene Wert beim Festlegen dieser Eigenschaft ist nicht null oder Empty und benennt keine gültige Eigenschaft oder Spalte in der Datenquelle.

Beispiele

Im folgenden Codebeispiel wird die Verwendung der DataGridViewComboBoxColumn.ValueMember -Eigenschaft veranschaulicht, die dieser Eigenschaft ähnelt. Dieses Beispiel ist Teil eines größeren Beispiels, das im Thema Klassenübersicht DataGridViewComboBoxColumn verfügbar ist.

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
};

Hinweise

ValueMember stellt den entsprechenden Wert einer Auswahl dar. Im Gegensatz dazu stellt die DisplayMember -Eigenschaft die Textinformationen dar, die in der Dropdownliste angezeigt werden.

Die DataSource -Eigenschaft gibt die Datenquelle für den Wert der in der Dropdownliste angezeigten Auswahlen an.

Wenn die Daten für die von DataGridViewComboBoxCell angezeigten Auswahlen aus einer nicht standardmäßigen Eigenschaft oder Spalte des DataSourcegezeichnet werden sollen, ValueMember müssen zusätzlich zu DataSourcefestgelegt werden.

Wenn DataSource auf ein Zeichenfolgenarray festgelegt ist, muss nicht festgelegt werden, ValueMember da jede Zeichenfolge im Array als gültige Anzeigezeichenfolge und als gültiger zugrunde liegender Wert verwendet wird.

Eine weitere Möglichkeit zum Laden von Kombinationsfeldauswahlen besteht darin, die Items -Eigenschaft zu verwenden. ValueMember muss den Eigenschaftennamen enthalten, aus dem die Auswahlen erfasst werden sollen.

Gilt für:

Produkt Versionen
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

Weitere Informationen