以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]drawcell问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=83960) |
|
-- 作者:18523982317 -- 发布时间:2016/4/20 11:23:00 -- [求助]drawcell问题 For Each r As Row In Tables("请假单").Rows For i As Integer = 15 To Tables("请假单").Cols.Count - 1 If Tables("请假单").Cols(i).Isstring Then If r(Tables("请假单").Cols(i).name) = _username Then If r(Tables("请假单").Cols(i-1).name) = True AndAlso r(Tables("请假单").Cols(i+2).name) = False Then e.Style = "审批" End If End If End If Next Next 代码说明,判断当前审批人是不是登录用户,是登录用户,并且前一级审批结果是1,表示已审批,本级审批结果是false表示本级未审批,该当前登录人审批当前行,然后本行就变色为“审批” 我写在drawcell里面的 起作用,没报错。。。整个表的被加了颜色了。。。 我想问下 e.style 怎么用 我怎么 e 知道他指的啥东西? 我只想当前行加颜色啊。。。。为什么整个表都被加了颜色? 以下内容是专门发给大红袍浏览 [此贴子已经被作者于2016/4/20 11:39:35编辑过]
|
|
-- 作者:大红袍 -- 发布时间:2016/4/20 11:34:00 --
[此贴子已经被作者于2016/4/20 11:58:31编辑过]
|
|
-- 作者:大红袍 -- 发布时间:2016/4/20 11:36:00 --
[此贴子已经被作者于2016/4/20 11:58:38编辑过]
|
|
-- 作者:18523982317 -- 发布时间:2016/4/20 11:41:00 -- 以下是引用大红袍在2016/4/20 11:36:00的发言:
If e.Row.Index = e.Table.Current.Index Then 例子上传了, 但是i的值没有啊。。。。 |
|
-- 作者:大红袍 -- 发布时间:2016/4/20 11:44:00 --
[此贴子已经被作者于2016/4/20 12:01:50编辑过]
|
|
-- 作者:18523982317 -- 发布时间:2016/4/20 11:48:00 -- 以下是引用大红袍在2016/4/20 11:44:00的发言:
[此贴子已经被作者于2016/4/20 11:44:34编辑过] 放进去了 ,没有效果。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 我结合你的代码,下面的代码效果正常了。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 \'For Each r As Row In Tables("请假单").Rows \'For i As Integer = 15 To Tables("请假单").Cols.Count - 1 \'If Tables("请假单").Cols(i).Isstring Then \'If r(Tables("请假单").Cols(i).name) = _username Then \'If r(Tables("请假单").Cols(i-1).name) = True AndAlso r(Tables("请假单").Cols(i+2).name) = False Then \'If e.Row.Index = r.Index Then \'e.Style = "审批" \'End If \'End If \'End If \'End If \'Next \'Next 加了一行If e.Row.Index = r.Index Then..........................................好像这样就能识别e.style,但是我没明白原理。。。。。 [此贴子已经被作者于2016/4/20 11:48:26编辑过]
|
|
-- 作者:大红袍 -- 发布时间:2016/4/20 11:52:00 -- 2、3、5楼代码都没问题 |
|
-- 作者:18523982317 -- 发布时间:2016/4/20 11:55:00 -- 以下是引用大红袍在2016/4/20 11:52:00的发言: 2、3、5楼代码都没问题 我想问下那个e.style的 e 怎么去判断他代表什么?
|
|
-- 作者:大红袍 -- 发布时间:2016/4/20 12:12:00 -- If e.Table.Current.Index = e.Row.Index Then For i As Integer = 15 To e.Table.Cols.Count - 1 Dim c As Col = e.Table.Cols(i) If c.name Like "*审批人*" AndAlso e.Row(c.name) = _UserName Then If e.Row(e.Table.Cols(c.Index-1).Name) = True AndAlso e.Row(e.Table.Cols(c.Index+2).Name) = False Then e.Style = "审批" End If End If Next End If |
|
-- 作者:18523982317 -- 发布时间:2016/4/20 12:25:00 -- 以下是引用大红袍在2016/4/20 12:12:00的发言: If e.Table.Current.Index = e.Row.Index Then For i As Integer = 15 To e.Table.Cols.Count - 1 Dim c As Col = e.Table.Cols(i) If c.name Like "*审批人*" AndAlso e.Row(c.name) = _UserName Then If e.Row(e.Table.Cols(c.Index-1).Name) = True AndAlso e.Row(e.Table.Cols(c.Index+2).Name) = False Then e.Style = "审批" End If End If Next End If 非常感谢 可以了。。。
|