.NET Framework 4.5.2+
.NET Framework 4.5.2+
.NET Standard 2.0+

IDataSourceColumnTypeDetector Interface

Provides the capability to identify the name and type of each column in a data source created from a cell range.

Namespace: DevExpress.Spreadsheet

Assembly: DevExpress.Spreadsheet.v21.2.Core.dll


public interface IDataSourceColumnTypeDetector


To specify column names and types using your own custom specifics, implement a class with the IDataSourceColumnTypeDetector interface and assign an instance of this class to the RangeDataSourceOptions.DataSourceColumnTypeDetector property of the options object passed to the CellRange.GetDataSource or the WorksheetDataBindingCollection.CreateDataSource method.


class MyColumnDetector : IDataSourceColumnTypeDetector {
    public string GetColumnName(int index, int offset, CellRange range) {
        if (offset > 3) return String.Format("Column{0}", index);
        string[] names = { "City", "Year", "Month", "Temperature" };
        return names[index];

    public Type GetColumnType(int index, int offset, CellRange range) {
        Type defaultType = typeof(string);
        CellValue value = range[0, offset].Value;
        if (value.IsText) return typeof(string);
        if (value.IsBoolean) return typeof(bool);
        if (value.IsDateTime) return typeof(DateTime);
        if (value.IsNumeric) return typeof(double);
        return defaultType;

The following code snippets (auto-collected from DevExpress Examples) contain references to the IDataSourceColumnTypeDetector interface.


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.

See Also