以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  通过列表设置单元格样式  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=193824)

--  作者:1234567
--  发布时间:2024/10/18 9:00:00
--  通过列表设置单元格样式

能不能通过列表,对单元格样式进行设计,而不是通过代码?

如图所示,如果希望当工序列数据为镗床,工步列数据为镗孔时,材料密度列的单元格为样式一,我通过对该单元格输入1实现,而不是通过代码。


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2024/10/18 9:07:00
--  
必须使用代码
--  作者:1234567
--  发布时间:2024/10/18 9:24:00
--  

能不能逐行提取单元格数据为1的列名?还有逐行提取第一列的单元格数据?并赋值。


--  作者:有点蓝
--  发布时间:2024/10/18 9:27:00
--  
遍历所有行:http://www.foxtable.com/webhelp/topics/1438.htm

For Each r As Row In Tables("订单").Rows
For Each cl As Col In Tables("订单").Cols
    Output.Show(cl.Name & ",单元格值=" & r(
cl.Name))
Next
Next

--  作者:1234567
--  发布时间:2024/10/18 9:38:00
--  

如何筛选出单元格值为1的列名?


--  作者:有点蓝
--  发布时间:2024/10/18 9:41:00
--  
判断单元格的数据呀
if r(cl.Name) = 1 then
--  作者:1234567
--  发布时间:2024/10/18 10:16:00
--  

 DrawCell表事件

Dim dr As Row = e.Row
Select Case e.Col.name
Case "材料密度", "按重量材料单价", "直径", "直径高度", "零件数量"
If dr("工序") = "镗床" AndAlso dr("工步") = "镗孔" Then
    e.Style = "样式1"
End If
End Select    这是原来的代码,狐表使用者希望根据自己的意愿选择单元格样式。

 

 

 根据样式表,改成通用代码,代码怎么写?

For Each r As Row In Tables("样式表").Rows
For Each cl As Col In Tables("样式表").Cols
 Output.Show(r("工序"))
 Output.Show(r("工步"))
    If r(cl.Name) = "1" Then
        Output.Show(cl.Name)
    End If
Dim dr As Row = e.Row
Select Case e.Col.name
Case cl.Name & ", " & cl.Name & ", " & cl.Name & ", " & cl.Name   这句代码怎么写?
If dr("工序") = r("工序") AndAlso dr("工步") = r("工步")Then
    e.Style = "样式1"
End If
End Select
Next
Next


--  作者:有点蓝
--  发布时间:2024/10/18 10:41:00
--  

 DrawCell表事件

if e.Col.IsNumeric andalso e.Row(e.Col.name) = 1

    e.Style = "样式1"
End If


--  作者:1234567
--  发布时间:2024/10/18 11:56:00
--  
 

For Each cl As Col In CurrentTable.Cols
    Output.Show(cl.Name)

Next

通过遍历集合中所有元素的得到的这个值,是一个集合吗?

如何对当前表所有的列名称分别声明变量?


--  作者:有点蓝
--  发布时间:2024/10/18 12:15:00
--  
没看懂,举例说明一下要做什么