Foxtable(狐表)用户栏目专家坐堂 → [求助]根据样式给列赋值


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

主题:[求助]根据样式给列赋值

美女呀,离线,留言给我吧!
fox20150629
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:49 积分:412 威望:0 精华:0 注册:2015/8/11 10:52:00
[求助]根据样式给列赋值  发帖心情 Post By:2015/8/25 15:52:00 [只看该作者]

怎么根据单元格自定义样式给单元格自动赋值,在列的哪个属性设置呢,例如表的e.style="绿色",想要排序列值自动为1

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/25 16:01:00 [只看该作者]

不行。

 

去datacolchanged事件根据逻辑写代码。然后重置列计算。


 回到顶部
美女呀,离线,留言给我吧!
fox20150629
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:49 积分:412 威望:0 精华:0 注册:2015/8/11 10:52:00
  发帖心情 Post By:2015/8/25 16:21:00 [只看该作者]

以下是引用大红袍在2015/8/25 16:01:00的发言:

不行。

 

去datacolchanged事件根据逻辑写代码。然后重置列计算。


如何重置列计算呢,我的表drawcell代码这样设置颜色的


If e.Row.IsNull("列1") = False AndAlso e.Row.IsNull("列2") AndAlso e.Row.IsNull("列3") Then

   e.Style = "绿色"

End If

If e.Row.IsNull("列1") = False  AndAlso e.Row.IsNull("列3") = False AndAlso e.Row.IsNull("列2")  Then

    e.Style = "橙色"

End If

If e.Row.IsNull("列2") = False AndAlso e.Row.IsNull("列3") = False AndAlso e.Row.IsNull("ATA")= False Then

    e.Style = "灰色"

End If

If e.Row.IsNull("列1")  AndAlso e.Row.IsNull("列2") AndAlso e.Row.IsNull("列3") Then

    e.Style = "白色"

End If


想根据这些样式颜色给列4赋值1,2,3,4然后好将相同颜色排序

[此贴子已经被作者于2015/8/25 16:21:58编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107671 积分:547676 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2015/8/25 16:27:00 [只看该作者]

If e.Row.IsNull("列1") = False AndAlso e.Row.IsNull("列2") AndAlso e.Row.IsNull("列3") Then

   e.Style = "绿色"

   e.Row(“列4”) = 1

试一下画的时候直接赋值


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/25 16:28:00 [只看该作者]

http://www.foxtable.com/help/topics/1469.htm

 

 

Select Case e.DataCol.Name
   
    Case "列1","列2","列3"
        If e.DataRow.IsNull("列1") = False AndAlso e.DataRow.IsNull("列2") AndAlso e.DataRow.IsNull("列3") Then
           
            e.DataRow("排序") = 1
           
        End If
       
        If e.DataRow.IsNull("列1") = False  AndAlso e.DataRow.IsNull("列3") = False AndAlso e.DataRow.IsNull("列2")  Then
           
            e.DataRow("排序") = 2
            
        End If
       
        If e.DataRow.IsNull("列2") = False AndAlso e.DataRow.IsNull("列3") = False AndAlso e.DataRow.IsNull("ATA")= False Then
           
            e.DataRow("排序") = 3
            
        End If
       
        If e.DataRow.IsNull("列1")  AndAlso e.DataRow.IsNull("列2") AndAlso e.DataRow.IsNull("列3") Then
           
            e.DataRow("排序") = 4
            
        End If
       
End Select

[此贴子已经被作者于2015/8/25 16:28:15编辑过]

 回到顶部
美女呀,离线,留言给我吧!
fox20150629
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:49 积分:412 威望:0 精华:0 注册:2015/8/11 10:52:00
  发帖心情 Post By:2015/8/25 16:41:00 [只看该作者]

以下是引用有点蓝在2015/8/25 16:27:00的发言:

If e.Row.IsNull("列1") = False AndAlso e.Row.IsNull("列2") AndAlso e.Row.IsNull("列3") Then

   e.Style = "绿色"

   e.Row(“列4”) = 1

试一下画的时候直接赋值



谢谢这样可以的~


 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107671 积分:547676 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2015/8/25 16:48:00 [只看该作者]

写在DrawCell中的东西多可能会影响效率,你要观察,如果影响效率你就写在datacolchanged中比较好

 回到顶部