天天看點

DataTable 給列設定表達式

            string exp = "1<Q1+Q2<100";

            DataTable dataTable = new DataTable();
            dataTable.Columns.Add("Q1", typeof(float));
            dataTable.Columns.Add("Q2", typeof(float));
            dataTable.Columns.Add("Q3", typeof(float));
            //建立列時,給列設定表達式
            dataTable.Columns.Add("exp", typeof(string), exp);
            //随時設定表達式
            dataTable.Columns["exp"].Expression=exp;

            DataRow dataRow = dataTable.NewRow();
            dataRow["Q1"] = 1;
            dataRow["Q2"] = 2;
            dataRow["Q3"] = 3;
            dataTable.Rows.Add(dataRow);

            //結果:ret=true,如果exp=“Q1+Q2”,那麼ret=3
            var ret = dataRow["exp"].ToString();