以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于table控件选择行的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=88035)

--  作者:天蝉一线
--  发布时间:2016/7/25 15:55:00
--  关于table控件选择行的问题
Dim cmd As New SQLCommand
Dim dt As DataTable
Dim lst As WinForm.Table = e.Form.Controls("Table1")
If lst.Table.Cols.Count>=0 Then
    cmd.CommandText = "Delete Fro m {Users} Where [yhbm] = \'" & Useryhbm & "\'"
    cmd.ExecuteNonQuery
End If
cmd.CommandText = "SELECT * Fro m {Users}"
dt = cmd.ExecuteReader()
Dim bd1 As New GroupTableBuilder("统计表1", dt)
bd1.Groups.AddDef("yhbm","用户信息_用户账号") \'根据根据用户账号分组
bd1.Groups.AddDef("name","用户信息_用户姓名") \'根据用户姓名分组
bd1.Groups.AddDef("dwmc","用户信息_所属部门") \'根据所属部门分组
bd1.Groups.AddDef("group","用户信息_用户角色") \'根据用户角色分组
Tables("用户管理_Table1").DataSource =  bd1.BuildDataSource()
Tables("用户管理_table1").AutoSizeCols() \'设置自动列宽

请问老师,这段代码是删除功能用的,它需要删除通过GroupTableBuilder生成的副本("用户管理_Table1")点击行删除,但是不知道怎么定义才能实现这个功能。这个副本在打开窗口的时候就已经存在,使用代码生成的,不是在table控件的属性里面设置的。属性的副本是false.

--  作者:大红袍
--  发布时间:2016/7/25 15:59:00
--  
Dim cmd As New SQLCommand
Dim dt As DataTable
Dim lst As WinForm.Table = e.Form.Controls("Table1")
If lst.Table.Cols.Count>=0 Then
    cmd.CommandText = "Delete Fro m {Users} Where [yhbm] = \'" & lst.Table.Current("yhbm") & "\'"
    cmd.ExecuteNonQuery
End If
--  作者:天蝉一线
--  发布时间:2016/7/25 16:08:00
--  
Dim dt As DataTable
Dim cmd As New SQLCommand
cmd.C
cmd.CommandText = "SELECT * Fro m {Users}"
dt = cmd.ExecuteReader()
Dim bd1 As New GroupTableBuilder("统计表1",dt)
bd1.Groups.AddDef("yhbm","用户信息_用户账号") \'根据根据用户账号分组
bd1.Groups.AddDef("name","用户信息_用户姓名") \'根据用户姓名分组
bd1.Groups.AddDef("dwmc","用户信息_所属部门") \'根据所属部门分组
bd1.Groups.AddDef("group","用户信息_用户角色") \'根据用户角色分组
Tables("用户管理_Table1").DataSource =  bd1.BuildDataSource()
Tables("用户管理_table1").AutoSizeCols() \'设置自动列宽
这一段代码是用户窗口aferload事件的内容,但是我打开窗口的时候总提示“列”name“不属于表 用户管理_table1",不知道是怎么回事

--  作者:天蝉一线
--  发布时间:2016/7/25 16:10:00
--  
我在users表的事件currentchanged中加了如下代码:
If Forms("用户管理").Opened Then \'如果窗口已经打开
    If e.Table.Current Is Nothing Then Return
    Dim dr As DataRow = e.Table.Current.DataRow
    Dim wz As Integer = Tables("用户管理_Table1").FindRow(dr)
    If wz >=0 Then
        systemready = False
        Tables("用户管理_Table1").Position = wz
        systemready = True
    End If
End If

--  作者:天蝉一线
--  发布时间:2016/7/25 16:13:00
--  
Dim dt As DataTable
Dim cmd As New SQLCommand
cmd.Conne ctio n Name = "cwgl"
cmd.CommandText = "SELECT * Fro m {Users}"
dt = cmd.ExecuteReader()
Dim bd1 As New GroupTableBuilder("统计表1",dt)
bd1.Groups.AddDef("yhbm","用户信息_用户账号") \'根据根据用户账号分组
bd1.Groups.AddDef("name","用户信息_用户姓名") \'根据用户姓名分组
bd1.Groups.AddDef("dwmc","用户信息_所属部门") \'根据所属部门分组
bd1.Groups.AddDef("group","用户信息_用户角色") \'根据用户角色分组
Tables("用户管理_Table1").DataSource =  bd1.BuildDataSource()
Tables("用户管理_table1").AutoSizeCols() \'设置自动列宽
这一段代码是用户窗口aferload事件的内容,但是我打开窗口的时候总提示“列”name“不属于表 用户管理_table1",不知道是怎么回事

--  作者:大红袍
--  发布时间:2016/7/25 16:16:00
--  

1、表是否正确生成了?

 

2、你5楼的代码没问题的,肯定有其它代码影响了。


--  作者:天蝉一线
--  发布时间:2016/7/25 16:44:00
--  
为什么我上传的附件找不见了,不知道您收到没有


--  作者:大红袍
--  发布时间:2016/7/25 16:45:00
--  
 没看到你上传的附件
--  作者:天蝉一线
--  发布时间:2016/7/25 16:45:00
--  
这是我给您的附件,看看问题出在哪,还有些需要帮助的内容都在附件里了
--  作者:天蝉一线
--  发布时间:2016/7/25 16:47:00
--  
这是我给您的附件,看看问题出在哪,还有些需要帮助的内容都在附件里了