Foxtable(狐表)用户栏目专家坐堂 → 这个报错是不是不能识别?


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

主题:这个报错是不是不能识别?

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
这个报错是不是不能识别?  发帖心情 Post By:2019/2/15 15:44:00 [只看该作者]

  Case "09:30-10:00", "10:00-10:30"
                        If e.Row.Isnull(e.Col.Name) = False Then
                            Dim dr As DataRow = e.Table.DataTable.find("(" & e.Col.Name & "= '" & e.Row(e.Col.Name) & "') And 预约医生='" & e.row("预约医生") & "'")
                            If dr IsNot Nothing Then
                                e.Style = "b"
                            End If
                        End If



无法解释位置 4 的标记“:”。

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


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

列名加上中括号

 

Dim dr As DataRow = e.Table.DataTable.find("([" & e.Col.Name & "]= '" & e.Row(e.Col.Name) & "') And 预约医生='" & e.row("预约医生") & "'")


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2019/2/15 15:51:00 [只看该作者]

我试试


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2019/2/15 15:57:00 [只看该作者]

老大 

Dim dr As DataRow = e.Table.DataTable.find("([" & e.Col.Name & "]= '" & e.Row(e.Col.Name) & "') And 预约医生='" & e.row("预约医生") & "'")

我想第一个颜色不变色,后面找到的再变色,应该怎么改?

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


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

具体实例发上来说明和测试。

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2019/2/15 16:08:00 [只看该作者]

不好做实例,列名全部动态生成的,我上传个截图.




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

就是这个意思



[此贴子已经被作者于2019/2/15 16:08:41编辑过]

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


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

 

你需要循环每一列判断,如果之前的列有值,就满足条件,标记为别的颜色。

 


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2019/2/15 16:24:00 [只看该作者]

Select Case e.Col.Name
                    Case "预约医生"
                        e.Style = "a"
                    Case Else
                        e.Style = "a"
                        If e.Row.IsNull(e.Col.Name) = False Then
                            For Each Cl As Col In e.Table.Cols
                                Select Case Cl.Name
                                    Case "预约医生"
                                    Case Else
                                        Dim dr As DataRow = e.Table.DataTable.Find("([" & Cl.Name & "]= '" & e.Row(e.Col.Name) & "') And 预约医生='" & e.Row("预约医生") & "'")
                                        If dr IsNot Nothing Then
                                            e.Style = "c"
                                        End If
                                End Select
                            Next
                        End If
                End Select

我这样写还是全部变色了

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


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

For Each Cl As Col In e.Table.Cols

 

改成

 

for i as integer = 0 to e.col.index-1

    Dim cl As Col = e.table.cols(i)

[此贴子已经被作者于2019/2/15 16:28:33编辑过]

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


加好友 发短信
等级:版主 帖子:1693 积分:12117 威望:0 精华:7 注册:2013/7/11 10:52:00
  发帖心情 Post By:2019/2/15 16:32:00 [只看该作者]

和单元格注释一样处理啊,加一个辅助列,记录本行各个单元格的样式值

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