以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 窗口中的表选定单元格 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=145369) |
||||
-- 作者:hbhb -- 发布时间:2020/1/17 12:12:00 -- 窗口中的表选定单元格 大师:见实例,窗口中表绑定表后,按Ctrl选定不同单元格出现问题 1、加载表后出现问题 2、选定一单元格,背景显示连续两个单元格
|
||||
-- 作者:有点蓝 -- 发布时间:2020/1/17 13:54:00 -- 都做一下转换:e.Table.Grid.SetCellStyle(cint(ary(0)+1), cint(ary(1)+1), "") |
||||
-- 作者:hbhb -- 发布时间:2020/1/17 18:18:00 -- 还是不行,背景还是选择两个单元格 测试: 第一步:选择科目余额表,增加行,鼠标点击任意单元格显示两个单元格 第二部:再选择其他表,出错。
|
||||
-- 作者:hbhb -- 发布时间:2020/1/17 21:08:00 -- 劳驾大师帮忙解决,折腾半天了都没有搞出来? |
||||
-- 作者:有点蓝 -- 发布时间:2020/1/17 21:10:00 -- 1、多个表都使用同样的代码,也就是使用了同一个集合ps存储单元格坐标,不同表切换肯定就有单元格坐标索引不一致的问题 方法1、每个表都使用一个独立的集合对象 方法2、MainTableChanging事件清空这个集合 For Each p As String In ps Dim ary() As String = p.Split(",") If ary(0) >= 0 AndAlso ary(1) >= 0 Then Tables(e.OldTableName).Grid.SetCellStyle(cint(ary(0)+1), cint(ary(1)+1), "") End If Next Tables(e.OldTableName).Refresh ps.clear 2、其次,如果表有多层表头,单元格坐标计算肯定要改改 e.Table.Grid.SetCellStyle(cint(ary(0)+e.Table.HeaderRows), cint(ary(1)+1), "") 从来都只会抄,根本不懂自己在做什么 |
||||
-- 作者:hbhb -- 发布时间:2020/1/17 22:43:00 -- 针对实例解决直接解决发给我看看?窗口中的表有这个事件MainTableChanging事件? |
||||
-- 作者:有点蓝 -- 发布时间:2020/1/17 22:52:00 -- 方法1、每个表都使用一个独立的集合对象 都提供了多个方案,不会自己选一个合适的么
|
||||
-- 作者:hbhb -- 发布时间:2020/1/17 23:22:00 -- 什么叫多个表?窗口中的SQL类型表的名称是什么?不是同样的表名?这是绑定不同的数据表? 如果我加载不同的表前,清空集合,与你所说不同的集合对象的区别是什么? 不要理论,只要结果!您是否解决了问题?
|
||||
-- 作者:hbhb -- 发布时间:2020/1/17 23:39:00 -- 其实这些都应该是软件本身最基本的功能,既然提供自动计算,难道就只能选择方块区域?不是笑话吗? 难道这些最基本的功能,还要我们去摸索写代码?我们的精力应该主要放在业务逻辑本身!
|
||||
-- 作者:有点蓝 -- 发布时间:2020/1/18 9:07:00 -- foxtable不是万能的,就算金蝶用友都有各种各样的毛病和不喜欢。精力都放在业务逻辑里,其它什么东西都做好了的软件这个世界还不存在。 8楼的问题纯属编程基础问题。就说懒得了,不找那么多借口 如果第一次操作A表,把A表选择的单元格都放入了ps集合,其中有一个选择的单元格是(9,1),这时再选择其它表,B表,但是这个B表只有5行数据,是不存在(9,1)的,可是代码里还是使用了同一个ps集合,集合里有(9,1),是不是就会导致索引异常?! 论坛是提供技术支持,提供思路的,不是提供结果的地方,如果自己不思考,不动手只想要结果的,看看天上有没有馅饼掉下来...
|