CellValue.FromObject(Object, ICellValueConverter) Method
Converts the specified object to a cell value using the custom converter.
Namespace: DevExpress.Spreadsheet
Assembly: DevExpress.Spreadsheet.v24.1.Core.dll
NuGet Package: DevExpress.Spreadsheet.Core
Declaration
Parameters
Name | Type | Description |
---|---|---|
value | Object | An object to be converted to a CellValue. |
converter | ICellValueConverter | A custom converter object that implements the ICellValueConverter interface. |
Returns
Type | Description |
---|---|
CellValue | A CellValue object. If the conversion cannot be performed, an InvalidCastException is thrown. |
Remarks
To convert a cell value to object, use the CellValue.ToObject method. For more information on cell values and their types, refer to Cell Data Types.
Example
To convert custom objects to cell values and vise versa, you can apply your own converters.
This example demonstrates how to convert a color object (Color) to a SpreadsheetControl-compatible cell value of the text type (CellValue) that corresponds to the color name. To do this, create a custom converter class that implements the ICellValueConverter interface, and call the CellValue.FromObject method with the color object and custom converter passed as parameters.
Worksheet worksheet = workbook.Worksheets[0];
Cell cell = worksheet.Cells["A1"];
cell.FillColor = Color.Orange;
cell.Value = CellValue.FromObject(cell.FillColor, new ColorToNameConverter());
// ...
class ColorToNameConverter : ICellValueConverter {
object ICellValueConverter.ConvertToObject(CellValue value) {
return null;
}
CellValue ICellValueConverter.TryConvertFromObject(object value) {
bool isColor = value.GetType() == typeof(Color);
if (!isColor)
return null;
return ((Color)value).Name;
}
}
Related GitHub Examples
The following code snippets (auto-collected from DevExpress Examples) contain references to the FromObject(Object, ICellValueConverter) method.
Note
The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.