本帖最后由 xx_mm 于 2011-08-18 11:40:28 编辑

解决方案 »

  1.   

    如果是本地操作,1000行记录也不算多啊。每次更新后,重新绑定,应该没太大问题的。如果你遍历找到Datagridview对应的记录,再更新,其实效率也不会低,毕竟数据量不多。有时候,把问题简单化,才是最好的!
    ------------
    店家乐服装店收银软件,[服装店销售软件,服装收银软件,店家乐服装销售管理软件]_http://www.djlsoft.net
      

  2.   

    还不算多,只是这个1K是个虚数,也许是1W呢?那该如何改方案?
    另:该DGV有个【位置信息】列,该列有个异步操作,实时刷新。所以感觉上这个DGV性能不高,不知有什么良方?
      

  3.   

    你可以这样做:
    假如数据量为1K,就按每100个数据为一组,这样就有10组数据,分组遍历。即数据量=N,组=N/10
      

  4.   

    给你个思路:组织数据,绑定DataGridView!不管你数据来自何方:   dataGridView1.Columns.Clear();
       dataGridView1.DataSource=null;
       dataGridView1.DataSource=list;//绑定你最新的list
      

  5.   

    你可以定义个主键列,这样就可以直接获得dgv的列,就不用所有数据遍历了
      

  6.   

    关键 我这有两列是固定的 必须找到那个上报数据的MCUID行。
      

  7.   

    “关键 我这有两列是固定的 必须找到那个上报数据的MCUID行。”你先在List<EntityVehicleInfo> 处理上报的数据,不简单得多吗?private void ChangeData(EntityVehicleInfo newInfo)
    {
         try
         {
                  foreach(EntityVehicleInfo info in list)
                  {
                         if( info.MCUID=newInfo.MCUID)
                          {
                                info =newInfo;  //重新赋值
                                break;
                           }  
                   }
                   dataGridView1.Columns.Clear();
                   dataGridView1.DataSource=null;
                  dataGridView1.DataSource=list;//绑定你最新的list           
          }
          catch(Exception ex)
          {       }
    }
      

  8.   

    如果数据库一旦有改动,能够将修改的数据自动推到前台就太好了,不过wpf的数据绑定好像有这个功能,具体我还不知道。不过我在codeproject上面看到了一篇关于将数据自动推向前台的文章。我找找去。