以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]快速定位的问题,不知道能不能实现?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=73941)

--  作者:liuxianjie1980
--  发布时间:2015/8/29 20:31:00
--  [求助]快速定位的问题,不知道能不能实现?

想法是这样的:

 

窗口中一张表,记录条目较多,要是用下拉条下拉就比较麻烦,况且字也比较小,不容易看到,因此,设想在窗体中增加一个定位功能,让他在表中找到该条记录,同时表的可视界面滚动到该条记录,并同时给该条记录着色。

 

不知道能不能实现


--  作者:liuxianjie1980
--  发布时间:2015/8/29 20:32:00
--  
补充:不想用listview功能,尽管我也会做这个界面
--  作者:有点蓝
--  发布时间:2015/8/29 20:44:00
--  
示列四
http://www.foxtable.com/help/index.html?n=1467.htm
设置currentrow样式

--  作者:liuxianjie1980
--  发布时间:2015/8/29 22:11:00
--  

With CurrentTable
    Dim r As Integer
    r = .FindRow("[客户名称] Like \'% " & e.Form.Controls("TextBox1").Text & " %\'")
    If r >= 0 Then \'如果找到的话
        .Position = r \'定位到找到的行.
        DataTables("客户一览表").SysStyles("CurrentRow").BackColor= Color.red
    End If
End With

 

错在哪里?输入后没有反应啊


--  作者:有点蓝
--  发布时间:2015/8/29 22:18:00
--  
打开窗口的话CurrentTable可能就不是那个表了
你直接用表名tables("表名")

--  作者:liuxianjie1980
--  发布时间:2015/8/29 22:28:00
--  

Dim r As Integer
r = Tables("客户一览表").FindRow("[客户名称] Like \'% " & e.Form.Controls("TextBox1").Text & " %\'")
If r >= 0 Then \'如果找到的话
    Tables("客户一览表").Position = r \'定位到找到的行.
    DataTables("客户一览表").SysStyles("CurrentRow").BackColor= Color.red
End If

 

还是不行


--  作者:liuxianjie1980
--  发布时间:2015/8/29 22:35:00
--  

又重新改了一下

 

Dim r As Integer
r = Tables("客户一览表").FindRow("[客户名称] Like \'%" & Forms("客户一览窗口").Controls("TextBox1").Text & "%\'")
If r >= 0 Then \'如果找到的话
    Tables("客户一览表").Position = r \'定位到找到的行.
    Tables("客户一览表").Styles("CurrentRow").BackColor= Color.red
End If

 

 

可以定位了,但是无法着色

 

 

估计跟table和datatable有关

 


--  作者:有点蓝
--  发布时间:2015/8/29 22:39:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目25.table


--  作者:liuxianjie1980
--  发布时间:2015/8/29 22:52:00
--  
还是搞不定!
--  作者:有点蓝
--  发布时间:2015/8/29 22:55:00
--  
你看我的列子,样式写在DrawCell事件中