我是用DataGrid来显示明细表资料的,在这中使用SqlDataApdater的update的监控机制来对对表中的数据进行编辑。
  这样的话我应该怎样实现自动计算列,比如说里面有总价列=数量列*单价列。
  使用express会报错,因为那是计算列,无法映射列?

解决方案 »

  1.   

    for(int i=0;i<=this.datagrid1.items.count-1;i++)
    {
      this.datagrid1.items[i].cells[n].text=(int.parse(this.datagrid1.items[i].cells[x].text)*int.parse(this.datagrid1.items[i].cells[y].text)).tostring();
    }
      

  2.   

    刚刚看到你留得短信,我是这样解决的,数据库中是table1,然后创建一个xsd表格,xsd表格table1多了我们所需计算列,这样从数据库中读取到datagrid里面不会出错,保存的时候也不保存计算列。
    不知道还有没有好的解决办法。
      

  3.   

    to 这样的话我应该怎样实现自动计算列,比如说里面有总价列=数量列*单价列。
    使用express会报错,因为那是计算列,无法映射列?你数据库也需要存总价列信息?
      

  4.   

    手动增加一列就行了
    newTable.Columns.Add("总价",typeof(decimal),"单价*数量"); //运用DataTable的表达式自动运算
    newTable是绑定DATAGRID的表名
    试试看吧