Foxtable(狐表)用户栏目专家坐堂 → 关于table控件选择行的问题


  共有4194人关注过本帖树形打印复制链接

主题:关于table控件选择行的问题

帅哥哟,离线,有人找我吗?
天蝉一线
  31楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:370 积分:3195 威望:0 精华:0 注册:2016/6/16 16:11:00
  发帖心情 Post By:2016/7/25 22:18:00 [只看该作者]

Dim cmd As New SQLCommand
Dim dt As DataTable
Dim lst As WinForm.Table = e.Form.Controls("Table1")
cmd.ConnectionName = "cwgl"
cmd.CommandText = "SELECT * Fr om {Users}"
dt = cmd.ExecuteReader()
If lst.Table.Cols.Count>=0 Then

DataTables("users").sqlDeleteFor("[yhbm] = '" & lst.Table.Current("用户信息_用户账号") & "'")

DataTables("users").DeleteFor("[yhbm] =  '" & lst.Table.Current("用户信息_用户账号") & "'")

End If
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() '设置自动列宽
 
这样写合适吗


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  32楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/25 22:50:00 [只看该作者]

Dim lst As WinForm.Table = e.Form.Controls("Table1")
If lst.Table.Cols.Count>=0 Then
   
    DataTables("users").sqlDeleteFor("[yhbm] = '" & lst.Table.Current("用户信息_用户账号") & "'")
   
    DataTables("users").DeleteFor("[yhbm] =  '" & lst.Table.Current("用户信息_用户账号") & "'")
    Dim bd1 As New sqlGroupTableBuilder("统计表1", "users")
    bd1.Groups.AddDef("yhbm","用户信息_用户账号") '根据根据用户账号分组
    bd1.Groups.AddDef("name","用户信息_用户姓名") '根据用户姓名分组
    bd1.Groups.AddDef("dwmc","用户信息_所属部门") '根据所属部门分组
    bd1.Groups.AddDef("group","用户信息_用户角色") '根据用户角色分组
    Tables("用户管理_Table1").DataSource =  bd1.BuildDataSource()
    Tables("用户管理_table1").AutoSizeCols() '设置自动列宽
   
End If

 回到顶部
帅哥哟,离线,有人找我吗?
天蝉一线
  33楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:370 积分:3195 威望:0 精华:0 注册:2016/6/16 16:11:00
  发帖心情 Post By:2016/7/26 16:00:00 [只看该作者]

修改功能的确定按钮的click事件代码如下:

Dim UserName As String = e.Form.Controls("UserName").Value
Dim userdwmc As String = e.Form.Controls("userdwmc").value
Dim UserGroup As String  = e.Form.Controls("UserGroup").Value
Dim PassWord As String = e.Form.Controls("PassWord").Value
Dim lst As WinForm.Table = Forms("用户管理").Controls("Table1")
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.Conne ctio n Name = "cwgl"
If UserName = "" OrElse Userdwmc = "" OrElse UserGroup = "" OrElse password = "" Then
    Messagebox.show("请输入用户名,单位名称,用户角色和用户密码!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
Else
    If Forms("用户管理").Opened Then
        Dim Result As DialogResult
        Result = MessageBox.Show("您真的要修改这条记录吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
        If Result = DialogResult.Yes Then
            cmd.CommandText = "Upda te {Users} Set [Name] = '" & UserName & "',[dwmc] = '" & Userdwmc & "',[Group] ='" & UserGroup
            cmd.CommandText = cmd.CommandText & "', [Password] = '" & Password & "' Where [yhbm]=  '" & lst.Table.Current("用户信息_用户账号") & "'"
            If cmd.ExecuteNonQuery = 1 Then '返回1表示更改成功
                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() '设置自动列宽
                For Each dr As DataRow In DataTables("users").Select("[yhbm] = '"& lst.Table.Current("用户信息_用户账号") &"'")
                    dr("name") = lst.Table.Current("用户信息_用户姓名")
                    dr("dwmc") = lst.Table.Current("用户信息_所属部门")
                    dr("group") = lst.Table.Current("用户信息_用户角色")
                    dr("password") = lst.Table.Current("password")
                Next
                Messagebox.show("修改成功!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
                e.Form.Close
            Else
                Messagebox.show("更改用户失败!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
                Return
            End If
        End If
    End If
 End If

 

提示错误信息,列“password”不属于表 用户管理_table1。

 


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  34楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/26 16:04:00 [只看该作者]

你为什么要用 GroupTableBuilder ? 直接把user表显示出来就好啊

 

cmd.CommandText = "SELECT * Fro m {Users}"
dt = cmd.ExecuteReader()

Tables("用户管理_Table1").DataSource =  dt


 回到顶部
帅哥哟,离线,有人找我吗?
天蝉一线
  35楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:370 积分:3195 威望:0 精华:0 注册:2016/6/16 16:11:00
  发帖心情 Post By:2016/7/26 16:14:00 [只看该作者]

我不想把所有的列都显示出来

 


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  36楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/26 16:24:00 [只看该作者]

要什么列,就修改红色的代码。

 

cmd.CommandText = "SELECT yhbm As 用户信息_用户账号, name As 用户信息_用户姓名 Fro m {Users}"


 回到顶部
帅哥哟,离线,有人找我吗?
天蝉一线
  37楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:370 积分:3195 威望:0 精华:0 注册:2016/6/16 16:11:00
  发帖心情 Post By:2016/7/26 16:49:00 [只看该作者]

数据表我不想隐藏列,但是显示的时候我不想显示个别列

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  38楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/26 17:01:00 [只看该作者]

通过36楼的代码,可以取到你需要的列啊。

 回到顶部
总数 38 上一页 1 2 3 4