datagridview沒有刪除時我用
DataRow dr = ds.Tables[0].Rows[dataGridView1.CurrentRow.Index];
可以得到正確的數據,如果我刪除某些行後再用上面哪句數據全亂了,好像datagirdview.currentrow與datatblae索引不一致了,怎樣解決啊,使之刪除後能得到我想要的數據

解决方案 »

  1.   

    楼主倒着来。看下面的代码:
    //删除满足条件的行
     for (int i = objDT.Rows.Count; i >= 1; i--)
                {
                   if (Lengrezhi2[i] != 0)
                        {
                            objDT.Rows[i - 1].Delete();
                            suoshuinum++;
                        }
    }
    //重新给第一列排序
     objDT.AcceptChanges();
                for (int i = 0; i < objDT.Rows.Count; i++)
                {
                    objDT.Rows[i][0] = i + 1;
                }
      

  2.   

    这个要分开操作的。
    ds里必须有主键.
    dim ID as string=dataGridView1.CurrentRow.cell("ID").value   --取得当前行的唯一值
    dim Rows() as datarow=ds.Tables(0).select("ID='" & ID & "'")
      

  3.   

    (DataRowView)dgv.Rows[0].DataBoundItem
      

  4.   


    string ID = dataGridView1.CurrentRow.Cells["custcode"].Value.ToString();
    DataRow[] drm = Ds.Tables[0].Select("custcode='" + ID + "'");
    DataRow dr = drm[0];
    有没有更好的方法