Foxtable(狐表)用户栏目专家坐堂 → SQLTable动态表的绑定与设置显示行


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

主题:SQLTable动态表的绑定与设置显示行

帅哥,在线噢!
有点蓝
  41楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

以下是引用采菊东篱下在2021/3/21 23:57:00的发言:

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20210321235633.png
图片点击可在新窗口打开查看

提示很明显了,单号是一个普通字符串,不是合法的日期值,无法直接转换为日期:Dim d As Date = yzdh.Value

如果要提取里面的日期,需要截取第4~9个字符

 回到顶部
帅哥,在线噢!
有点蓝
  42楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

以下是引用采菊东篱下在2021/3/22 0:09:00的发言:
全局的ValidateEdit事件我已经写入了:
For Each dt As DataTable In DataTables
    dt.GlobalHandler.AfterEdit = True
Next

窗口中的ValidateEdit事件写入:
With Tables("月租收费_Table1")
    .DataTable.GlobalHandler.AfterEdit = True
End With

依然不行!

把全部的ValidateEdit事件代码去掉,把处理自动换行的代码放到全局表AfterEdit 事件

 回到顶部
帅哥,在线噢!
有点蓝
  43楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

到全局表事件DataColChanging事件处理

 回到顶部
帅哥,在线噢!
有点蓝
  44楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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


 回到顶部
帅哥,在线噢!
有点蓝
  45楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106315 积分:540710 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/22 10:43:00 [显示全部帖子]

开启全局表DataColChanging事件了吗

 回到顶部
帅哥,在线噢!
有点蓝
  46楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106315 积分:540710 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/22 10:52:00 [显示全部帖子]

放到全局表事件AfterEdit,然后开启全局表事件

 回到顶部
帅哥,在线噢!
有点蓝
  47楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

    If c > 0 Then
        If d < fd Or d > ld Then
            e.cancel = true
            MessageBox.Show("修改的日期不能超出已保存单号所属月份","提示")
        End If
    End If

 回到顶部
帅哥,在线噢!
有点蓝
  48楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106315 积分:540710 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/22 16:10:00 [显示全部帖子]


 回到顶部
帅哥,在线噢!
有点蓝
  49楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

全局表事件的AfterEdit事件

Select Case 
e.Table.Name
    Case 
"月租收费_Table1","临时收费录入_Table1","其他收费录入_Table1"
        If e.Col.Name = "备注" Then
            e.Table.AutoSizeRow(e.Row.Index)
        End If
case "记账凭证_Table1"
     If e.Col.Name = "摘要" Orelse e.Col.Name = "会计科目" Orelse e.Col.Name = "明细科目" Then
            e.Table.AutoSizeRow(e.Row.Index)
        End If
End Select

如果是在单元格录入的时候判断的,当然可以在表事件里处理。

当然控件的取消操作也可以到控件Validating事件处理

 回到顶部
帅哥,在线噢!
有点蓝
  50楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

逻辑比较混乱。原来使用DataSource绑定窗口表,现在都改为sqltable了。如果是sqltable,不需要全局表事件,放到窗口表事件处理即可。

另外如果是sqltable,没有必要把数据复制过来修改然后再复制回原主表。直接在sqltable处理逻辑即可,根据条件加载数据,然后编辑直接保存即可。

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