以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 这个报错是不是不能识别? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=131071) |
-- 作者:blackzhu -- 发布时间: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 的标记“:”。
|
-- 作者:有点甜 -- 发布时间: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 -- 发布时间:2019/2/15 15:51:00 -- 我试试 |
-- 作者:blackzhu -- 发布时间: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("预约医生") & "\'") 我想第一个颜色不变色,后面找到的再变色,应该怎么改?
|
-- 作者:有点甜 -- 发布时间:2019/2/15 15:59:00 -- 具体实例发上来说明和测试。 |
-- 作者:blackzhu -- 发布时间:2019/2/15 16:08:00 -- 不好做实例,列名全部动态生成的,我上传个截图. [此贴子已经被作者于2019/2/15 16:08:41编辑过]
|
-- 作者:有点甜 -- 发布时间:2019/2/15 16:11:00 --
你需要循环每一列判断,如果之前的列有值,就满足条件,标记为别的颜色。
|
-- 作者:blackzhu -- 发布时间: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 我这样写还是全部变色了
|
-- 作者:有点甜 -- 发布时间: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编辑过]
|
-- 作者:逛逛 -- 发布时间:2019/2/15 16:32:00 -- 和单元格注释一样处理啊,加一个辅助列,记录本行各个单元格的样式值 |