DataGridViewCell.Value 属性


获取或设置与此单元格关联的值。Gets or sets the value associated with this cell.

 property System::Object ^ Value { System::Object ^ get(); void set(System::Object ^ value); };
public object Value { get; set; }
member this.Value : obj with get, set
Public Property Value As Object



获取或设置该单元格要显示的数据。Gets or sets the data to be displayed by the cell. 默认值为 nullThe default is null.



RowIndex 不在有效范围(从 0 至控件中的行数减 1)内。RowIndex is outside the valid range of 0 to the number of rows in the control minus 1.

ColumnIndex 小于 0,这表示该单元格为行标头单元格。ColumnIndex is less than 0, indicating that the cell is a row header cell.


下面的代码示例演示如何使用属性更新单元格的内容 ValueThe following code example shows how to update a cell's contents with the Value property. 此示例摘自 如何:操作 Windows 窗体 DataGridView 控件中的行中提供的一个更大的代码示例。This example is part of a larger code example provided in How to: Manipulate Rows in the Windows Forms DataGridView Control.

// Give cheescake excellent rating.
void Button8_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
   UpdateStars( dataGridView->Rows[ 4 ], L"******************" );

int ratingColumn;
void UpdateStars( DataGridViewRow^ row, String^ stars )
   row->Cells[ ratingColumn ]->Value = stars;
   // Resize the column width to account for the new value.
   row->DataGridView->AutoResizeColumn( ratingColumn, DataGridViewAutoSizeColumnMode::DisplayedCells );

// Give cheescake excellent rating.
private void Button8_Click(object sender,
    System.EventArgs e)
    UpdateStars(dataGridView.Rows[4], "******************");

int ratingColumn = 3;

private void UpdateStars(DataGridViewRow row, string stars)

    row.Cells[ratingColumn].Value = stars;

    // Resize the column width to account for the new value.
' Give cheescake excellent rating.
Private Sub Button8_Click(ByVal sender As Object, _
    ByVal e As System.EventArgs) Handles Button8.Click

    UpdateStars(dataGridView.Rows(4), "******************")
End Sub

Private ratingColumn As Integer = 3

Private Sub UpdateStars(ByVal row As DataGridViewRow, _
    ByVal stars As String)

    row.Cells(ratingColumn).Value = stars

    ' Resize the column width to account for the new value.
    row.DataGridView.AutoResizeColumn(ratingColumn, _

End Sub


当向单元格分配不同的值时,将 CellValueChanged DataGridView 引发控件的事件。When you assign a different value to a cell, the CellValueChanged event of the DataGridView control is raised.

Value属性是单元中包含的实际数据对象,而 FormattedValue 属性是数据的格式化表示形式。The 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.

设置 Value 属性时,不会自动将指定的值从格式设置的显示值转换为基础单元值。When you set the Value property, the specified value is not automatically converted from a formatted, display value to an underlying cell value. 例如,忽略了 DataGridViewCellStyle 单元的效果,因此,将设置 ValueDataGridViewCellStyle.NullValue 不会导致属性值为 DataGridViewCellStyle.DataSourceNullValueFor example, the DataGridViewCellStyle in effect for the cell is ignored, so setting Value to DataGridViewCellStyle.NullValue does not result in a property value of DataGridViewCellStyle.DataSourceNullValue.