以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 臨時表樣式 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=34068) |
-- 作者:catyin1989 -- 发布时间:2013/5/30 1:31:00 -- 臨時表樣式 在form中有一個table控件, 在控件中設置了drawcell事件和表样式, 但是用button控件改變了table的datasource後(新的datasource)是一個臨時表, 自定的表样式便不會出現了, 為甚麼呢? T^T
|
-- 作者:Bin -- 发布时间:2013/5/30 8:41:00 -- 不是同一个表,自然就有不同的表事件吧. |
-- 作者:catyin1989 -- 发布时间:2013/5/31 10:56:00 -- 在第二個datasource的表(臨時表)也設置了userstyle,但就不會顯示出來呀 |
-- 作者:Bin -- 发布时间:2013/5/31 11:01:00 -- 你直接这样绑定datasource 是不会有效果的, 无论你是临时表还是非临时表 因为你绑定datasource是对Datatable数据表操作.而样式是对Table表面层的界面操作.
|
-- 作者:狐狸爸爸 -- 发布时间:2013/5/31 11:26:00 -- 楼主你做个简单例子,写上你的代码,说明目的和问题,我看看能否帮你解决。 |
-- 作者:catyin1989 -- 发布时间:2013/5/31 13:11:00 -- Button的Click: Dim code As String = Tables("課室分配").current("_Identify") Dim PPL As Integer = e.Form.controls("課室分配.容納人數").value Dim dtb As New DataTableBuilder("表B") dtb.AddDef("時間", Gettype(String), 50) dtb.AddDef("日期", Gettype(Date), 50) dtb.Build() Tables(e.Form.name & "_table1").DataSource = DataTables("表B") Window的Afterload: DataTables("表B").AddUserStyle("a", Color.Red, Color.White) Table控件的DrawCell: If e.Row.IsNull(e.Col.Name) = False Then e.style = "a" End If |
-- 作者:catyin1989 -- 发布时间:2013/5/31 13:11:00 -- 另外我想問一下, 臨時表是不是不能含備註列? |
-- 作者:狐狸爸爸 -- 发布时间:2013/5/31 14:53:00 -- 执行完这一句之后: Tables(e.Form.name & "_table1").DataSource = DataTables("表B")
Drawcell事件代码将由表B接管,所以你的代码应该写在表B中,而不是Table控件中
临时表没有备注列。 |
-- 作者:catyin1989 -- 发布时间:2013/5/31 15:13:00 -- 因為表B是臨時表, 我想在winform中建立表B時, 一併設定表B的drawcell事件(不離開winform),那應該設在哪裡? |
-- 作者:狐狸爸爸 -- 发布时间:2013/5/31 15:31:00 -- 如果是通过菜单而不是代码创建的临时表,一样可以设置事件的。
还是做个简单的例子发上来吧。 |