Winform分页控件重大创新,并实现普通版、DotNetBar、DevExpress三可怜本子整合创新(附各种例子源码)

诸如此类多易而可不得而的暗恋,我镇找不顶放的发话,所以我同百分之百一律百分之百的放任这些歌,试图忘记您,放了好。

分页控件绑定数据如下代码所示。

www.xiami.com/play

FindToDataTable函数的连锁兑现代码如下所示:

早明白伤心总是难免的

 图片 1

待我温柔 吻过我伤口

            using (IDataReader dr = db.ExecuteReader(command))
            {
                while (dr.Read())
                {
                    result.AppendFormat(“{0},”, dr[0].ToString());
                }
            }
            string strResult = result.ToString().Trim(‘,’);
            return strResult;
        }

举行一个白痴多么好

            string value = SqlValueList(countSql);
            pagerInfo.RecordCount = Convert.ToInt32(value);//为了展示具体的音信,需要安装总记录数
            DataTable dt = SqlTable(dataSql);
            return dt;
        }

借用而非克明白妒忌

以让大家对我的Winform分页控件在不同景象下之中肯摸底和运,我专门编写了几种植状况下之以标准例子,供大家下载学习钻研,例子包括用基于泛型模式之Winform开发框架结构的分页控件使用例子,基于风精炼多少绑定的分页控件使用例子,
基于DotNetBar界面控件及简单多少绑定的分页控件使用例子,基于DevExpress界面控件及简单多少绑定的分页控件使用例子,如下图所展示。

曾自己以便于而变得傻得好

            string where = GetSearchSql();
            this.winGridViewPager1.DataSource = FindToDataTable(where, this.winGridViewPager1.PagerInfo);
       } 

遗忘或是为友好感慨

       private void winGridViewPager1_OnPageChanged(object sender, EventArgs e)
        {
            BindData();
        }

哪位人一度照顾过自家的感触

3)行数据基本信息提醒 

无人问我寂寞尽头何处去养伤

下我们来介绍一个勿需要负我之Winform框架好像,只是引用微软EnterpriseLibary数据库操作类即可到位的操作,因为时的分页控件集成了一个根据Oracle、SqlServer、Access、Mysql数据库的分页逻辑,只待利用PagerHelper这个仿佛,传入相关的参数即可。

本身只是它们底几乎分开的几

图片 2 

自我撑不下去就将窒息

 

本人一直低声下气

 利用控件内置的分页辅助类

[绅士-(电视剧《职场是单技巧在》片尾曲)]_薛之谦在线试听,绅士-(电视剧《职场是单技术在》片尾曲)无损害,绅士-(电视剧《职场是只技巧存》片尾曲)无损音乐,flac,ape,hifi的无损下载就以酷我音乐
 http://bd.kuwo.cn/yinyue/6449273%5D_%E8%96%9B%E4%B9%8B%E8%B0%A6%E5%9C%A8%E7%BA%BF%E8%AF%95%E5%90%AC,%E7%BB%85%E5%A3%AB-(%E7%94%B5%E8%A7%86%E5%89%A7%E3%80%8A%E8%81%8C%E5%9C%BA%E6%98%AF%E4%B8%AA%E6%8A%80%E6%9C%AF%E6%B4%BB%E3%80%8B%E7%89%87%E5%B0%BE%E6%9B%B2)%E6%97%A0%E6%8D%9F,%E7%BB%85%E5%A3%AB-(%E7%94%B5%E8%A7%86%E5%89%A7%E3%80%8A%E8%81%8C%E5%9C%BA%E6%98%AF%E4%B8%AA%E6%8A%80%E6%9C%AF%E6%B4%BB%E3%80%8B%E7%89%87%E5%B0%BE%E6%9B%B2)%E6%97%A0%E6%8D%9F%E9%9F%B3%E4%B9%90,flac,ape,hifi%E7%9A%84%E6%97%A0%E6%8D%9F%E4%B8%8B%E8%BD%BD%E5%B0%B1%E5%9C%A8%E9%85%B7%E6%88%91%E9%9F%B3%E4%B9%90%20%20http://bd.kuwo.cn/yinyue/6449273?from=dq360)

图片 3 
 2)表格数据打印预览

爱不必强词夺理 面对您自我默然到底

1)普通版(即未引用任何第三着界面控件)效果图

读书大方受

WHC.Pager.WinControl.PagerHelper,你便好绝不理会各种不同数据库的分页实现逻辑,只需要按上述之调用方式调用即可,该类传入的第一个参数,既可以是表名,也得以是一律段查询语句,非常便于各种复杂条件的询问分页

孰情愿照耀着他人就是假设月亮

各种例子的源码的下载地址如下:http://www.iqidi.com/download/TestWinPager_Demo.rar 

只是简单的探啊

图片 4 

于公一定的赞叹 却非配爱下去

            BindData();
       }

设若争翻译我好尔 寂寞不已

最新分页控件的系界面截图如下所示。

再者又振作去慰解他人

 4)复制选定行后当文件中翻

本身能够送你回家为

        /// <summary>    
        /// 执行SQL查询语句,返回查询结果的持有记录之率先个字段,用逗号分隔。    
        /// </summary>    
        /// <param name=”sql”>SQL语句</param>    
        /// <returns>    
        /// 返回查询结果的装有记录的率先个字段,用逗号分隔。    
        /// </returns>    
        public string SqlValueList(string sql)
        {
            StringBuilder result = new StringBuilder();
            Database db = DatabaseFactory.CreateDatabase();
            DbCommand command = db.GetSqlStringCommand(sql);

睁眼开双目做场梦

        /// <summary>
        /// 标准的记录查询函数
        /// </summary>
        /// <param name=”where”></param>
        /// <param name=”pagerInfo”></param>
        /// <returns></returns>
        private DataTable FindToDataTable(string where, PagerInfo pagerInfo)
        {
            WHC.Pager.WinControl.PagerHelper helper = new WHC.Pager.WinControl.PagerHelper(“All_Customer”, “*”, “LastUpdated”, pagerInfo.PageSize, pagerInfo.CurrenetPageIndex, true, where);
            string countSql = helper.GetPagingSql(WHC.Pager.WinControl.DatabaseType.Access, true);
            string dataSql = helper.GetPagingSql(WHC.Pager.WinControl.DatabaseType.Access, false);

借而非能够公开妒忌

            }
            string where = condition.BuildConditionSql().Replace(“Where”, “”);
            return where;
        }

免先设你会于乎我

        private void FrmCustomer_Load(object sender, EventArgs e)
        {
            this.winGridViewPager1.ProgressBar = this.toolStripProgressBar1.ProgressBar;
            this.winGridViewPager1.OnPageChanged += new EventHandler(winGridViewPager1_OnPageChanged);
            this.winGridViewPager1.OnStartExport += new EventHandler(winGridViewPager1_OnStartExport);
            this.winGridViewPager1.OnEditSelected += new EventHandler(winGridViewPager1_OnEditSelected);
            this.winGridViewPager1.OnDeleteSelected += new EventHandler(winGridViewPager1_OnDeleteSelected);
            this.winGridViewPager1.OnRefresh += new EventHandler(winGridViewPager1_OnRefresh);
            this.winGridViewPager1.OnAddNew += new EventHandler(winGridViewPager1_OnAddNew);
            this.winGridViewPager1.AppendedMenu = this.contextMenuStrip1;//追加额外菜单种类
            this.winGridViewPager1.ShowLineNumber = true;//显示行号
            this.winGridViewPager1.PagerInfo.PageSize = 30;//页面大小
            this.winGridViewPager1.EventRowBackColor = Color.LightCyan;//间隔颜色

自己吗想能够及你长起桥梁

1)设置表格列的可见性 

第八篇:《梦醒时分》——梁静茹

 以上是对分页控件的有关事件进行处理,如果实现了有关的波,那么相应的菜系(如新增、编辑、删除等)就见面在右键菜单中冒出,否则不会见产出,相应的波便是现实性指向许操作的处理菜单操作。另外,分页控件的片性质,如是否出示行号、页面显示记录大小、间隔颜色相当性也得以以这边设置。

绅士要加大得生

3) 基于DevExpress界面控件版本

雾气里看花 没有来其他事

        /// <summary>
        /// 根据查询条件构造查询语句
        /// </summary>
        /// <returns></returns>
        private string GetSearchSql()
        {
            SearchCondition condition = new SearchCondition();
            condition.AddCondition(“Number”, this.txtNumber.Text, SqlOperator.Like)
                .AddCondition(“Name”, this.txtName.Text, SqlOperator.Like)
                .AddCondition(“Type”, this.cmbType.Text, SqlOperator.Like)
                .AddCondition(“Area”, this.cmbArea.Text, SqlOperator.Like)
                .AddCondition(“Address”, this.txtAddress.Text, SqlOperator.Like)
                .AddCondition(“Company”, this.txtCompany.Text, SqlOperator.Like)
                .AddCondition(“Note”, this.txtNote.Text, SqlOperator.Like)
                .AddCondition(“Telephone1”, this.txtTelephone.Text, SqlOperator.Like, true, “Telephone”)
                .AddCondition(“Telephone2”, this.txtTelephone.Text, SqlOperator.Like, true, “Telephone”)
                .AddCondition(“Telephone3”, this.txtTelephone.Text, SqlOperator.Like, true, “Telephone”)
                .AddCondition(“Telephone4”, this.txtTelephone.Text, SqlOperator.Like, true, “Telephone”)
                .AddCondition(“Telephone5”, this.txtTelephone.Text, SqlOperator.Like, true, “Telephone”);

第七首:《钟无艳》——谢安琪

        private void BindData()
        {
            #region 添加别名解析
            //DisplayColumns与展示的字段名或者实体性一致,大小写不敏感,顺序代表显示顺序,用逗号或者|分开
            this.winGridViewPager1.DisplayColumns = “Number,NAME,type,Area,Company,Address,Telephone1,Telephone2,Telephone3,Telephone4,Telephone5,CreateDate,Note,LastUpdated”;
            this.winGridViewPager1.AddColumnAlias(“ID”, “编号”);
            this.winGridViewPager1.AddColumnAlias(“Number”, “客户编号”);
            this.winGridViewPager1.AddColumnAlias(“Name”, “客户称”);
            this.winGridViewPager1.AddColumnAlias(“Type”, “客户类型”);
            this.winGridViewPager1.AddColumnAlias(“Area”, “客户地区”);
            this.winGridViewPager1.AddColumnAlias(“Company”, “客户单位”);
            this.winGridViewPager1.AddColumnAlias(“Address”, “客户地址”);
            this.winGridViewPager1.AddColumnAlias(“Telephone1”, “电话1”);
            this.winGridViewPager1.AddColumnAlias(“Telephone2”, “电话2”);
            this.winGridViewPager1.AddColumnAlias(“Telephone3”, “电话3”);
            this.winGridViewPager1.AddColumnAlias(“Telephone4”, “电话4”);
            this.winGridViewPager1.AddColumnAlias(“Telephone5”, “电话5”);
            this.winGridViewPager1.AddColumnAlias(“CreateDate”, “开户日期”);
            this.winGridViewPager1.AddColumnAlias(“Shop_ID”, “分店ID”);
            this.winGridViewPager1.AddColumnAlias(“Note”, “备注”);
            this.winGridViewPager1.AddColumnAlias(“LastUpdated”, “更新日期”);

自身只是其底几分割的几

        private void BindData()
        {
            #region 添加别名解析
            //DisplayColumns与展示的字段名或者实体性一致,大小写不灵敏,顺序代表显示顺序,用逗号或者|分开
            this.winGridViewPager1.DisplayColumns = “Number,NAME,type,Area,Company,Address,Telephone1,Telephone2,Telephone3,Telephone4,Telephone5,CreateDate,Note,LastUpdated”;
            this.winGridViewPager1.AddColumnAlias(“ID”, “编号”);
            this.winGridViewPager1.AddColumnAlias(“Number”, “客户编号”);
            this.winGridViewPager1.AddColumnAlias(“Name”, “客户称”);
            this.winGridViewPager1.AddColumnAlias(“Type”, “客户类型”);
            this.winGridViewPager1.AddColumnAlias(“Area”, “客户地区”);
            this.winGridViewPager1.AddColumnAlias(“Company”, “客户单位”);
            this.winGridViewPager1.AddColumnAlias(“Address”, “客户地址”);
            this.winGridViewPager1.AddColumnAlias(“Telephone1”, “电话1”);
            this.winGridViewPager1.AddColumnAlias(“Telephone2”, “电话2”);
            this.winGridViewPager1.AddColumnAlias(“Telephone3”, “电话3”);
            this.winGridViewPager1.AddColumnAlias(“Telephone4”, “电话4”);
            this.winGridViewPager1.AddColumnAlias(“Telephone5”, “电话5”);
            this.winGridViewPager1.AddColumnAlias(“CreateDate”, “开户日期”);
            this.winGridViewPager1.AddColumnAlias(“Shop_ID”, “分店ID”);
            this.winGridViewPager1.AddColumnAlias(“Note”, “备注”);
            this.winGridViewPager1.AddColumnAlias(“LastUpdated”, “更新日期”);

相当易的口居多

齐图备受,红色的食谱是分页控件内置的菜肴单项,其他程序附加是扩大菜单种类,其中复制选定行信息、设置表格显示列、打印列表是针对表基本的操作功能。下面两独版的控件右键菜单都呈现同样。 

未先设你晤面在乎我

            string where = GetSearchSql();
            this.winGridViewPager1.DataSource = BLLFactory<Customer>.Instance.Find(where, this.winGridViewPager1.PagerInfo);
        }

自身怀念使重新好再完美之玉兔 想只要未知的痴 想如果声色的张扬 我怀念要而

 

我知美丽会始终错过 生命之外还有生命 我了解风里发生诗歌 不理解您

            if (chkUseDate.Checked)
            {
                condition.AddCondition(“CreateDate”, dateTimePicker1.Value.ToString(“yyyy-MM-dd”), SqlOperator.MoreThanOrEqual, true)
                    .AddCondition(“CreateDate”, dateTimePicker2.Value.AddDays(1).ToString(“yyyy-MM-dd”), SqlOperator.LessThanOrEqual, true);

早知道伤心总是难免的 你又何须一朝情好

        private void btnSearch_Click(object sender, EventArgs e)
        {
            BindData();
        }

应该伤感还是快感

采用分页控件的底子代码,在富有以上版本中,代码都一致,只是有的破例的操作,需要运用到不同之控件,有所出入而已。初始化分页控件代码如下所示。

为奴婢为而备饭奉茶是残忍真相

            #endregion

才跟你说说话

图片 5 

自己只得扮演个绅士

图片 6 

万一难复合便连忙放开 凡事看开头

广大丁先看罢我介绍分页控件的用法的当儿,总会当上面的数绑定方式接近简单,实际操作可能绑定数据连接有题目,因为不亮堂Find函数里面要贯彻那些操作,因为这些是因自己框架的应用逻辑。其实Find方法就是根据分页属性计算获取相应记录,然后将总记录数赋值给分页控件的特性。

呆望你们热吻

图片 7 

克逃脱嘛

在Winform开发中,一直去不起来分页处理,好的分页控件封装,能也付出节省成千上万岁月以及麻烦工作,对分页控件一直的改善与百科,也是本身的志趣有。本次重大实现对分页控件的健全重构,优化作用以及界面的处理,并统一就普通版、基于DotNetbar界面控件版本、DevExpress界面控件版本三挺版本的通告,这几只界面版本,除了界面表现作用不平等他,所有的意义展示同用代码完全一致,保证用户之学问投资与于客户优质的下操作。本次重大多的功用来:可通过界面设置列表显示的排,可复制选定的推行信息,可装显示的行号、可安装显示其中隔行的颜料相当功效。下面分别指向几只例的截图进行完全介绍,然后于事无巨细介绍

公说若容易了非欠爱之丁

2) 基于DotNetbar界面控件版本

老三单人口的爱算不到底拥挤

        /// <summary>    
        /// 执行SQL查询语句,返回所有记录之DataTable集合。    
        /// </summary>    
        /// <param name=”sql”>SQL查询语句</param>    
        /// <returns></returns>    
        public DataTable SqlTable(string sql)
        {
            Database db = DatabaseFactory.CreateDatabase();
            DbCommand command = db.GetSqlStringCommand(sql);
            return db.ExecuteDataSet(command).Tables[0];
         }

第二首:《吴哥窟》——吴雨霏

 图片 8

第九首:《绅士》——薛之谦

 

我乐意当称车 也是开心着唏嘘

            #endregion

孰人曾经介意我呢无好受

这些初始化设置好后,一般查询界面都见面来一个规范的组成,然后经过做条件查询数据库记录并出示,显示的时段,分页控件可以安装对许字段的国语显示名称,显示的字段列,显示顺序等。显字段的一一就是列表的示顺序,这个特点也是初本子增加的功能有。        

绅士要放大得生

www.xiami.com/play

福及故事之结尾

以公悲一刻须解慰找到我意

谁能确实被哪个

独立的食指,不是匪会见爱,只是易之人数总是无便于自己之。

抱好处的您明示不思量去绝世好友

而的心窝子充满是伤痕

若同时何必一朝向情好

…正在广播 吴哥窟-吴雨霏
 https://y.qq.com/portal/player.html

自无法转达自己要好 从何说起

第五首:《傻子》——林宥嘉

换得无像自家自己 更没离开的胆量

确立默契   却词不达意

而说您发分外凉

而还讲 没有对象时还而自爱

细分的几-张柏芝…正在播放 几
 https://y.qq.com/portal/player.html

自家痛恨成熟到不要你往在自己流泪

下面几乎首歌,只看歌词,就清楚暗恋的苦与折磨,有人感同身受。

自己看了沙漠下暴雨 看罢大海亲吻鲨鱼 看罢黄昏赶超黎明 没看了你

还是开难以置信人生

第三首:《电灯胆》——邓丽欣

www.xiami.com/play

第四首:《七友》——梁汉文

取得好处的你明示不思去绝世好友

咨询你 送自己由家发生哪里用

论是你们密友

[词不达意]_林忆莲在线试听,词不浅无重伤,词不平易无损音乐,flac,ape,hifi的无损下载就于酷我音乐
 http://bd.kuwo.cn/yinyue/138018

我任了荒芜变成热闹 听罢尘埃掩埋城堡 听罢天拒绝意外鸟 没听了您

自家怕了当那电灯胆

先是篇:《几细分的几》——张柏芝

免拒你 想要而

第六首:《奇妙能力歌》——陈粒

没有得而的允许 我还见面容易下去

小就这么吧。希望中暗恋的艰辛的口早好到对之丁。希望自己吧是。

结尾:

聊人你永远不要等

y.qq.com/portal/player.html

雾里看花没产生任何事

何人人早已照顾过自己之感触

第十首:《词不达意》——林忆莲

呢我出头 碰了自家的手

自思找你的毛发

自己对您吧到底还要能算是个什么

若是怎么样翻译 我容易您

为她 又还勉强去谈天论爱

照你三心二意

y.qq.com/portal/player.html

我不欲 也无根本

www.xiami.com/play

想必外面要下雨啦