第二个,先select * from A 
da.fill(dt);再DataColumn dc_1 = new DataColumn("d");
DataColumn dc_2 = new DataColumn("e");
...
dt.columns.add(dc_1);
dt.columns.add(dc_2);就肯定会出你要的效果

解决方案 »

  1.   

    [问题1]
    不是;遍历[问题2]
    是[问题3]
    通过问题1的答案加一列e,e=c+d; DataTable1.DefaultView.Sort = "e";然后绑定
      

  2.   

    其实sql很简单就能解决,相信楼主肯定知道,恐怕只是探讨一下或者有难言之隐~~ 呵呵
      

  3.   

    1 不会被自动填充。
    比如:
    DataTable customerTable = ds.Tables[0];
    DataColumn myDataColumn= customerTable.Columns.Add("id", System.Type.GetType("System.Decimal"));
       int i=0;
       foreach( DataRow row in customerTable.Rows )
       {
        row["id"]= i++;//类似这样赋值
       } 2 可以的3  c+d这一列绑定时,<asp:lable id=... ... text='A(<%#Databinder.Eval(Container.DataItem,"C")%>,<%#Databinder.Eval(Container.DataItem,"C")%>)'/>
    public string A(string a ,string b)
    {
      //处理C+D}
      

  4.   

    是这样:
    <asp:lable id=... ... text='A(<%#Databinder.Eval(Container.DataItem,"C")%>,<%#Databinder.Eval(Container.DataItem,"D")%>)'/>
      

  5.   

    [问题1]
    如果想让计算列自动更新可以用DataColumn的一个属性Expression:
    DataColumn col = new DataColumn();
    col.ColumnName = "c+d";
    col.DataType = typeof(Decimal);
    col.Expression = "c+d";
      

  6.   

    [问题4]
    表A 字段a,b,c
    如果我先在DataTable中声名两个计算列a+c , b+c,然后再用Select * from A 填充DataTable 这之后两个计算列的数据是不是被自动填充了?
      

  7.   

    这么说自定义的计算列在用Fill方法填充DataTable这种情况下毫无使用价值了?
    计算列只有在新建Row然后add到DataTable中时才会被自动填充?