在DevExpress GridView中显示大量数据

时间:2014-04-22 08:04:20

标签: c# devexpress gridcontrol

我有一个拥有3000行的DevExpress网格视图,每行有10个细节(这意味着当网格加载时我有30000个要加载的项目)

加载所有数据需要很长时间,所以有没有办法显示例如100行,当用户使用自动过滤器时,我会显示所需的行?。

示例 http://demos.devexpress.com/aspxgridviewdemos/filtering/filterrow.aspx

我尝试使用Skip and Take(使用LINQ),但它并不是我想要的,除此之外我还想使用网格的自动过滤器。

public static BindingList<patient> getObjectUsingLinq(string sql = "", int skipCount  = 0, int takeCount = 0)
        {
            var gsData = GetDataContext();
            var query = (from q in gsData.patient 
                        orderby q.nom 
                        select q);

            return new BindingList<patient>(LinqHelper.DoSortPaginate(query, "", skipCount, takeCount).ToList());

        }

并将其绑定到我调用的网格

listPatient = Patients.getObjectUsingLinq();
myGrid.DataSource = listPatient ;

1 个答案:

答案 0 :(得分:2)

如果需要在GridControl中显示大量记录,可以使用服务器数据绑定模式(同步或asynchronous)。它们专门用于处理包含超过50,000条记录的大量数据 看看Server Mode concepts开始使用这些模式 使用XtraGrid和LINQ,您可以从这里开始:
Server Mode: Binding to a Data Source Using 'LINQ to SQL Classes'

P.S。 Data Source Configuration Wizard简化了将数据感知DevExpress控件(如GridControl)绑定到数据源的过程