dll.cp mycp = new dll.cp();
                    mycp.bigcode = tb.Rows[0]["bigcode"].ToString();
                    mycp.bigname = tb.Rows[0]["bigname"].ToString();
                    mycp.cnum = 1;
                    mycp.cpcode= tb.Rows[0]["cpcode"].ToString();
                    mycp.cpname=tb.Rows[0]["cpname"].ToString();
                    mycp.cpprice = System.Convert.ToDouble(tb.Rows[0]["cpprice"].ToString());
                    mycp.camount = mycp.cnum * mycp.cpprice;
                   mycplb.Add(mycp);
                 
                   cplb.DataSource = mycplb;
里面有3条数据,但是datagridview里面只有一条,不知道为什么

解决方案 »

  1.   

    不可能吧~ 
    有设其他 filter 条件过滤掉了?
      

  2.   

       你的代码里面,明明,只看到你能一个类的属性都赋值了,然后添加到mycplb ,然后你就绑定了,
       这个过程你只有一次,当然就是一条数据了。。
       循环添加吧。。mycplb.Add(mycp); 这个过程要三次。。
      

  3.   

    我再点击一下,就变成2条数据了,但是绑定到datagridview的时候还是只显示1条,但是mycplb里面确实有2条数据。
      

  4.   

    大哥,你只是ROWS[0] 1,2,??
      

  5.   

    楼主你要使用循环添加IList<dll.cp> mycplb =  new List<dll.cp>();
    for(int i=0;i<tb.rows.count;i++)
    {
       dll.cp mycp = new dll.cp();
      mycp.bigcode = tb.Rows[i]["bigcode"].ToString();
      mycp.bigname = tb.Rows[i]["bigname"].ToString();
      mycp.cnum = 1;
      mycp.cpcode= tb.Rows[i]["cpcode"].ToString();
      mycp.cpname=tb.Rows[i]["cpname"].ToString();
      mycp.cpprice = System.Convert.ToDouble(tb.Rows[i]["cpprice"].ToString());
      mycp.camount = mycp.cnum * mycp.cpprice;
       mycplb.Add(mycp);
    } cplb.DataSource = mycplb;