问题是这样的:在DataGridView我绑定了一个DataTable后,启动一个线程接收数据不断往里追加显示数据,在我的画面上有一些针对这个DataTable数据过滤的按钮,在数据量不大的情况下,执行过滤画面响应的速度很OK,但是当数据到达几万条时,出现一个情况就是,(第一次过滤响应很快,在完成一次过滤后,我再从接收到的数据按其他条件过滤,响应却很慢)这个现象我的解释是,当前DataGridView中已经有了所有数据,本次过滤,只是把,那些不满足条件的数据给清除掉,所以响应很快,但是,我无法解释的就是我从过滤数据返回到所有的接收数据时。响应却很快,即使我过滤后的数据有1万条,个接收到的数据有好几万条,这是什么情况啊?代码情况如下private void FilterBindingData(TreeNode treeNode)
        {
            DataRow[] drs = null;            // 点击Filter子节点过滤
            if (treeNode.Parent != null
                && FilterUtils.FilterNodeName.Equals(treeNode.Parent.Text,
                                                     StringComparison.OrdinalIgnoreCase))
            {
                drs = _dtbReceivedData.Select(FilterUtils.GetFilter(treeNode.Text));                foreach (DataRow dr in drs)
                {
                    _dtbReceivedClone.ImportRow(dr);
                }
            }
            else
            {
                var rs = from query in _dtbReceivedData.AsEnumerable()
                         where query.Field<String>("Session").IndexOf(treeNode.Text) >= 0
                         select query;                foreach (DataRow dr in rs)
                {
                    _dtbReceivedClone.ImportRow(dr);
                }
            }            
        }