我想使用DataGrid实现自定义分页,并且不要像在此链接A Neat Solution to GridView Custom Paging中那样移动到GridView,因为我正在使用DataGrids构建我正在使用的项目。
此外,我通过互联网搜索但无法在不使用ObjectDataSource的情况下找到自定义分页。 在我的脑海中使用ObjectDataSource与您可以在会议和视频教程中看到的快速演示相关联(通常告诉我“不要在生产中这样做”)。
此外,我的数据将使用CTE查询从存储过程中输出:
SELECT * FROM (SELECT RowID = ROW_NUMBER() OVER ([Name] ORDER BY ASC),
[ID],[Name],[Status] FROM [UserMaster]) as [UserMaster]
WHERE ((RowID BETWEEN @StartIndex AND @StartIndex-@PageSize-1) OR @StartIndex = -1 OR @PageSize = -1)
此查询是部分实现,以了解它是如何工作的, 在此查询中,如果未传递@StartIndex和@PageSize,则将返回所有记录,并且我已经测试了查询,并且它正在按预期工作。 查询是根据N-Layered Web Applications with ASP.NET 3.5 Part 4: Sorting, Paging and Filtering
建立的在代码中,
我在处理旧代码时所做的是设置AllowPaging=false
,AllowCustomPaging=true
和VirtualItemcount=100
,
但这不起作用,因为现在根本没有呈现分页。
然后我尝试调整并设置AllowPaging=true
,AllowCustomPaging=true
和VirtualItemcount=100
这会呈现分页但无效,因为点击pagedItem不会更改内容区域中的DataColumns。
我希望这一切都得到很好的解释。
此外,我发现了一些对我没什么帮助的链接,希望这有助于改善回答者的角色。