我有一个GridView,一次只显示50条记录,通过分页。如果我将它绑定到包含150条记录的源文件,它就像魅力一样工作,但是当记录大小急剧增加到10,00000时,它花费了很长时间才能加载数据。所以,我想知道是否有任何方法只是加载50记录在一个可见的时间?绑定GridView有很多记录
我想是懒加载或WPF中的虚拟化堆栈 面板的功能。
我这是怎么结合到GridView -
private void LoadCustomers()
{
if (Cache["CustomersData"] == null)
{
Business.Customers customers = Business.Customers.GetAllCustomer();
Cache["CustomersData"] = customers;
}
this.customerGridView.DataSource = Cache["CustomersData"];
this.customerGridView.DataBind();
}
下面是从DB-
获取数据public static Customers GetAllCustomer(int index)
{
Customers customers = new Customers();
NShop_SmallEntities data = new NShop_SmallEntities();
var dbCustomers = (from c in data.Customers
select c).OrderBy(c=> c.CustomerId).Skip(index * 50).Take(50);
foreach (var dbCustomer in dbCustomers)
{
customers.Add(Customer.GetCustomer(dbCustomer));
}
return customers;
}
public static Customer GetCustomer(DAL.Customer dbCustomer)
{
return new Customer()
{
CustomerId = dbCustomer.CustomerId,
FirstName = dbCustomer.FirstName,
LastName = dbCustomer.LastName,
Email = dbCustomer.Email,
DOB = dbCustomer.DOB,
City = dbCustomer.City,
State = dbCustomer.State,
PostalCode = dbCustomer.PostalCode,
Country = dbCustomer.Country,
OrderCount = dbCustomer.Orders.Count()
};
}
什么样的DB的:SQL Server中,AS400 ...... – IrishChieftain 2011-04-08 19:40:53
数据库是SQL服务器... – 2011-04-08 19:49:08