以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  复选框选择问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=120916)

--  作者:z769036165
--  发布时间:2018/6/26 11:26:00
--  复选框选择问题
用MYSQL视图读取的的表,需要实现mysql视图读取的表出现逻辑列选择,目前想到办法,给窗口表显示复选框,因复选框筛选后会清空选择,目前通过复选框,修改表“选择”列的值,然后通过遍历表选择列,选择复选框。

For Each r As Row In Tables("窗口1_table1").Rows
    If r("选择") = "1" Then
        r.Checked  = True
    End If
Next

但目前以上代码在视图加载的表不起作用,出现部分选择部分不选择,或者干脆不起作用,针对加载的内部或外部表没问题,请教如何实现这个功能或者不通过复选框来实现?


--  作者:有点甜
--  发布时间:2018/6/26 12:04:00
--  

你table1设置了排序?试试改成这样的代码

 

For i As Integer = 0 To Tables("窗口1_table1").Rows.count-1
    Tables("窗口1_table1").position = i
    Dim r = Tables("窗口1_table1").Rows(i)
    If r("选择") = "1" Then       
        r.Checked  = True
    End If
Next


--  作者:z769036165
--  发布时间:2018/6/26 16:01:00
--  
没有设置排序,这样是出来了 ,但是我数据行有好几万,这个运行效率不行啊
[此贴子已经被作者于2018/6/26 16:01:03编辑过]

--  作者:有点甜
--  发布时间:2018/6/26 16:06:00
--  

为什么一定要设置 Checked  ?

 

你用【选择】列代替本来的功能,不行么?


--  作者:z769036165
--  发布时间:2018/6/26 16:11:00
--  
那怎么转换选择列为逻辑列啊?这个是
Dim conn As MySql.Data.MySqlClient.MySqlConnection
Dim cmd As MySql.Data.MySqlClient.MySqlCommand
Dim connStr As String = "server=127.0.0.1; port=3306; user id=root; password=root ; database=default;CharSet=utf8" \'设置你的数据库连接字符串,注意我设置了字符编码为utf8,如果你的mysql里有中文字段,读取出来是乱码,就要记得设置mysql里你的字段的字符编码用utf8,这个世界最通用的字符编码格式!
conn = New MySql.Data.MySqlClient.MySqlConnection(connStr)
conn.Open

Dim mda As New MySql.Data.MySqlClient.MySQLDataAdapter("sele ct * from ab" , conn) \'这里可以设置你的查询语句
Dim ds As New System.Data.DataSet()
mda.Fill(ds, "TableTemp") \'MySQLDataAdapter方法把数据放到一个新建的临时表里,这个临时表名可自定义,我这里写TableTemp
e.form.controls("Table1").Table.DataSource = ds.Tables("TableTemp") \'把刚才的临时表TableTemp填充到我们的控件Table1里
conn.close
这样获取的表,无法使用选择列进行选择啊
[此贴子已经被作者于2018/6/26 16:11:38编辑过]

--  作者:有点甜
--  发布时间:2018/6/26 18:16:00
--  

你不是可以添加临时列?

 

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

 


--  作者:z769036165
--  发布时间:2018/6/27 8:07:00
--  
图片点击可在新窗口打开查看没想到这个方式,这个可以,只想到的是用图形字典,用2个图片打钩和不打钩的去显示,没去想新增临时列来处理。