假定条件:
DB有一个表 TB的数据如下
ID     QTY
001     2
002     3
我想吧这个表的内容拆成明细(拆后的数据均为1),然后给datagridview
结果如下:
ID  QTY
001  1 
001  1
002  1
002  1
002  1
请问该如何写呀,本人刚学C#不久,在这里请教各位了

解决方案 »

  1.   

    看来你要用个临时表实现了,就是用后面的QTY作为次数参数循环插入表中就可以。
      

  2.   

    但是有时表TB里面ID的字段可能会有更多的值,不一定就001 002
      

  3.   

    当然也可以在DataTable里以插入行的方式解决。
      

  4.   


     DataTable dt = new DataTable();
                dt.Columns.Add("ID");
                dt.Columns.Add("QTY");            DataRow drNew = dt.NewRow();
                dt.Rows.Add(drNew);
                drNew["ID"] = "001";
                drNew["QTY"] = 2;
                drNew=dt.NewRow();
                dt.Rows.Add(drNew);
                drNew["ID"] = "002";
                drNew["QTY"] = 3;            DataTable dtDetail = dt.Clone();
                foreach (DataRow dr in dt.Rows)
                {
                    for (int i = 0; i < Int32.Parse(dr["QTY"].ToString()); i++)
                    {
                        drNew = dtDetail.NewRow();
                        dtDetail.Rows.Add(drNew);
                        drNew["ID"] = dr["ID"];
                        drNew["QTY"] = 1;
                    }
                }
                dataGridView1.DataSource = dtDetail;
                dataGridView1.AutoResizeColumns();这意思?