一个datatable,绑定到dataview了,然后又将combox(显示值是名称,实际值是名称的ID)绑定到dataview的某列,现想获取dataview显示出来的效果为一个datatable,再传递给报表打印,这样可以省去在报表模块转化某些列从ID到名称的过程。

解决方案 »

  1.   

    现想获取dataview显示出来的效果为一个datatable
    -----------------------------------
    难道你绑定以后,DataGridView中显示的不是一个DataTable?
      

  2.   

    比如dataview绑定的datatable有三列:id,goodsid,qty,我又使用combox绑定到它的goodsid列,显示值为goodsname,实际值为goodsid,这里dataview显示的是id,goodsname,qty三列,我想要的就是这个表,但我要用什么办法以来获得它呢?
      

  3.   

                    DataGridViewComboBoxCell sourceCombox = dataGridView1.Rows[i].Cells["Column19"] as DataGridViewComboBoxCell;
     
                    string sourceComboxValue = "";
                    if (sourceCombox.Value != null) { sourceComboxValue = sourceCombox.Value.ToString(); }
    那就逐行读出datagridview的combox的值,赋给table呀
      

  4.   

    循环读取DataGridView的行,赋值给DataTable
      

  5.   


    对于类似商品数量多的采购单据,不知道你是如何设计其输入的,我的方法是在form里放一个datagrid,让一个datatable绑定于其上,此datatable直接对应数据库一个table,其中的商品列存储的是商品id,于是,我又用一个combox绑定于dataview的商品列上,为的是让操作员看到的商品列是商品名称而非商品id。正因为dataview的商品列存储的是商品id,而报表需要呈现的是商品名称,如果我不能把dataview显示出来的效果传给报表,那么我就必须用语句查出每一个商品id对应我商品名称。不知我这样解释,你明白点没有?