以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  行列高亮或样式  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=116028)

--  作者:wei0769
--  发布时间:2018/3/19 9:00:00
--  行列高亮或样式
以前见过这个例子,现在找不到


图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20180319085834.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2018/3/19 9:00:06编辑过]

--  作者:有点甜
--  发布时间:2018/3/19 9:09:00
--  

drawcell事件

 

If e.Row.index = e.Table.RowSel OrElse e.Col.index = e.Table.ColSel Then
    e.Table.DataTable.AddUserStyle("sel", color.red, color.yellow)
    e.style = "sel"
    e.Table.Refresh
End If


--  作者:wei0769
--  发布时间:2018/3/19 9:13:00
--  
可以实现

第一句怎解释


用了这个功能,反应明显慢了

[此贴子已经被作者于2018/3/19 9:14:57编辑过]

--  作者:有点甜
--  发布时间:2018/3/19 9:14:00
--  

 看看 http://www.foxtable.com/webhelp/scr/0447.htm

 

 如果单元格是选中行或者单元格是选中列,那就执行代码。


--  作者:有点甜
--  发布时间:2018/3/19 9:53:00
--  

drawcell事件,红色代码去掉,不然影响效率

 

If e.Row.index = e.Table.RowSel OrElse e.Col.index = e.Table.ColSel Then
    e.Table.DataTable.AddUserStyle("sel", color.red, color.yellow)
    e.style = "sel"
    \'e.Table.Refresh
End If

 

可以在click事件afterselChanged事件,再写代码

 

e.Table.Refresh


--  作者:wei0769
--  发布时间:2018/3/19 23:18:00
--  
style  什么时候作用于行,什么时候作用于列,什么时候作用于行列,从帮助中找不到

[此贴子已经被作者于2018/3/19 23:19:09编辑过]

--  作者:有点甜
--  发布时间:2018/3/20 9:05:00
--  
以下是引用wei0769在2018/3/19 23:18:00的发言:
style  什么时候作用于行,什么时候作用于列,什么时候作用于行列,从帮助中找不到

[此贴子已经被作者于2018/3/19 23:19:09编辑过]

 

首先理解drawcell事件。这个事件是一直执行的,从第一个单元格循环执行到最后一个单元格,然后,重新从第一个单元格执行。

 

如果要设置单元格样式,就必须判断 e.row.index、e.col.index 等信息,才能确定当前单元格是哪个单元格。


--  作者:wei0769
--  发布时间:2018/3/20 9:33:00
--  
以下是引用有点甜在2018/3/20 9:05:00的发言:

 

首先理解drawcell事件。这个事件是一直执行的,从第一个单元格循环执行到最后一个单元格,然后,重新从第一个单元格执行。

 

如果要设置单元格样式,就必须判断 e.row.index、e.col.index 等信息,才能确定当前单元格是哪个单元格。

上面表达不清楚,我的问题是,现在是设置行样式还是列样式,还是单个表格样式。
--  作者:有点甜
--  发布时间:2018/3/20 10:30:00
--  

请好好理解7楼意思,看一下drawcell事件

 

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