【发布时间】:2012-03-12 07:39:30
【问题描述】:
我正在使用以下代码将一堆DataGridViewRow 元素设置为不可见。我使用的规则是检查关联的数据源是否有布尔标志。如果标志为真,则将显示该行。如果没有,它将是不可见的。
以下代码有效;但是,这样做会消耗相当多的时间:
CurrencyManager currencyManager = (CurrencyManager)BindingContext[dataGridView.DataSource];
currencyManager.SuspendBinding();
foreach (DataGridViewRow row in dataGridView.Rows)
{
if (!objectList.list[row.Index].Selected)
{
row.Visible = false;
}
}
currencyManager.ResumeBinding();
有人有更好的解决方案吗?我必须经过的对象列表越长,这个过程自然需要的时间就越长。我无法设置单元格范围,因为布尔值可能不连续。
【问题讨论】:
-
为什么不在绑定前过滤数据源?
标签: c# datagridview invisible datagridviewrow