我有一个拥有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 ;
答案 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)绑定到数据源的过程