当前位置: 首页 > news >正文

电商网站建设规划开发方案wordpress 提供了 支持

电商网站建设规划开发方案,wordpress 提供了 支持,建设部造价工程师考试网站,y-m-d WordPress 首页DBGridEh 可以点列抬头使得记录按该列排序 不需要写代码,只需要设置好,它就能排序。 网上的文章一般写了如何设置。但一般都少说了一条。 先说如何设置: 1. OptionsEh.AutoSortMarking 设置为 True,如果是设计期属性面板&…

DBGridEh 可以点列抬头使得记录按该列排序

不需要写代码,只需要设置好,它就能排序。

网上的文章一般写了如何设置。但一般都少说了一条。

先说如何设置:

1. OptionsEh.AutoSortMarking 设置为 True,如果是设计期属性面板,就是打勾;

2. 如果要按多个字段排序,则:OptionsEh.dghMultiSortMarking 打勾;

3. SortLocal 打勾;

4. 如果是设计期,为 DBGridEh 创建固定字段(Columns),选中要排序的字段,在其属性面板找到:

4.1. Title.TitelButton 打勾;

4.2. Title.SortMarker 可以选择默认值,也就是没排序箭头。但当执行完排序,这个箭头会显示出来。

5. 重点来了:如果这个 DBGridEh 对应的 DataSet 是 ClientDataSet,就需要在它所在的单元 uses EhlibCDS

为啥要 uses EhlibCDS

请参考以下这段话:

EhLib已经实现了能在TQuery, TADOQuery 和TClientDataSet对象中排序数据的类。简单地通过 uses 子句添加 Ehlib...(EhlibBDE,EhlibADO,EhlibCDS)的单元之一到你的工程的任意单元中,与它们相连的数据网格将自动对该数据集进行排序。 EhLibBDE, EhLibADO, EhLibCDS 通过在单元数据集中调用 RegisterDatasetFeaturesEh 过程来实现初始化。
对于其它数据集类型,你必须编写、并注册可以实现该数据集排序的新对象。书写过程 T[你的数据集]DatasetFeaturesEh.ApplySorting ,你可以存取那些使用了 SortMarkedColumns 属性的列以实现直接排序。你可以查看 DbUtilsEh 单元中的示例以明白如何编写T[你的数据集]DatasetFeaturesEh 类及查看 EhLibBDE 单元以明白如何注册 T[你的数据集]DatasetFeaturesEh 类。

大概意思:DBGridEh 实际上是依靠它对应的 DataSet 去排序的。TDataSet 本身没有实现排序功能,但它的子类,比如 TClientDataSet 实现了排序功能。因此,如果要它自动排序,需要引用它提供的对应该 DataSet 的排序单元。如果你使用的 DataSet 不是它支持的,就要自己去实现,并注册。

概念

Delphi 的数据敏感控件,比如 DBGrid 或者 DBGridEh,通过 DataSource 指向一个 DataSet;数据敏感控件本身仅仅是用于数据的显示,它并不拥有数据,也不管理数据。所有对数据的操作,都是在操作 DataSet。

因此,表面上看,点击的 DBGridEh 的字段抬头后,里面的数据排序了。但实际上,是它背后的 DataSet 里面的数据排序了。

进一步的测试

有人想要点击 DBGridEh 的字段抬头排序以后,还想要在排序后可以取消排序,恢复 DBGridEh 里面的记录的原来的排列顺序。

基于以上排序的原理,可以知道,排序实际上是对 DataSet 而言的。因此,使用以下代码测试:

procedure TForm1.Button3Click(Sender: TObject);
beginShowMessage(ClientDataSet1.IndexFieldNames);ShowMessage(ClientDataSet1.IndexName);
end;

程序运行后,用户点击 DBGridEh 的字段抬头排序之前,点击 Button3 执行上述代码,弹出来的对话框是空的。

用户点击 DBGridEh1 的字段抬头排序之后,运行上述代码,可以看到:

1. ClientDataSet1.IndexFieldNames 仍然是空的;

2. ClientDataSet1.IndexName 为:SortIndexEh

说明当用户点击 DBGridEh 的字段抬头,DBGridEh 自动为记录排序时,实际上它是为它对应的 ClientDataSet1 增加了一个索引!

因此,取消排序就简单了:
procedure TForm1.Button4Click(Sender: TObject);
beginClientDataSet1.IndexName := '';
end;

执行完上述代码,可以看到,DBGridEh1 里面的记录顺序确实恢复到了排序之前的顺序。

进一步讨论

其实,有必要取消排序,恢复到原始混乱的排序吗?

对用户来说,其实他需要的是各种排序。比如先按照名字排序,看完了,可能想按照性别排序来看。看完了,可能想按照年龄排序来看。因此,只需要对各个字段设置为可以点抬头排序就好了。实在想不出来有什么需求,是要看原始混乱排序的顺序的。

http://www.yayakq.cn/news/294269/

相关文章:

  • 旅游网站建设策划书模板鹰潭网站制作
  • 搜索引擎广告分为哪三类凡科建的网站怎么做seo
  • 网站时间轴wordpress可以做论坛
  • 建设教育培训的网站天津网站开发
  • 资兴市网站建设哪个好十大营销网站
  • 在那个网站找模具做wordpress左右翻转页面
  • 做网站广告多少钱nofollow外链对于网站有提升吗
  • 3d全景网站怎么做h5制作培训
  • 广东企业网站建设推荐深圳龙华天气预报
  • 建设银行企业网银网站无法打开ks免费刷粉网站推广低价
  • 域名注册解析管理网站受欢迎的邢台做网站
  • 耳机商城网站开发江苏电力建设网站
  • 创建一个网站流程图wordpress页面增加目录
  • 容桂网站制作动态新浪云部署wordpress
  • 重庆中环建设有限公司网站低代码开发软件
  • 1个人做多网站负责人合肥网站制作QQ
  • 网站做gzip压缩关于公司的网站设计
  • 网站建设需要学习课程为什么网站生成后不显示
  • 网站建设内部流程图网站建设技术开发
  • 网站建设mp4背景做品牌推广网站需要多少钱
  • 什么软件可以攻击网站wordpress微信分享图片不显示图片
  • 网站规划的要素不包括开源的 二次网站开发
  • 怎么给网站做aap如何制作游戏?
  • 制作介绍的网站网站建设表格
  • 旅游网站的网页设计素材wordpress修复
  • 网页网站设计培训班郑州网站+建设
  • 网站推广优化外包公司哪家好福州seo博客
  • 国家为什么把安阳分了手机端网站如何优化
  • 国外网站搜索引擎优化方案找i满洲做卖房广告不收费的网站
  • 网站开发公司凭证建设银行开通网银网站