DataColumn.Expression 属性

定义

获取或设置表达式,用于筛选行、计算列中的值或创建聚合列。

public string Expression { get; set; }
[System.Data.DataSysDescription("DataColumnExpressionDescr")]
public string Expression { get; set; }

属性值

用来计算列的值,或创建聚合列的表达式。 表达式的返回类型由列的 DataType 来确定。

属性

例外

AutoIncrementUnique 属性设置为 true

在使用 CONVERT 函数时,表达式的计算结果为一个字符串,但该字符串不包含可以转换成类型参数的表示形式。

在使用 CONVERT 函数时,所请求的强制转换不可能完成。 有关可能的强制转换的详细信息,请参见下面一节中的 Conversion 函数。

在使用 SUBSTRING 函数时,起始参数超出范围。

-或者-

在使用 SUBSTRING 函数时,长度参数超出范围。

在使用 LEN 函数或 TRIM 函数时,表达式的计算结果不是字符串。 这包括计算结果为 Char 的表达式。

示例

以下示例在 中创建三列 DataTable。 第二列和第三列包含表达式:第二个使用可变税率计算税收,第三个将计算结果添加到第一列的值。 生成的表显示在 控件 DataGrid 中。

private void CalcColumns()
{
    DataTable table = new DataTable ();

    // Create the first column.
    DataColumn priceColumn = new DataColumn();
    priceColumn.DataType = System.Type.GetType("System.Decimal");
    priceColumn.ColumnName = "price";
    priceColumn.DefaultValue = 50;

    // Create the second, calculated, column.
    DataColumn taxColumn = new DataColumn();
    taxColumn.DataType = System.Type.GetType("System.Decimal");
    taxColumn.ColumnName = "tax";
    taxColumn.Expression = "price * 0.0862";

    // Create third column.
    DataColumn totalColumn = new DataColumn();
    totalColumn.DataType = System.Type.GetType("System.Decimal");
    totalColumn.ColumnName = "total";
    totalColumn.Expression = "price + tax";

    // Add columns to DataTable.
    table.Columns.Add(priceColumn);
    table.Columns.Add(taxColumn);
    table.Columns.Add(totalColumn);

    DataRow row = table.NewRow();
    table.Rows.Add(row);
    DataView view = new DataView(table);
    dataGrid1.DataSource = view;
}

注解

有关此 API 的详细信息,请参阅 DataColumn.Expression 的补充 API 说明

适用于

产品 版本
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

另请参阅