Foxtable(狐表)用户栏目专家坐堂 → 表


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

主题:表

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/16 18:03:00 [显示全部帖子]

1、临时表不要写到drawcell事件,尽量写在窗口AfterLoad事件。查出的临时表,用一个变量记录起来,如

 

cmd.CommandText = s
Dim d As DataTable = cmd.ExecuteReader
vars("临时表") = d

 

2、在你drawcell,查询临时表进行判断,如

 

Dim d As DataTable = vars("临时表")
Dim fdr As DataRow = d.Find("编号 = '" & e.Row("编号") & "'")
If fdr Is Nothing Then
    '没有重复
End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/17 10:37:00 [显示全部帖子]

选择数据源之后,再生成vars("临时表")

 

vars没有值的时候,不处理drawcell事件,加一个判断

[此贴子已经被作者于2018/1/17 10:37:50编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/17 10:55:00 [显示全部帖子]

不理解你要做什么。有问题,做个实例发上来说明。

 

1、临时表不要在drawcell事件生成,请在另外某一个地方生成;

 

2、drawcell,在临时表没生成前,不要执行代码;

 

3、不会做上传实例。

 

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/17 11:11:00 [显示全部帖子]

以下是引用Springamy在2018/1/17 11:04:00的发言:

嗯呐,谢谢甜大!

怎么判断临时表有没有生成.图片点击可在新窗口打开查看

 

 

1、可以另外用一个变量。

 

if vars("生成") = true Then

 

End If

 

2、你在另一个地方生成以后,就赋值为true

 

vars("生成") = True


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/17 14:23:00 [显示全部帖子]


For Each dr As DataRow In d.datarows 
    msgbox("执行了吗")
    Dim fdr As DataRow = dt.Find("编码 = '" & dr("cpbm") & "'")
    msgbox("执行")
    If fdr Is Nothing Then
        dr("是否NewBom") = "否"       
    Else
        dr("是否NewBom") = "是"
    End If   
Next


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/17 16:16:00 [显示全部帖子]

For Each dr As DataRow In dt.datarows
    If dr("编码") > "" thn
        Dim fdr As DataRow = dt.Find("cpbm = '" & dr("编码") & "'")
    Else
       
    End If
Next


 回到顶部