以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  临时表中的drawcell事件里怎么获取单元格的内容  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=39422)

--  作者:zhchling
--  发布时间:2013/8/23 22:29:00
--  临时表中的drawcell事件里怎么获取单元格的内容

临时表中的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编辑过]

--  作者:有点甜
--  发布时间: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

--  作者:有点甜
--  发布时间: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
--  发布时间:2013/8/23 22:55:00
--  

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

 

加上了这句就可以了。

 

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

 


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

--  作者:有点甜
--  发布时间:2013/8/23 23:08:00
--  
 这个问题,就用like去比较

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