我想删除表里的相同行,为什么这个执行不了?没反应啊表里的相同行都挨着。   
        for (int i = 0; i < count-1; i++)
        {
            if (dt.Rows[i][0].ToString()==dt.Rows[i + 1][0].ToString())
            {
                dt.Rows[i].Delete();
                dt.AcceptChanges();
                i--;
            }
        }
        GVdisp_predict.DataSource = dt;
        GVdisp_predict.DataBind();

解决方案 »

  1.   

    哥们儿,两个完全一样的行是不能只删一行的可以在查询分析器里用 set rowcount 1 锁定操作一行
    然后用set rowcount 0解锁
      

  2.   

     GVdisp_predict.DataSource = dt;
      GVdisp_predict.DataBind();。。
    你在页面删除行,然后回发重新绑定原来的数据。。这样做必须在后台删除,不是页面删除!!
      

  3.   

    说得对,最好在查询语句中用distinct 去掉重复,再绑定
      

  4.   

    代码没有问题,你可以设个断点监视一下GVdisp_predict.DataSource = dt;
    中的dt,如果界面没有反应,那问题在其他地方。
      

  5.   

    先看下数据库,删掉了没有,如果数据库里面显示删掉了,可能是gridview没有能更新得了啊,。不过你有没有设置行的ID号啊?如果没有ID号,两个完全相同的行会出错的,以前似乎遇到过!
      

  6.   

    你从数据库取数据的时候把重复行去掉不就行了么,用distinct,这样多费劲
      

  7.   

    楼主非要把数据读出来,筛选后绑定,也有办法。
    调用dataView的ToTable方法,然后绑定数据显示控件。具体可以查查msdn。算了,我帮你查吧
    DataTable table = new DataTable("NewTable");
    然后读取数据填充DataTable
    DataView view = new DataView(table);
    DataTable newTable = view.ToTable(true, "列名1", "列名2"……);
    绑定数据显示控件
    GVdisp_predict.DataSource = newTable;
      GVdisp_predict.DataBind();
    http://msdn.microsoft.com/zh-cn/library/wec2b2e6.aspx