如题!!!
 int j = int.Parse(dgvListWare.SelectedRows.Count.ToString());       
            for (int i = 0; i < j; i++)
            {
                        clsWareTEntity clswareentity = new clsWareTEntity();
                        int k = int.Parse(dgvListWare.CurrentRow.Index.ToString());   
                        clswareentity.W_Code = dgvListWare.Rows[k].Cells["W_Code"].Value.ToString();
我这样写的话,总是只拿到第一行的值,要怎么办好呢?

解决方案 »

  1.   

     for (int i = 0; i < dgvListWare.RowsCount; i++) 改为上面的试试
      

  2.   

    for (int i = 0; i < dgvListWare.Rows.Count; i++) 
      

  3.   

    for (int i = 0; i < dgvListWare.Rows.Count; i++) 
                { 
                            clsWareTEntity clswareentity = new clsWareTEntity(); 
                            clswareentity.W_Code = dgvListWare.Rows[i].Cells["W_Code"].Value.ToString();你的第二行代码取了,因为第二行总是取当前行的值.
    最终改为上面的
      

  4.   

    try->
              int j = dgvListWare.SelectedRows.Count;      
                for (int i = 0; i < j; i++) 
                { 
                  clsWareTEntity clswareentity = new clsWareTEntity(); 
                  clswareentity.W_Code = dgvListWare.SelectedRows[i].Cells["W_Code"].Value.ToString(); 
                }
      

  5.   

    dgvListWare.SelectedRows取到选中行的行号集数组
      

  6.   

     int k = int.Parse(dgvListWare.CurrentRow.Index.ToString());  这个值是不是固定的???
    你跟踪执行下看看就知道了 
      

  7.   

    int k = int.Parse(dgvListWare.CurrentRow.Index.ToString());  这句不对吧是不是这样啊
    for (int i = 0; i < dgvListWare.SelectedRows.Count; i++) 

      clsWareTEntity clswareentity = new clsWareTEntity(); 
      clswareentity.W_Code = dgvListWare.Rows[i].Cells["W_Code"].Value.ToString(); 
      

  8.   

    for (int i = 0; i < dgvListWare.SelectedRows.Count; i++)

      clsWareTEntity clswareentity = new clsWareTEntity();
      clswareentity.W_Code = dgvListWare.SelectedRows[i].Cells["W_Code"].Value.ToString();
      

  9.   

    SelectedRows不就是选择的列集合么