服务器模式是由 GridControl 和 GridLookUpEdit 控件支持的。 在本主题中,网格控件 术语同时指 GridControl 和 GridLookUpEdit 控件。
服务器模式的概念
在常规数据绑定模式中,在网格控件中显示数据之前,数据必须被从数据存储中完整取出,放置到内存中。 记录数目是一项瓶颈,因为记录越多,则需要越多的时间来加载数据。 此外,网格控件的性能也取决于所加载记录的总数,特别是在使用数据存储、分组、筛选或汇总功能的时候。 在这种情况下,网格控件需要处理整个记录集来实现特定的 data-aware(数据感知) 操作。
已经特殊设计了服务器模式,用于使用大数据集。 绑定数据不会全部加载到内存中。 而是由网格控件按需要加载一小部分数据。 当网格控件启动时,它从数据存储中加载和显示第一部分数据。 然后,随着最终用户滚动网格,当达到已加载数据子集的末记录之时,网格控件请求从数据存储中返回后续的数据部分。
对于最终用户而言,在常规模式和服务器模式中,网格控件的功能都是同样的。 在服务器模式中,他们可以滚动网格控件,并使用 自动筛选功能 来访问特定的数据范围、排序、分组和筛选数据、以及计算汇总。
在常规绑定模式中,网格控件可以并发访问所有数据,并且它自身执行 data-aware(数据感知) 操作 (例如排序、分组、筛选记录和计算汇总)。 在服务器模式中,在同一时刻网格控件仅能并发访问小部分数据,因此它自身不能执行任何 data-aware(数据感知) 操作。 而是在服务器端执行所有 data-aware(数据感知) 操作,然后在网格控件中显示操作结果。
这是在服务器模式中如何对数据排序的一般概述。 假设最终用户单击了特定的网格列标头来对该列进行排序。 网格控件发出一个查询到数据存储来对被单击的列进行排序,然后获取特定的数据范围。 然后把返回的记录显示在屏幕上。 在滚动记录时,网格控件发送请求到数据存储中,来获取对被单击列已经排序后的后续数据。
标准的 汇总 也在服务器端被计算。 但是,不支持通过网格控件的 GridView.CustomSummaryCalculate 事件所实现的自定义汇总。