Foxtable(狐表)用户栏目专家坐堂 → 用户样式在QueryBuilder临时表中设定无效


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

主题:用户样式在QueryBuilder临时表中设定无效

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


加好友 发短信
等级:一尾狐 帖子:437 积分:3749 威望:0 精华:0 注册:2016/10/14 13:40:00
用户样式在QueryBuilder临时表中设定无效  发帖心情 Post By:2017/10/23 1:06:00 [只看该作者]

老师,你好。
我想用在窗口表中自定义样式。除了建立临时表的方式不一样,其它代码都一样,一种能显示用户样式,一种不能。具体情况如下:
1. 不能显示的窗口用的是querybuilder建的临时表

test_无颜色_Table1_DrawCell 

If e.Col.Name = "moplanQty" Then

    If e.Row("moplanQty") >= 10000 Then

        e.Style = "b"

    End If

End If

'用代码建立查询表

 Dim q As new QueryBuilder

    q.C

    q.TableName = "v_mo"

    q.SelectString = "sele ct * f rom v_mo"

    q.Build



2. 能显示的窗口用的是cmd.ExecuteReader()建的临时表

test_有颜色_Table1_DrawCell 

If e.Col.Name = "moplanQty" Then

    If e.Row("moplanQty") >= 10000 Then

        e.Style = "b"

    End If

End If

'用代码建立查询表

Dim dt1 As DataTable

cmd.C

cmd.CommandText = frmsqlstr

dt1=cmd.ExecuteReader()


具体见附件。麻烦指点一下。


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


加好友 发短信
等级:一尾狐 帖子:437 积分:3749 威望:0 精华:0 注册:2016/10/14 13:40:00
  发帖心情 Post By:2017/10/23 1:07:00 [只看该作者]

刚才附件上传不了,补发一下

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


加好友 发短信
等级:一尾狐 帖子:437 积分:3749 威望:0 精华:0 注册:2016/10/14 13:40:00
  发帖心情 Post By:2017/10/23 1:14:00 [只看该作者]

图片点击可在新窗口打开查看传不上附件,上传二个图片

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


加好友 发短信
等级:一尾狐 帖子:437 积分:3749 威望:0 精华:0 注册:2016/10/14 13:40:00
  发帖心情 Post By:2017/10/23 1:15:00 [只看该作者]

搞不懂,看不到附件

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/23 8:47:00 [只看该作者]

如果是窗口表,你为什么不直接fill进来?参考 http://www.foxtable.com/webhelp/scr/1777.htm

 

如果用querybuilder,你需要编写的是全局表事件 http://www.foxtable.com/webhelp/scr/0671.htm

 


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


加好友 发短信
等级:一尾狐 帖子:437 积分:3749 威望:0 精华:0 注册:2016/10/14 13:40:00
  发帖心情 Post By:2017/10/23 9:36:00 [只看该作者]

谢谢及时回复。没有用Fill方式是因为帮助里说:

重要提示

其实Fill并不常用,只有需要从不同的表中加载数据时,才使用Fill语句,从同一个表中动态加载数据,应该使用LoadFilter和Load来实现。


现在项目里已经用querybuilder写了,全局表事件怎么写?
项目的要求是:
1. 项目中有多个窗口,每个窗口都有用querybuilder动态分页加载的表
2. 有些表需要按客户要求对某些字段,将符合条件的单元格标识相应的样式。如订单数量>10000的用红底白字,1000-9999的用黄色,<1000的用绿色。但不同的窗口表加载的业务数据不一样,应用样式的条件了也不一样。

谢谢!


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/23 9:52:00 [只看该作者]

全局表 drawcell 事件

 

If e.Table.Name = "表A" Then

 

ElseIf e.Table.name = "窗口1_Table1" Then

    e.Table.AddUserStyle("a", Color.Red, Color.White)

    e.Style = "a"

End If


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


加好友 发短信
等级:一尾狐 帖子:437 积分:3749 威望:0 精华:0 注册:2016/10/14 13:40:00
  发帖心情 Post By:2017/10/23 10:23:00 [只看该作者]

在全局表drawcell事件中写了下面的代码:
If e.Table.Name = "v_mo" Then
    If e.Col.Name = "moPlanQty"  Then   e.Style = "a"
ElseIf e.Table.name = "test_无颜色_Table1" Then
    e.Table.AddUserStyle("a", Color.Red, Color.White)
    If e.Col.Name = "moPlanQty"  Then  e.Style = "a"
End If

但会有下面的报错
---------------------------
错误
---------------------------
编译错误:“AddUserStyle”不是“Table”的成员。

错误代码:e.Table.AddUserStyle("a", Color.Red, Color.White)
---------------------------
确定  
---------------------------

把代码改成下面,则无报错, 但依然没有显示颜色
If e.Table.Name = "v_mo" Then
    If e.Col.Name = "moPlanQty"  Then   e.Style = "a"
ElseIf e.Table.name = "test_无颜色_Table1" Then
    e.Table.DataTable.AddUserStyle("a", Color.Red, Color.White)
    If e.Col.Name = "moPlanQty"  Then  e.Style = "a"
End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/23 11:13:00 [只看该作者]

全局代码你要开启一下的。你build出对应的表后,执行

 

DataTables("v_mo").GlobalHandler.DrawCell = true


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


加好友 发短信
等级:一尾狐 帖子:437 积分:3749 威望:0 精华:0 注册:2016/10/14 13:40:00
  发帖心情 Post By:2017/10/23 19:23:00 [只看该作者]

好了,谢谢!

 回到顶部
总数 13 1 2 下一页