Foxtable(狐表)用户栏目专家坐堂 → 临时表中的drawcell事件里怎么获取单元格的内容


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

主题:临时表中的drawcell事件里怎么获取单元格的内容

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


加好友 发短信
等级:小狐 帖子:385 积分:3893 威望:0 精华:0 注册:2012/2/9 20:09:00
临时表中的drawcell事件里怎么获取单元格的内容  发帖心情 Post By:2013/8/23 22:29:00 [只看该作者]

临时表中的drawcell事件里怎么获取单元格的内容

 

我想要实现的功能是,根据单元格内的姓名,找到userb(客户信息表)里的这个客户,看他的“zclqueren(确认程度)“字段,如果是“入住”,就标记不同样式。

 

 

 

 

Dim s1 As String
  s1= e.Row(e.Col.name)  ' s1获取单元格的值
  Dim zclqueren1 As String
  Dim dr As DataRow
  dr=DataTables("userb").Find("name= '" & Trim(s1) & "'" )  '去掉单元格的值的空格,  userb是客户信息表,找到姓名是单元格的值的这个客户记录
   Dim wz As Integer

   If dr IsNot Nothing Then
     wz = Tables("userb").FindRow(dr)      '在客户信息表里找到单元格里的姓名的那个人的记录
        If wz >= 0 Then
   e.Style = "a"                        '在这里放这个e.style=a是为了检测是否能运行到这里, 果然,发现 wz<0, 估计是上面出了问题.
           Tables("userb").Position = wz
                zclqueren1 =Tables("userb").current("zclqueren")
               If zclqueren1="入住" Then        '确认程度如果是入住状态,那么就把这个格标记e.style=a
                    e.Style = "a" '
              End If
        End If
    Else

    End If

 

 

请热心的高手帮看看是哪里出了问题

[此贴子已经被作者于2013-8-23 22:29:46编辑过]

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


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

 应该没错的才对哦。

If e.Col.Name = "xxx列" Then
    Dim s1 As String
    s1= e.Row(e.Col.name)  ' s1获取单元格的值
    Dim zclqueren1 As String
    Dim dr As DataRow
    dr=DataTables("userb").Find("name= '" & s1.Trim() & "'" )  '去掉单元格的值的空格,  userb是客户信息表,找到姓名是单元格的值的这个客户记录
    Dim wz As Integer
    If dr IsNot Nothing Then
        wz = Tables("userb").FindRow(dr)      '在客户信息表里找到单元格里的姓名的那个人的记录
        If wz >= 0 Then
            zclqueren1 =Tables("userb").Rows(wz)("zclqueren")
            If zclqueren1="入住" Then        '确认程度如果是入住状态,那么就把这个格标记e.style=a
                e.Style = "a" '
            End If
        End If
    End If
End If

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


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

 如果不行,再这样试下

If e.Col.Name = "xxx列" Then
    Dim s1 As String
    s1= e.Row(e.Col.name)  ' s1获取单元格的值
   ' Dim zclqueren1 As String
    Dim dr As DataRow
    dr=DataTables("userb").Find("name= '" & s1.Trim() & "'" )  '去掉单元格的值的空格,  userb是客户信息表,找到姓名是单元格的值的这个客户记录
    'Dim wz As Integer
    If dr IsNot Nothing Then
        'wz = Tables("userb").FindRow(dr)      '在客户信息表里找到单元格里的姓名的那个人的记录
        'If wz >= 0 Then
         '   zclqueren1 =Tables("userb").Rows(wz)("zclqueren")
            If dr("zclqueren")="入住" Then        '确认程度如果是入住状态,那么就把这个格标记e.style=a
                e.Style = "a" '
            End If
        'End If
    End If
End If

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


加好友 发短信
等级:小狐 帖子:385 积分:3893 威望:0 精华:0 注册:2012/2/9 20:09:00
  发帖心情 Post By:2013/8/23 22:55:00 [只看该作者]

If e.Col.Name = "8月24日" Then

 

加上了这句就可以了。

 

但是,问题是我怎么表达每个e.col.name, 每列是日期,不是固定的。

 


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

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


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

 这个问题,就用like去比较

 if e.Col.Name like "*月*日" Then

 回到顶部