以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  行设置颜色问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=101807)

--  作者:douglas738888
--  发布时间:2017/6/7 15:22:00
--  行设置颜色问题

请教老师,下面DrawCell代码,当时下拉标注列选择没有问题能实现行的颜色,但是重新加载表后,行颜色不会标注出来,是否要设颜色存放列?

 

If e.Row("标注") = "保底"  Then    
    e.Style = "保底"
End If
If e.Row("标注") = "标准"  Then
    e.Style = "标准"
End If

If e.Row("标注") = "高线"  Then
    e.Style = "高线"
End If

[此贴子已经被作者于2017/6/7 15:29:51编辑过]

--  作者:有点色
--  发布时间:2017/6/7 15:53:00
--  

 你说的重新加载表指什么?用什么代码重新加载?

 

 你在drawcell事件加入代码 output.show(date.now) 看是否有触发事件。


--  作者:douglas738888
--  发布时间:2017/6/7 16:07:00
--  

老师,是这样的,在窗口的控件TABLE里的表是正本,打开窗口选择了标注的文字如“保底”或“标准”....,能标注行颜色,关闭窗口前保存了,但是下次再

 

打开系统和窗口(加载表)的时候,原来选择的文字是存在的,但是原来标注好的颜色都没有了

 

output.show(date.now) 加入,没有任何提示和反应

 

Dim sd As WinForm.ComboBox
    sd = e.Form.Controls("ComboBox2")
If sd.Value Is Nothing  Then
   Messagebox.Show("请先输入 年份","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
   Return
Else
Dim Cb0 As String = sd.Value
Dim y As Integer = Cb0
Dim dt1 As New Date(y, 1, 1)
Dim dt2 As New Date(y, 12, 31)

Dim Filter As String = "1=2"
Filter = "年度 >= \'" & dt1 & "\' And 年度 <= \'" & dt2 & "\'"   
DataTables("总因子").LoadFilter = Filter \'设置加载条件
DataTables("总因子").Load() \'加载数据
End If

 

我有测试了一下,如果改成逻辑列形式,=True 没有问题,但是如果用文字内容来标注,就不行

[此贴子已经被作者于2017/6/7 16:23:43编辑过]

--  作者:有点色
--  发布时间:2017/6/7 16:56:00
--  

在命令窗口,弹出值看看

 

msgbox("aaa" & Tables("总因子").Current("标注") & "aaa")

 

如果多了很多空格,你数据库设置的列类型不正确,不能设置成nchar


--  作者:douglas738888
--  发布时间:2017/6/8 8:59:00
--  

老师早,在命令窗口弹出值是aaaaaa,我的标注列属性是自定义项目,如果我不用自定义项目,直接输入内容也没有问题,

 

今天一早,重新开机,又多次打开和关闭狐表又正常了,这是什么原因???不知道后续是否又会出现这样的问题。

[此贴子已经被作者于2017/6/8 9:04:54编辑过]

--  作者:有点蓝
--  发布时间:2017/6/8 9:47:00
--  
下次莫名的问题,可以先试试:把项目文件夹里的bin目录整个删除,重新打开项目测试