Foxtable(狐表)用户栏目专家坐堂 → 列颜色的问题


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

主题:列颜色的问题

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


加好友 发短信
等级:五尾狐 帖子:1172 积分:8772 威望:0 精华:0 注册:2012/4/18 16:28:00
列颜色的问题  发帖心情 Post By:2017/5/9 10:57:00 [只看该作者]

老师,以下代码,想实现的是当加载不同年度的行进来后,根据ComboBox所选择的列名进行该列的颜色标注,不是该年度的列不进行标注(另外一种理解,就是如果标准列里面的列名称不匹配,该列不进行标注颜色)

 

现在有两个问题:

1. 下列代码已经current了,还是把表中所有年度的该列进行了颜色标注,而不是根据年度标注颜色

 

2. 如果原来根据ComboBox选择了比如“第一列”已经标注颜色了,现在要选择为“第二列”进行标注,怎样去除“第一列”的颜色

 

代码:SelectedIndexChanged

Dim cmb As WinForm.ComboBox = e.Form.Controls("ComboBox1")
For Each r As Row In Tables("总因子").Rows
    If r("年度") = Tables("总因子").Current("年度") Then r("标准列") = cmb.Text
    If r("年度") = Tables("总因子").Current("年度") Then
        Tables("总因子").grid.Cols(cmb.Text).Style.Backcolor = Color.LimeGreen
    Else
        Tables("总因子").grid.Cols(cmb.Text).Style.Backcolor = Color.Transparent
    End If
Next


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/9 11:03:00 [只看该作者]

Dim cmb As WinForm.ComboBox = e.Form.Controls("ComboBox1")
For Each c As Col In Tables("总因子").Cols
    If c.Caption = cmb.Text Then
        Tables("总因子").grid.Cols(c.name).Style.Backcolor = Color.LimeGreen
    Else
        Tables("总因子").grid.Cols(c.name).Style.Backcolor = Color.Transparent
    End If
Next
[此贴子已经被作者于2017/5/9 14:26:04编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1172 积分:8772 威望:0 精华:0 注册:2012/4/18 16:28:00
  发帖心情 Post By:2017/5/9 12:18:00 [只看该作者]

老师,您指导的代码,颜色没有任何标注     标准列里面的列名和cmb.Text 的列名与表的列名是一致的,没有重复名称

 

 

如果换成这样,颜色可以标注,是该列全部标注,cmb.text的列名不同也同样标注了,没有区分,但列名不同的情况下,也不会取消原来的颜色标注

        Tables("总因子").grid.Cols(cmb.Text).Style.Backcolor = Color.Transparent
    Else
        Tables("总因子").grid.Cols(cmb.Text).Style.Backcolor = Color.LimeGreen

 

问题可能是,我在SQL SERVER 中设计的列名有[],比如[因子提取_3%],这个的列名在代码中会受影响,老师,这个如何解决?

[此贴子已经被作者于2017/5/9 13:42:58编辑过]

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/9 14:27:00 [只看该作者]

Dim cmb As WinForm.ComboBox = e.Form.Controls("ComboBox1")
For Each c As Col In Tables("总因子").Cols
    If c.Caption = cmb.Text Then
        Tables("总因子").grid.Cols(c.name).Style.Backcolor = Color.LimeGreen
    Else
        Tables("总因子").grid.Cols(c.name).Style.Backcolor = Color.Transparent
    End If
Next

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/9 14:28:00 [只看该作者]

 具体问题,做个小例子发上来

 回到顶部