DataGridViewCell.ValueType DataGridViewCell.ValueType DataGridViewCell.ValueType DataGridViewCell.ValueType Property

定义

获取或设置单元格中值的数据类型。Gets or sets the data type of the values in the cell.

public:
 virtual property Type ^ ValueType { Type ^ get(); void set(Type ^ value); };
[System.ComponentModel.Browsable(false)]
public virtual Type ValueType { get; set; }
member this.ValueType : Type with get, set
Public Overridable Property ValueType As Type

属性值

表示单元格中值的数据类型的 TypeA Type representing the data type of the value in the cell.

示例

下面的代码示例演示如何使用此属性。The following code example demonstrates the use of this property.

private DataGridView dataGridView1 = new DataGridView();

private void AddColorColumn()
{
    DataGridViewComboBoxColumn comboBoxColumn =
        new DataGridViewComboBoxColumn();
    comboBoxColumn.Items.AddRange(
        Color.Red, Color.Yellow, Color.Green, Color.Blue);
    comboBoxColumn.ValueType = typeof(Color);
    dataGridView1.Columns.Add(comboBoxColumn);
    dataGridView1.EditingControlShowing +=
        new DataGridViewEditingControlShowingEventHandler(
        dataGridView1_EditingControlShowing);
}

private void dataGridView1_EditingControlShowing(object sender,
    DataGridViewEditingControlShowingEventArgs e)
{
    ComboBox combo = e.Control as ComboBox;
    if (combo != null)
    {
        // Remove an existing event-handler, if present, to avoid 
        // adding multiple handlers when the editing control is reused.
        combo.SelectedIndexChanged -=
            new EventHandler(ComboBox_SelectedIndexChanged);

        // Add the event handler. 
        combo.SelectedIndexChanged +=
            new EventHandler(ComboBox_SelectedIndexChanged);
    }
}

private void ComboBox_SelectedIndexChanged(object sender, EventArgs e)
{
    ((ComboBox)sender).BackColor = (Color)((ComboBox)sender).SelectedItem;
}
Private WithEvents dataGridView1 As New DataGridView()

Private Sub AddColorColumn()

    Dim comboBoxColumn As New DataGridViewComboBoxColumn()
    comboBoxColumn.Items.AddRange( _
        Color.Red, Color.Yellow, Color.Green, Color.Blue)
    comboBoxColumn.ValueType = GetType(Color)
    dataGridView1.Columns.Add(comboBoxColumn)

End Sub

Private Sub dataGridView1_EditingControlShowing(ByVal sender As Object, _
    ByVal e As DataGridViewEditingControlShowingEventArgs) _
    Handles dataGridView1.EditingControlShowing

    Dim combo As ComboBox = CType(e.Control, ComboBox)
    If (combo IsNot Nothing) Then

        ' Remove an existing event-handler, if present, to avoid 
        ' adding multiple handlers when the editing control is reused.
        RemoveHandler combo.SelectedIndexChanged, _
            New EventHandler(AddressOf ComboBox_SelectedIndexChanged)

        ' Add the event handler. 
        AddHandler combo.SelectedIndexChanged, _
            New EventHandler(AddressOf ComboBox_SelectedIndexChanged)

    End If

End Sub

Private Sub ComboBox_SelectedIndexChanged( _
    ByVal sender As Object, ByVal e As EventArgs)

    Dim comboBox1 As ComboBox = CType(sender, ComboBox)
    comboBox1.BackColor = _
        CType(CType(sender, ComboBox).SelectedItem, Color)

End Sub

注解

如果尚未ValueType设置单元格的属性DataGridViewColumn.ValueType ,则使用所属列的属性(如果存在)。If the ValueType property for the cell has not been set, the DataGridViewColumn.ValueType property for the owning column is used, if it exists.

属性是单元中包含的实际数据对象, FormattedValue而属性是数据的格式化表示形式。 ValueThe Value property is the actual data object contained by the cell, whereas the FormattedValue property is the formatted representation of the data. ValueTypeFormattedValueType属性分别对应于这些值的数据类型。The ValueType and FormattedValueType properties correspond to the data types of these values, respectively.

适用于

另请参阅