分享一个分页控件的实现思路
2016-12-19 12:27
495 查看
虽然分页控件满天飞,因为实在没找到WinForm程序合用的,所以就造了一回轮子。一开始认为这个事情比较简单,没有思考太多就开工了。事实上也没花多少时间就写好了第一版,想要有的功能也都实现了,以为万事大吉。。。。。。控件的样子长这样:
View Code
————————————————默默无语的分割线——————————————————
在这篇随笔发布后,又改了一点东西。把每页显示行数这个参数改成了通过事件参数传递,减少了一个属性。特别补充说明一下,FocusedRowHandle这个属性其实非常重要,有这个属性,在刷新或者改变每页显示行数后,焦点行就可以保持在原先选中行上面,这样界面就不会抖动。
现在总结起来,一个分页控件只需要公开:2个方法、3个事件、4个属性。无论是做成什么样子,用什么语言,都是如此。
如果这篇文字对看官有点用处的话,请帮忙点下推荐,谢谢!
1 View.TabRole.RowsPerPageChanged += (sender, args) => _PageRows = View.TabRole.RowsPerPage; 2 View.TabRole.CurrentPageChanged += (sender, args) => PageChanged(args.RowHandle); 3 View.TabRole.TotalRowsChanged += (sender, args) => View.GdvRole.FocusedRowHandle = args.RowHandle; 4 5 /// <summary> 6 /// 切换页码后重新加载角色列表 7 /// </summary> 8 /// <param name="handel">当前焦点行</param> 9 private void PageChanged(int handel) 10 { 11 _CurrentPage = View.TabRole.CurrentPage; 12 13 LoadRoles(handel); 14 } 15 16 /// <summary> 17 /// 新增角色到角色列表 18 /// </summary> 19 /// <param name="role">RoleInfo</param> 20 internal void AddRole(RoleInfo role) 21 { 22 _Roles.Add(role); 23 24 View.TabRole.AddItems(); 25 View.GrdRole.RefreshDataSource(); 26 } 27 28 /// <summary> 29 /// 删除当前所选角色 30 /// </summary> 31 internal void RoleDelete() 32 { 33 _Roles.Remove(Role); 34 35 View.TabRole.RemoveItems(); 36 View.GdvRole.RefreshData(); 37 }
View Code
————————————————默默无语的分割线——————————————————
在这篇随笔发布后,又改了一点东西。把每页显示行数这个参数改成了通过事件参数传递,减少了一个属性。特别补充说明一下,FocusedRowHandle这个属性其实非常重要,有这个属性,在刷新或者改变每页显示行数后,焦点行就可以保持在原先选中行上面,这样界面就不会抖动。
现在总结起来,一个分页控件只需要公开:2个方法、3个事件、4个属性。无论是做成什么样子,用什么语言,都是如此。
如果这篇文字对看官有点用处的话,请帮忙点下推荐,谢谢!
相关文章推荐
- 分享一个分页控件的实现思路
- 【分享】一个Asp.net mvc下的分页控件MvcPagerX
- 分享一个Winform下的分页控件
- 分享一个网站回收站的思路,已经实现,适用于新闻和图片等。
- 【分享】一个Asp.net mvc下的分页控件MvcPagerX
- 自己实现的一个分页-用户控件
- 分享一个Winform下的分页控件
- 分享一个asp.net pager分页控件
- 扩展GridView实现的一个自定义无刷新分页,排序,支持多种数据源的控件TwfGridView
- asp.net中使用自定义控件的方式实现一个分页控件的代码
- C#中一个高性能异步socket封装库的实现思路分享
- 分享一个Winform下的分页控件
- 分享一个Winform下的分页控件[转]
- 分享一个智能提示搜索控件的实现
- 最近学习框架做了一个小网站,基本功能都实现了但是分页没办法用框架思想实现,查了资料找到一个不错的,修改了下分享下
- 分享一个asp.net pager分页控件
- 基于KO+BootStrap+MVC实现的分页控件代码分享
- 分享一个Winform下的分页控件
- asp.net中使用自定义控件的方式实现一个分页控件的代码
- 分享一个Winform下的分页控件