以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请问通过按钮单击事件,设置出表格的标识。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=129005)

--  作者:houseer
--  发布时间:2018/12/19 20:28:00
--  请问通过按钮单击事件,设置出表格的标识。
1、我想通过一个按钮单击事件, 设置qlquery类型的table中某一列满足条件的单元格的backcolor。  比如 数量 =0 的设置红色。
   我看帮助上只是有在DrawCell事件里的写法。
2、想要引用sqlquery类型的table,因为是在事件里用代码生成的。 想要获取table和datatable的属性只能用这种方法吗?
     Dim tb1 As WinForm.Table = Forms("窗口1").Controls("Table1")
     tb1.table     ....
     tb1.table.datatable    ....


--  作者:有点甜
--  发布时间:2018/12/19 20:38:00
--  

1、参考

 

http://www.foxtable.com/webhelp/scr/2628.htm

 

2、比如可以这样 Tables("窗口1_Table1")


--  作者:houseer
--  发布时间:2018/12/19 21:09:00
--  
   老师那个例子我自己看过了。  我想实现这个功能: 点一下按钮, 
    qlquery类型的table中的“标准成本” 这一列 =0 的变成红色。    再点一下按钮后恢复正常。

      我想应该在按钮的clilk事件里写东西:

    按您给的链接上的写法:

   Dim tb1 As WinForm.Table = Forms("类型1").Controls("Table1")
   tb1.Table.DataTable.AddUserStyle("a" ,Color.Red, Color.White)

   后面我就不知道怎么弄了。
   例子上因为在table控件上的事件,可以直接用e参数
   If e.Col.Name = "数量" Then
   
   我只能这样写:
   if   tb1.table.cols  ...       没法用col属性 




  
   又试了下这样写:
  For Each r As Row In Tables("类型1_Table1").Rows
    If r("标准成本") = 0 Then
        --这里应该设置单元格颜色了,不知道怎么写
    End If    
Next
      

也是不对,求助老师

--  作者:houseer
--  发布时间:2018/12/19 22:07:00
--  
  顶一下
--  作者:有点甜
--  发布时间:2018/12/19 22:12:00
--  

1、drawcell事件,写代码

 

If vars("显示") = true andalso e.col.name = "标准成本" andalso e.row("标准成本") = 0 Then

    e.table.DataTable.AddUserStyle("a" ,Color.Red, Color.White)

    e.style = "a"

End If

 

2、按钮代码

 

vars("显示") = not vars("显示")

e.form.controls("table1").table.refresh


--  作者:houseer
--  发布时间:2018/12/19 22:39:00
--  
  多谢了老师