请问有没有可能为DataColumn.Expression属性添加的表达式中自定义处理函数(像IIF函数一样)。该如何何做?

解决方案 »

  1.   

    ms-help://MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfSystemDataDataColumnClassExpressionTopic.htm
    private void CalcColumns(){
        DataColumn cPrice;
        DataColumn cTax;
        DataColumn cTotal;
        DataTable myTable = new DataTable ();
     
        // Create the first column.
        cPrice = new DataColumn();
        cPrice.DataType = System.Type.GetType("System.Decimal");
        cPrice.ColumnName = "price";
        cPrice.DefaultValue = 50;
             
        // Create the second, calculated, column.
        cTax = new DataColumn();
        cTax.DataType = System.Type.GetType("System.Decimal");
        cTax.ColumnName = "tax";
        cTax.Expression = "price * 0.0862";
             
        // Create third column.
        cTotal = new DataColumn();
        cTotal.DataType = System.Type.GetType("System.Decimal");
        cTotal.ColumnName = "total";
        cTotal.Expression = "price + tax";
        
        // Add columns to DataTable.
        myTable.Columns.Add(cPrice);
        myTable.Columns.Add(cTax);
        myTable.Columns.Add(cTotal);
        DataRow myRow;
        myRow = myTable.NewRow();
        myTable.Rows.Add(myRow);
        DataView myView = new DataView(myTable);
        dataGrid1.DataSource = myView;
     }
      

  2.   

    楼上的理解错误,楼主要求的是实现 DataColumn.Expression = "" 表达式  Expression中 支持的一些常用计算函数 比如 Max(), Sum(), IIF(expression,<true Value>,<false Value>).
       就是自己实现类似上面的函数,然后可以在DataColumn表达式中这样写:
            DataColumn.Expression = " 自定义函数(cPrice*cTax)"
      

  3.   

    UP + 学习 + 接分UP + 学习 + 接分UP + 学习 + 接分