如何将每个循环的所有结果填充到数据集或数据表?

时间:2010-11-08 03:39:25

标签: c#

这是我的代码:

 var dsdata = ibll.showPartnumberandVariance(ient); data result:
    PartNumber    Variance
    001             1
    002             1  

ibll = AllocateSerialByPartNumberandVarince(pin):选择top(Variance)PartNumber = [PartNumber]

private void Show()
            {
                var ient = new FillinEntity();
                var pin = new PackingListEntity();
                var ibll = new Bal();
                try
                {
                    var dsdata = ibll.showPartnumberandVariance(ient);
                    foreach(DataRow serverA in dsdata.Rows)
                    {
                        pin.Quantity = Convert.ToInt32(serverA["Variance"].ToString());
                        pin.PartNumber = serverA["PartNumber"].ToString();
                       _dsdata=ibll.AllocateSerialByPartNumberandVarince(pin);

                    }
                    dgSerials.DataSource = _dsdata;

                }
                catch (Exception ee)
                {
                    MessageBox.Show(ee.Message);
                }
                finally
                {
                }
            }

结果必须是:

  _dsdata Result :
   SerialNumber    PartNumber  
      1               001
      2               002

但它始终返回循环中的最后一个结果:

 _dsdata Result :
       SerialNumber    PartNumber  
          2               002

谢谢你〜!

1 个答案:

答案 0 :(得分:3)

试试这个

            DataTable dt=new DataTable();  //make it public
            dt.columns.add("Quantity");
             dt.columns.add("PartNumber ");
           foreach(DataRow serverA in dsdata.Rows)
                {
                   DataRow dr=dt.NewRow();

                    dr["Quantity"]= Convert.ToInt32(serverA["Variance"].ToString());
                    dr["PartNumber"] = serverA["PartNumber"].ToString();
                    dt.Rows.add(dr);

                }
                dgSerials.DataSource=dt;