Создание столбцов выражений
Можно определить выражение для столбца, позволяя тем самым хранить в нем значение, вычисляемое из значений других столбцов той же строки или из значений столбцов нескольких строк таблицы. Для определения вычисляемого выражения используется свойство Expression целевого столбца, свойство ColumnName - для ссылки на другие столбцы в выражении. Тип данных DataType столбца выражения должен соответствовать типу данных значения, возвращаемого выражением.
В следующей таблице приведен список возможного использования столбцов выражений в таблице.
Тип выражения | Пример |
---|---|
Сравнение | "Total >= 500" |
Вычисление | "UnitPrice * Quantity" |
Агрегат | Sum(Price) |
Свойство Expression можно задать для существующего объекта DataColumn или включить свойство в качестве третьего аргумента, переданного DataColumn конструктору, как показано в следующем примере.
workTable.Columns.Add("Total",Type.GetType("System.Double"))
workTable.Columns.Add("SalesTax", Type.GetType("System.Double"), _
"Total * 0.086")
workTable.Columns.Add("Total", typeof(Double));
workTable.Columns.Add("SalesTax", typeof(Double), "Total * 0.086");
Выражение может содержать ссылки на другие столбцы выражений, но циклическая ссылка, при которой два выражения ссылаются друг на друга, вызовет исключение. Правила написания выражений см. в Expression свойстве класса DataColumn .