以文本方式查看主题 - 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 -- 这是我给您的附件,看看问题出在哪,还有些需要帮助的内容都在附件里了 |