Telerik RadGrid 组件中的动态分页栏位置

Dynamic Paging Bar Position in Telerik RadGrid Component

我有一个组件,继承自 Telerik RadGrid (.NET),如果该页面上的行数超过 50 行,我想将 PagerStyle.Position 设置为 GridPagerPosition.TopAndBottom 或者否则为GridPagerPosition.Bottom

我尝试了几个每次页面加载调用一次的事件(而不是每个项目一次),例如 OnNeedDataSourceControlPreRenderOnDataPropertyChanged,但我无法可靠地获得 Count 行。即使填充了 DataSource 对象,它也会返回为 -1 或零。我在那些事件中可能为时过早?检查组件的生命周期也无济于事。

if (count > 50) ... 放在哪里?

我最终创建了一个自定义寻呼机,因为我需要一些特殊功能。在那里可以直接调用 GridPagingManager (_pagingMgr):

_tblView.PagerStyle.Position = _pagingMgr.LastIndexInPage - _pagingMgr.FirstIndexInPage > 50 
            ? GridPagerPosition.TopAndBottom 
            : GridPagerPosition.Bottom;`

完成!