让表格看起来更高大上?OrangeUI做的到!

目前Web已经成为管理系统的主流,用Delphi原生控件开发出来的土灰土灰的界面看起来已经像是旧时代的产品了。

比如表格控件中的按钮,一些Web框架做的特别的漂亮,像流行的vue-element-admin:

https://panjiachen.gitee.io/vue-element-admin/#/table/complex-table

         

图片

         

Delphi做不到吗?Delphi中有很多强大的控件。

比如Delphi控件中最强大的表格控件,当属DevExpress控件包中的cxGrid,要从头开发一个像它那样的,那简直就只是比登天要简单一点的。

并且在单元格中添加按钮,用cxGrid是很好实现的。

         

先添加一个表格列,用来放按钮,

图片

将它的Properties选择为ButtonEdit,

图片

然后在Properties.Buttons中添加3个按钮:编辑、草稿、删除,

按钮类型属性Kind设置为bkText

图片

将按钮的宽度设置为自动宽度,

Properties.ViewStyle=vsButtonsAutoWidth:

图片

         

最后,让按钮一直显示,

Options.ShowEditButtons设置为isebAlways:

图片

         

现在我们来看看效果:

图片

按钮出来了,cxGrid真香!

不过要是能再好看点就好了。

         

这就需要用到设计面板控件TSkinWinItemDesignerPanel,

了解OrangeUI移动开发的朋友都知道,它是用来设计手机上的列表项样式的。

它只是一个控件的容器,它提供绘制方法可以将它里面的子控件绘制到任何地方,

比如绘制到一个列表的列表项当中,

就像下面这个手机列表页面(在OrangeUI控件的示例中),其中的每个项都是一个设计面板画上去的:

图片

官网上有使用教程,我就不细讲了:

http://www.orangeui.cn/components/list-box-and-list-view/how-to-use-item-designer-panel

那么将设计面板与cxGrid怎么进行结合呢?

在cxGrid中添加一个操作列cxGrid1DBTableView1Column_operation,

然后添加一个设计面板控件idpOperation,

再它上面放上三个OrangeUI的按钮TSkinWinButton,

图片

需要引用uCxDBGridColumnItemDesignerPanelManager单元,

在页面中声明并创建一个TCxDBGridColumnItemDesignerPanelManager对象,

用来将表格列与设计面板进行绑定:

FOperationColumnItemDesignerPanelManager:TCxDBGridColumnItemDesignerPanelManager;

图片

TCxDBGridColumnItemDesignerPanelManager的构造方法传入三个参数:

cxGrid表格视图、表格列、设计面板。

         

这还没有完,

设计面板需要接管这一列所有单元格的绘制,需要在列的OnCustomDrawCell中处理:

图片

图片

图片

就这样,设计面板上的子控件都画到每个单元格上去啦!

         

当然,光是显示怎么够,还需要鼠标移动和点击的效果和事件呢!

那就需要设计面板去处理cxGridTableView的鼠标事件了:

图片

然后在设计面板上的按钮中写它的OnClick事件就可以了。

怎么在OnClick事件中知道当前在哪一条记录上呢?

参考OrangeUI VCL的示例即可:

FOperationColumnItemDesignerPanelManager.FHitTest.GridRecord.RecordIndex

图片

         

去掉自带的按钮列看一下效果:

图片

还是有很多不足的,比如表格中有一个状态列,能把它做的好看一点吗?

         

那我们再接着完善,

再拖一个设计面板与状态列进行绑定,

里面放一个TSkinWinLabel用来显示状态:

图片

状态字段值有两个,0表示草稿,1表示已发布,

那么我们在表格列OnCustomDrawCell事件中根据单元格的值来设置Label的标题

图片

 

图片

不同的状态用不同的底色:

图片

图片

         

再美化下:

图片

图片

结束了,来看个整体效果吧!

图片

         

欢迎各位前来下载体验OrangeUI控件,

让您的产品客户看的舒服,用的舒心!

我们也提供定制化的服务,让您的产品登上一个新的档次!

www.orangeui.cn

图片

图片

图片

         

         

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下转载自官方软件介绍 通过OrangeUI,您可以快速及稳定的实现如下功能,并且全部免费: 1.APP主页九宫格菜单,在主流APP中经常能够见到,OrangeUI只需要一个控件,而不是Image和Label堆出来实现。 2.广告图片轮播功能,并且是可以跟随手指滑动切换,这是目前别的控件还不到的。 3.列表ListView支持直接设置图片的URL,通过底层的多线程下载功能,可以轻松实现异步加载图片,并且不会感觉到卡顿。 4.列表框ListView自带下拉刷新、下拉加载的功能,在手机上加载2w条数据只需2秒。 5.APP上数据呈现以ListView为主,列表框ListView支持的设计面板模式,可以在设计面板上添加任意数目的控件,排列好布局,各种样式轻松搞定。 6.实现稳定的页面切换效果,让您的APP如原生般的用户体验(APP最注重的就是用户体验)。 7.各种通用的界面,如等待框,对话框,菜单框,拍照菜单框,选择框等。 8.可以快速生成IOS和Android平台下所用到的各种尺寸的程序图标和启动界面图片。 9.网上商城、好友聊天、新闻浏览、外贸验货、平板点单等示例,包含全部源码的。 10.可以手势切换的分页控件,加入到您的APP中可以极大的方便用户进行操作。 11.稳定灵活的Frame开发方案(发布会李维老师推荐),可以很好的将复杂的主窗体分解成四、五个小页面,加快页面的截入速度,减少内存占用,并且按返回键自动返回上一页的处理,让你打造出高效的APP。 12.开源的微信接口、微博接口、阿里接口、支付宝支付、微信支付、推送功能源码,让你的APP强大。 13.简单实用的图片HTTP上传下载客户端和服务端(IndyHttpServer)的示例源码。 14.发朋友圈、查看朋友圈的客户端和后台服务端(DataSnap)的示例源码。 15.按钮在ScrollBox上用手指滑动不会触发点击事件。 16.编辑框在ScrollBox上用手指滑动时不会触发输入事件,并已自动处理虚拟键盘显示/隐藏事件,不会挡住编辑框。 17.列表ListView支持在设计时添加Item并能即时预览到效果,目前自带和别的控件都不到的。 18.OrangeUI的用户目前已经超过200名,用户开发的APP也不下百个,不少都上架到AppStore,腾讯应用宝等市场。 19.每个控件配备专门的DEMO和文档教程,使用起来轻松。 20.提供专门的OrangeUI技术支持QQ群(群号:10900297),也可以加我QQ452330643,提供专业的APP开发支持。 21.定期一至两个月新一次,不断添加新的控件适应新的趋势,以及新的实用示例。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值