以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  单元格格式的设置Style能在除DrawCell事件外的地方执行吗?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=24511)

--  作者:zoomify
--  发布时间:2012/10/16 9:12:00
--  单元格格式的设置Style能在除DrawCell事件外的地方执行吗?

 我发现DrawCell里面能执行

e.Style="**"

能设置单元格的样式,

但无法在其他地方设置:

以为是类似这样的语法:

 

cells(行,列).style="**"

table("**").rows(行).cols(列).style="**"


 


--  作者:lin_hailun
--  发布时间:2012/10/16 9:22:00
--  
 不可能做到……
--  作者:zoomify
--  发布时间:2012/10/16 10:17:00
--  

excel报表和foxtable报表里面都还可以,table里面却不能设置,只能在外部设置下数值,靠DrawCell绘制. 没办法如下面一样用代码指定style

 

Dim doc As New PrintDoc \'定义一个报表
Dim
rt As New prt.RenderTable() \'定义一个表格对象
doc.Body.Children.Add(rt)
\'将表格对象加入到报表中
rt.Style.GridLines.All = New prt.Linedef(Color.DarkGray)
\'将表格的颜色设为深灰色
rt.Rows.Count =
3 \'设置行数
rt.Cols.Count =
3 \'设置列数
rt.Width =
150 \'设置表格的宽度
rt.Height =
150 \'设置表格的高度
rt.Rows(
2).Style.Borders.All = New prt.LineDef("0.5mm", Color.Red)
rt.Cols(
0).Style.Borders.All = New prt.LineDef("2mm"
, Color.Blue)

======

Dim Book As New XLS.Book() \'定义一个Excel工作簿
Dim
Sheet As XLS.Sheet = Book.Sheets(0) \'引用工作簿的第一个工作表
Dim
Style As XLS.Style = Book.NewStyle() \'定义新样式
Style.BorderTop = XLS.LineStyleEnum.Thin
Style.BorderBottom = XLS.LineStyleEnum.Thin
Style.BorderLeft = XLS.LineStyleEnum.Thin
Style.BorderRight = XLS.LineStyleEnum.Thin
Style.BorderColorTop = Color.Red
Style.BorderColorBottom = Color.Red
Style.BorderColorLeft = Color.Red
Style.BorderColorRight = Color.Red

For
r As Integer = 1 to 5
   
For c As Integer =1 To 5
        Sheet(r,c).Style = Style

    Next
Next



--  作者:lin_hailun
--  发布时间:2012/10/16 10:24:00
--  
 其实也是可以做到的,在drawCell事件里执行一个自定义的函数,自定义函数根据存储的单元格数据去显示。

 楼主可以自己做做,当然,官方集成进去就最好啦……
[此贴子已经被作者于2012-10-16 10:24:16编辑过]