以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]Load与Fill方法对SQLTable的影响  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=26547)

--  作者:chnfo
--  发布时间:2012/12/7 16:33:00
--  [求助]Load与Fill方法对SQLTable的影响
窗口中有一个table,属性为SQLTable

我分别试了两个方法,一个是Load,一个是Fill
Dim t As Table = Tables(e.Form.Name & "_A")

\'这个是Fill方法
\'t.Fill("select * from {源数据表}  ","数据连接", True)

\'这个是Load方法
t.DataSource = DataTables("源数据表")
t.DataTable.LoadFilter = "加载条件" 
t.DataTable.Load()


\'因为数据加载的条件并不复杂,所以Fill和Load方法都可以实现


问题出在表的DrawCell上
If e.Col.AllowEdit = False  Or e.Row("sys") = True  Then   ‘锁定列、或当该行的sys列值=true’
    e.Style = "样式01"      ‘样式01已经在窗口加载的时候定义好了’
End If

如果是用Fill方法,锁定列和如果该行的“sys”列=true的都会显示为样式01
但用Load方法,只有锁定列会显示为样式01,而行的sys列值=true,并不显示为样式01.


请教:是我的用法有问题,还是本身Load加载到表中的行不支持样式?

[此贴子已经被作者于2012-12-7 16:49:31编辑过]

--  作者:lin_hailun
--  发布时间:2012/12/7 17:14:00
--  
 经测试,类型为sqlTable,通过绑定表加载数据,不会响应drawcell事件。

 如果是绑定表的话,应该用normal才对,然后代码写在对应的表属性里。

--  作者:chnfo
--  发布时间:2012/12/16 11:06:00
--  
我用了sqltable,但并不绑定表,那就不行了。


--  作者:狐狸爸爸
--  发布时间:2012/12/17 8:14:00
--  
用例子说话