Foxtable(狐表)用户栏目专家坐堂 → 重新编辑的单元格自动标记红色字体


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

主题:重新编辑的单元格自动标记红色字体

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/13 12:00:00 [显示全部帖子]

以下是引用aza520在2018/9/13 11:56:00的发言:
各位老师,这个真没办法了吗

 

多加一列,记录是怎么输入的。比如你通过目录树赋值的,就在附加的列那里标记,【是目录树赋值的】。然后编写drawcell事件,设置样式。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/13 17:14:00 [显示全部帖子]

以下是引用aza520在2018/9/13 16:11:00的发言:
老师,我现在有一个“名称”列和一个“记录”列,当“名称”列通过下拉目录树选择数据时,在“记录”列生成【通过目录树填充】,当“名称”列数据人工进行修改时,则“记录”列生成【人工修改】。请问老师该怎么写代码,写在哪个事件下

 

1、你目录树的点击事件,给表格赋值那里,写代码

 

vars("目录树") = true

 

2、datacolchanged事件,写代码

 

If e.datacol.name = "名称" Then

    If vars("目录树") = true Then

        e.datarow("记录") = "通过目录树填充"

    Else

        e.datarow("记录") = "手动填充"

    End If

    vars("目录树") = False

End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/13 18:10:00 [显示全部帖子]

回复12楼,这种时候,你目录树就需要用下来窗口了

 

http://www.foxtable.com/webhelp/scr/2350.htm

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/13 21:20:00 [显示全部帖子]

NodeMouseClick事件代码,看看这里

 

http://www.foxtable.com/webhelp/scr/2893.htm

 

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/13 21:37:00 [显示全部帖子]

做个一个可以测试的例子发上来测试。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/13 22:28:00 [显示全部帖子]

代码改成

 

Dim tr As Row
Dim dr As DataRow = e.Node.DataRow '获取生成此节点的DataRow
If e.Form.DropTable IsNot Nothing Then '如果下拉窗口是从表中打开
    tr = e.Form.DropTable.Current '获取此表的当前行
Else '如果下拉窗口是通过DropdownBox打开
    Dim nm As String = e.Form.DropDownBox.BindingField '获取绑定的字段
    nm = nm.Split(".")(0) '获取绑定的表名
    tr = Tables(nm).Current '获取此表的当前行
End If
tr("第二列") = dr("第一列")
tr("第三列") = dr("第二列")
tr("第四列") = dr("第三列")
e.Form.DropDownBox.Value = tr("第二列") '这行不是多余的,省略此行,无法在表中正常使用此下拉窗口输入数据.
e.Form.DropDownBox.CloseDropdown()


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/14 9:05:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/14 10:40:00 [显示全部帖子]

If e.Col.IsString  AndAlso e.Col.Name = "类型" Then
    If e.Row.IsNull(e.Col.Name) = False '且该列已经输入内容
       If e.Row("记录") = "自动" Then '如果该列的值小于60
            e.Style = "自动" '那么用"不及格"样式绘制单元格
        ElseIf e.Row("记录") = "手动" Then '如果单元格的值大于95
            e.Style = "手动" '那么用"优秀"样式绘制单元格
        End If
    End If
End If

 回到顶部