我试图隐藏一些行,因为我通过匹配标准编写代码,它工作得很好,但需要太多时间来执行…

本文关键字:很好 工作 代码 执行 时间 太多 隐藏 因为 标准 | 更新日期: 2023-09-27 18:15:43

CurrencyManager cm=(CurrencyManager)BindingContext[bindingsource1.Datasource];
 foreach(DataGridviewRow dr in datagridview1.Rows)
{
 datagridview1.SuspendLayout();
  if(dr.Cells[0].Value.Tostring()=="Somevalue")
  {
    dr.Visible=True;
   }
   else
    {
      cm.SuspendBinding();
      dr.Visible=false;
      cm.ResumeBinding();
        }
}

这段代码工作得很好,但是执行它需要花费很多时间。在这个操作中有什么方法可以提高速度吗?有什么解决办法吗?

Thanks in Advance

我试图隐藏一些行,因为我通过匹配标准编写代码,它工作得很好,但需要太多时间来执行…

我想这样就可以了,而且会更快。

datagridview1.SuspendLayout();
foreach(DataGridviewRow dr in datagridview1.Rows)
{
   dr.Visible = dr.Cells[0].Value.ToString() == "Somevalue";
}
datagridview1.ResumeLayout();

因为您只修改行可见性,所以不需要保留绑定上下文。在循环前暂停一次布局,循环后恢复。