ds.Relations.Add("OrdersDetail", ds.Tables["Orders"].Columns["id"],ds.Tables["Detail"].Columns["id"],);ds.Tables["Order"].Columns.Add("Total", typeof(int), "Sum(child.total)");
ds.Tables["Order"].Columns.Add("Price", typeof(int), "Sum(child.price)");
ds.Tables["Order"].Columns.Add("Num", typeof(int), "Sum(child.num)");这样是相应ID的一些统计。请问如何在Order中最后增加一个统计行,这样能统计出全部的total,price,num有多少想加一行用dr["Num"] = dt.Compute("sum(Num)", null);问题就是添加的Total Price Num 是只读列,属性也无法更改请问如何解决

解决方案 »

  1.   

    对的啊,所以我在Order里最后想增加行统计,可是到那一列却统计不出来,请问你有什么办法吗?
      

  2.   


    DataRow dr = ds.Tables["Order"].NewRow;
    dr[""] =  dt.Compute("sum(Num)", null);
    ds.Tables["Order"].Rows.Add(dr);
      

  3.   

    谢谢
    对的,我就是这么想加一行,可是Num,Total关系列是只读的,并且属性不能更改,所以加不进数据。
    最后在datagridView里面显示的还是0。据我判断这0也就是增加关系列数据的0,因为你新增的行的ID是没有的,所以Sum出来是0。
      

  4.   


    请问是不是在添加新行之前使用
    ds.Relations.Clear();然后在dt.Rows.Add(dr);这行错误:
    “该行不属于与此关系相同的 DataSet。”
    谢谢帮忙我刚学不是很懂。