以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请求单元格加入图标方法  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=75574)

--  作者:fytea
--  发布时间:2015/10/10 15:20:00
--  请求单元格加入图标方法

表中【第三列】有数据,则【标识】列显示小图标,无数据,则显示另一图标。

目的:美观,便于识别

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

[此贴子已经被作者于2015/10/10 15:20:22编辑过]

--  作者:Hyphen
--  发布时间:2015/10/10 15:49:00
--  

图片列的使用参考http://www.foxtable.com/help/topics/1646.htm

 

更改图标参考DataColChanged事件http://www.foxtable.com/help/topics/0625.htm

 

If e.DataCol.Name = "第三列" Then
    If e.DataRow.IsNull("第三列") Then
        e.DataRow("标识") = GetImage("a.jpg")
Else
        e.DataRow("标识") = GetImage("b.jpg")
    End If
End If

 

 


--  作者:fytea
--  发布时间:2015/10/10 18:14:00
--  
这怎么能实现呢?实现不了呀,帮助上要用到绘图
--  作者:大红袍
--  发布时间:2015/10/11 11:05:00
--  

方法一:在drawcell里画图片啊;

 

方法二:直接设置单元格背景图片,参考代码

 

Dim t As Table = Tables("表A")
Dim cs1 As C1.Win.C1FlexGrid.CellStyle = t.grid.Styles.Add("cs1")
cs1.BackgroundImage = getimage("d:\\test.jpg")
cs1.Display =  C1.Win.C1FlexGrid.DisplayEnum.ImageOnly
cs1.BackgroundImageLayout = C1.Win.C1FlexGrid.ImageAlignEnum.Stretch

t.grid.SetCellStyle(1, 1, cs1)


--  作者:fytea
--  发布时间:2015/10/11 11:57:00
--  
这个才是有效的,Hyphen的方法用不成,false
--  作者:fytea
--  发布时间:2015/10/12 0:18:00
--  
老大,你的代码我看不懂呀
--  作者:大红袍
--  发布时间:2015/10/12 9:10:00
--  

要设置那个单元格,就修改红色代码啊

 

Dim t As Table = Tables("表A")
Dim cs1 As C1.Win.C1FlexGrid.CellStyle = t.grid.Styles.Add("cs1")
cs1.BackgroundImage = getimage("d:\\test.jpg")
cs1.Display =  C1.Win.C1FlexGrid.DisplayEnum.ImageOnly
cs1.BackgroundImageLayout = C1.Win.C1FlexGrid.ImageAlignEnum.Stretch

t.grid.SetCellStyle(1, 1, cs1)


--  作者:大红袍
--  发布时间:2015/10/12 9:11:00
--  

不然你就用方法一,在drawcell事件画

 

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