英語で読む

次の方法で共有


DataColumn.Expression プロパティ

定義

行のフィルター処理、列内の値の計算、または集約列の作成に使用する式を取得または設定します。

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

プロパティ値

集約列内の値の計算または集約列の作成に使用する式。 式の戻り型は列の DataType によって決定されます。

属性

例外

AutoIncrement プロパティまたは Unique プロパティが true に設定されます。

CONVERT 関数を使用すると式が文字列と評価されますが、その文字列には型パラメーターに変換できる形式は含まれていません。

CONVERT 関数を使用する場合は、要求したキャストを実行できません。 実行できるキャストの詳細については、以降のセクションで変換関数に関するトピックを参照してください。

SUBSTRING 関数を使用する場合は、開始引数が範囲外にあります。

または

SUBSTRING 関数を使用する場合は、長さ引数が範囲外にあります。

LEN 関数または TRIM 関数を使用する場合は、式が文字列と評価されません。 これには Char と評価される式も含まれます。

次の例では、 に 3 つの列を DataTable作成します。 2 番目と 3 番目の列には式が含まれています。2 つ目は変動税率を使用して税を計算し、3 つ目は計算結果を最初の列の値に追加します。 結果のテーブルがコントロールに DataGrid 表示されます。

C#
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

こちらもご覧ください