Skip to main content
A newer version of this page is available. .

VGridControlBase.SetCellValue(BaseRow, Int32, Object) Method

Assigns a value to a cell.

Namespace: DevExpress.XtraVerticalGrid

Assembly: DevExpress.XtraVerticalGrid.v21.2.dll

NuGet Packages: DevExpress.Win.Design, DevExpress.Win.VerticalGrid

Declaration

public virtual void SetCellValue(
    BaseRow gridRow,
    int recordIndex,
    object value
)

Parameters

Name Type Description
gridRow BaseRow

The row that contains the cell.

recordIndex Int32

The index (visual position) of the record that contains the cell.

value Object

An object that specifies the cell’s new value.

Remarks

Use the GetCellValue or SetCellValue method to obtain or set a cell value. To identify the cell, use the field name (which specifies a row) and record index (which specifies a column). You can also use an EditorRow, MultiEditorRow, or RowProperties object to specify a row. For multi-editor rows (which display multiple cells in a single column), you should also specify the cell index. The image below illustrates cells in a single- and multi-editor row.

image

// Cell is identified by a field name and record index.
vGridControl.SetCellValue(fieldName: "Name", recordIndex: 0, value: "Touareg");
// Cell is identified by a single-editor row object and record index.
vGridControl.SetCellValue(gridRow: erName, recordIndex: 0, value: "Touareg");
// Cell is identified by a multi-editor row object, record index and cell index.
vGridControl.SetCellValue(meRow: merTransmmision, recordIndex: 0, cellIndex: 1, value: 8);
// Cell is identified by a row properties object and record index.
vGridControl.SetCellValue(props: merpTransmissionSpeeds, recordIndex: 0, value: 8);

If you obtain or set the focused row’s value, check if the focused row is an EditorRow or MultiEditorRow, and then use the method’s corresponding overload.

string focusedCellValue = string.Empty;
if (vGridControl1.FocusedRow is DevExpress.XtraVerticalGrid.Rows.EditorRow)
   focusedCellValue = vGridControl1.GetCellValue(vGridControl1.FocusedRow, vGridControl1.FocusedRecord).ToString();

Important

If the specified value’s type and the data field’s type do not match, the InvalidValueException event is raised. See the following topic for more information: Validation.

Example

The following sample code handles the VGridControlBase.CellValueChanged event to sum up the prices of the selected games in the purchase order list.

GetCellValue_SetCellValue

using DevExpress.XtraVerticalGrid;
using DevExpress.XtraVerticalGrid.Rows;
using DevExpress.XtraVerticalGrid.Events;

private void vGridControl1_CellValueChanged(object sender, CellValueChangedEventArgs e) {
   double sum = 0;
   BaseRow row = vGridControl1.GetFirst();
   while (vGridControl1.GetNext(row) != null){
      if (row.XtraRowTypeID == 2){
         if (Convert.ToBoolean(vGridControl1.GetCellValue(row as MultiEditorRow, 0, 0)) == true)
            sum += Convert.ToDouble(vGridControl1.GetCellValue(row as MultiEditorRow, 0, 1));
      }
      row = vGridControl1.GetNext(row);
   }
   vGridControl1.SetCellValue(rowPrice, 0, sum);
}
See Also