Foxtable(狐表)用户栏目专家坐堂 → 在分页集合版面动态添加的表如何继承基本表的表结构


  共有9368人关注过本帖树形打印复制链接

主题:在分页集合版面动态添加的表如何继承基本表的表结构

帅哥哟,离线,有人找我吗?
有点蓝
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106097 积分:539590 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/8/31 17:03:00 [显示全部帖子]

如果有行,最后一行绝对不会是空的,这种判断完全是多余的,应该判断某一列单元格是否为空,比如编号

tbl.Table.SetColVisibleWidth(Tables("基本信息").GetColVisibleWidth())
tbl.Table.DataTable.DeleteFor("")'删除所有行

tbl.Table.Cols("性别").Combolist = "男|女"
tbl.Table.Cols("身份").Combolist = "参赛人|裁判"
tbl.Table.Cols("所属团体或个人分组").DropForm = "所属团体目录树"
Forms("所属团体目录树").Close()
If tbl.Table.Rows.count = 0 orelse tbl.Table.Rows(tbl.Table.Rows.Count - 1).isnull("xx列") =  false Then'如果最后一行不为空
tbl.Table.AddNew = True'则自动增加一行
End If

AutoAddNew 是一个属性,不是一个函数:http://www.foxtable.com/webhelp/topics/0464.htm

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106097 积分:539590 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/8/31 17:29:00 [显示全部帖子]

如果觉得我回复的代码没有用,请自行解决,没有提问的必要了。不然请按照我提供的代码测试,如果还有问题再在我提供的代码的基础上反馈具体的错误和需求

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106097 积分:539590 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/8/31 20:06:00 [显示全部帖子]

遍历所有列判断,逐个判断

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106097 积分:539590 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/8/31 20:42:00 [显示全部帖子]

这算是一个bug。明天反馈一下。

或者可以到全局表事件的keydown事件自己写代码控制,如果是在逻辑型的前一个列回车就自己使用代码判断添加行

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106097 积分:539590 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/8/31 22:35:00 [显示全部帖子]

Dim dt As DataTable = Forms("主窗口").Controls("基本信息录入").Table.DataTable
Dim nr As DataRow
For Each dr As DataRow In dt.Select("[姓名] Is Not Nothing")
    For Each c2 As DataCol In dt.DataCols
        nr = DataTables("基本信息").AddNew()
        nr(c2.Name) = dr(c1.Name)
    Next
Next
DataTables("基本信息").Save()

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106097 积分:539590 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/1 8:48:00 [显示全部帖子]

Dim t As Table = Forms("主窗口").Controls("基本信息录入").Table
Dim Filter As String = "1=1"
For Each dc As Col In t.Cols
    Filter = Filter & " And " & dc.Name & " Is Not Null"
Next
t.Filter  = Filter 

Dim nr As DataRow
For Each dr As Row In t.rows
    For Each c2 As Col In t.Cols
        nr = DataTables("基本信息").AddNew()
        nr(c2.Name) = dr(c1.Name)
    Next
Next
DataTables("基本信息").Save()


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106097 积分:539590 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/1 11:10:00 [显示全部帖子]

c1是什么玩意?
本来就是多行保存的,看懂代码在说

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106097 积分:539590 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/1 11:49:00 [显示全部帖子]

没注意看,改为一样即可

nr(c2.Name) = dr(c2.Name)

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106097 积分:539590 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/1 20:22:00 [显示全部帖子]

For Each dr As DataRow In dt.Select("[姓名] Is Not null")

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106097 积分:539590 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/1 21:35:00 [显示全部帖子]

如果要判断所有列为空,看43楼

 回到顶部
总数 47 上一页 1 2 3 4 5 下一页