ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 3894|回复: 15

[求助] VSFlexGrid控件合并单元格的表头绑定数据库

[复制链接]

TA的精华主题

TA的得分主题

发表于 2020-8-8 15:24 | 显示全部楼层 |阅读模式
有个问题困惑好久。一直没有更好的解决方法。请麻烦帮忙看看。
想实现绑定数据库的表格后,表头合并单元格。分开两个都实现的容易。合在一起不知如何将数据偏移两行后开始初始化控件。
使用新类来加载IVSFlexDataSource_GetData,就不知道数据库的链接和绑定怎么做了。。。
另外列宽随内容自动拉伸自适应fg.AutoResize = True也无效果。

绑定ACCESS数据库

绑定ACCESS数据库

合并单元格

合并单元格

单独实现都可以。就是不知道合并单元格的表头后,绑定数据库如何做?绑定数据库后再设置合并单元格的表头也无效。
test.zip (132.01 KB, 下载次数: 40)

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-8-10 17:40 | 显示全部楼层
本帖最后由 cgxs65725 于 2020-8-10 23:42 编辑
T100 发表于 2020-8-10 13:59
1.Rows = 18、.Cols = 18、.FixedRows = 2、.FixedCols = 0在Set fg.DataSource = rst前完成定义,合并单元 ...

高,实在是高。。。原来定义set前固定行列,这样就会自动偏移了。。。厉害啊。。。
5.png



===========================================================================
1、大神再帮忙看看,右键点出来的菜单,选增加一行时会提示错误。方法 additem 作用与对象IVSFlexGird 时失败 4.png
但是新增的按钮的事件又是正常。同样的处理方法

2、如果需要增加一列序号ID列。将数据库主键ID隐藏显示,但是表格内容按该ID列数字自动排序。
  1.     fg.Col = 0
  2.     fg.Sort = 3

  3.    
  4.     fg.FocusRect = flexFocusSolid
  5.     fg.AutoSizeMouse = True
  6.     fg.Editable = flexEDKbdMouse
  7.     fg.FrozenCols = 3   '冻结两列
  8.     fg.TabBehavior = 1
  9.     fg.AllowSelection = False
  10. '    fg.ColHidden(0) = True '隐藏ID列
  11. '    TextBox1.ForeColor = vbBlue
  12. '    TextBox1.SetFocus

  13.     Me.Caption = "产品明细"
复制代码


上面代码提示invalid action when bound,
放到表头合并单元格内的with下,不报错,但是无排序效果。

  1. '=========================合并单元格行首
  2. With fg
  3.     .Rows = 20
  4.     .Cols = 8
  5.     .FixedRows = 2
  6.     .FixedCols = 0
  7.     .Col = 0
  8.     .Sort = 3

  9. End With
  10. '====================================
复制代码



附文件 test.zip (131.19 KB, 下载次数: 62)



TA的精华主题

TA的得分主题

 楼主| 发表于 2020-8-8 17:34 | 显示全部楼层
绑定数据库并合并表头的方法就没有吗?

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-8-9 10:30 | 显示全部楼层
没有办法绑定数据库的同时,合并表头单元格吗?
只能代码重构数组插入表格吗?那要好多代码来重构增删改

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-8-9 10:37 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

这样效果就对了。只是不是绑定数据库的方法

这样效果就对了。只是不是绑定数据库的方法

这样效果就对了。只是不是绑定数据库的方法。增删改全部要重构。就没有绑定数据库的办法吗。。。省点代码量

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-8-10 11:10 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
这个 控件现在是落寞了吗?没啥人研究吗?

TA的精华主题

TA的得分主题

发表于 2020-8-10 12:01 | 显示全部楼层
cgxs65725 发表于 2020-8-10 11:10
这个 控件现在是落寞了吗?没啥人研究吗?

看了一下,应该可以实现

定义一个模块变量
p

装载数据前首先定义固定行的行数,然后再绑定数据
If p = 0 Then .FixedRows = 2
  Set .DataSource = ACCRS.DataSource


底下是单元格数据及合并单元格
.TextMatrix(0, 1) = "收入"
        .TextMatrix(0, 2) = "收入"
        .TextMatrix(0, 3) = "收入"
        .TextMatrix(0, 4) = "成本"
        .TextMatrix(0, 5) = "成本"
        .TextMatrix(1, 1) = "收入客户"
        .TextMatrix(1, 2) = "收入单价"
        .TextMatrix(1, 3) = "金额"
        .TextMatrix(1, 4) = "成本客户"
        .TextMatrix(1, 5) = "成本单价"
        .MergeCells = flexMergeFree
        .MergeCol(0) = True
        .MergeRow(0) = True
        .MergeCompare = 0


1.gif


TA的精华主题

TA的得分主题

发表于 2020-8-10 13:22 | 显示全部楼层
本帖最后由 轩辕传说 于 2020-8-10 13:33 编辑

VB6,,之前帮别人做过一个:收据打印:选来选去最后还是用这个小控件来做 VSFlexGrid。觉得还是直接使用表格来打印方便。
BrowserPreview_tmp.gif

TA的精华主题

TA的得分主题

发表于 2020-8-10 13:59 | 显示全部楼层
本帖最后由 T100 于 2020-8-10 14:01 编辑

1.Rows = 18、.Cols = 18、.FixedRows = 2、.FixedCols = 0在Set fg.DataSource = rst前完成定义,合并单元格行首在Set fg.DataSource = rst之后完成定义
2、自动调整宽度
image.png
求个已注册的:vsFlex8.ocx控制 image.jpg

样式表.zip

35.63 KB, 下载次数: 31

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-8-10 16:24 | 显示全部楼层
魂断蓝桥 发表于 2020-8-10 12:01
看了一下,应该可以实现

定义一个模块变量

大神,你的思路是自定义个模块变量,先表头合并单元格,然后将数据库返回组数插入这个模块变量,控件再绑定模块变量?那增删改也是需要在定义代码实现的吧。。。?

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-8-10 16:26 | 显示全部楼层
轩辕传说 发表于 2020-8-10 13:22
VB6,,之前帮别人做过一个:收据打印:选来选去最后还是用这个小控件来做 VSFlexGrid。觉得还是直接使用表 ...

绑定数据,合并表头单元格。。。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-23 12:24 , Processed in 0.040719 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表