以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  动态列表排序问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=176402)

--  作者:jhxb8821
--  发布时间:2022/4/12 9:20:00
--  动态列表排序问题
老师,帮助中有窗口动态列表项目示例,我想增加一列排序列,列表选项根据排序先后进行列表,请教老师
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:窗口动态列表.foxdb

代码怎么修改
--  作者:有点蓝
--  发布时间:2022/4/12 9:33:00
--  

GetComboListString

从指定的列中提取不重复的值,用符号"|"将这些值连接成一个字符串,并返回这个字符串。
此方法通常用于动态设置列表项目。

语法:

GetComboListString(ColumnName,Filter, Sort)

ColumnName:列名称,从此列中提取不重复的值。
Filter:     可选参数,指定一个条件表达式,只返回符合此条件的值。
Sort:       可选参数,指定排序列,如果省略,则根据取值列排序,通常无需设置。


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:窗口动态列表.zip



--  作者:jhxb8821
--  发布时间:2022/4/12 10:10:00
--  已解决
蓝老师,若我再加一列逻辑列“启用”,勾选的,在列表显示,不勾选的不再列表显示,这又怎么修改?
[此贴子已经被作者于2022/4/12 10:12:11编辑过]

--  作者:有点蓝
--  发布时间:2022/4/12 10:15:00
--  

cmb.ComboList = DataTables("字典").GetComboListString("乡镇", "县 = \'" & str & "\' and 启用=true","排序")

--  作者:jhxb8821
--  发布时间:2022/4/12 10:19:00
--  非常感谢
非常感谢
--  作者:jhxb8821
--  发布时间:2022/4/14 14:13:00
--  判断部门、姓名、账号、密码是否一致?
老师,帮我看看下面一段代码,自定义登录窗口,确定按钮代码,判断部门、姓名、账号、密码是否一致?请帮忙修改一下

Dim bm As WinForm.ComboBox = e.Form.Controls("部门")

Dim zh As WinForm.TextBox = e.Form.Controls("账号")

Dim mm As WinForm.TextBox = e.Form.Controls("密码")

Dim xm As WinForm.ComboBox = e.Form.Controls("姓名")

If bm.Value ="" Then

    MessageBox.Show ("请选择部门!","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning)

    Return

End If

If xm.Value ="" Then

    MessageBox.Show ("请选择姓名!","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning)

    Return

End If

If zh.Value ="" Then

    MessageBox.Show ("请输入账号!","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning)

    Return

End If

If mm.value = "" Then

    MessageBox.Show ("密码不能为空!","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning)

    Return

End If

 

\'判断部门、姓名、账号、密码是否一致?

Dim dr As DataRow = DataTables("用户管理").Find("账号 = \'" & zh.text & "\'")

If dr Is Nothing Then

    MessageBox.Show ("账号不存在,请确认账号是否注册!","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning)

    Return

End If

 

If  mm.value= dr("密码") Then

    Forms("登录").close

\'\'    Forms("主窗口").open()

Else

    mm.Value =""

    MessageBox.Show ("密码错误,请重新输入!","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning)

    Return

End If

 

 

\'\'Dim bmyz As String = dr("部门")

\'\'If bm.value <> bmyz  Then

\'\'    MessageBox.Show ("账号与部门不一致!","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning)

\'\'    Return

\'\'End If

 

\'\'Dim dr1 As DataRow = DataTables("用户管理").Find("姓名 = \'" & _UserName & "\'")  \'用户名

\'\'If dr1 IsNot Nothing AndAlso dr("密码") = _UserPassword Then

\'\'Dim dr As DataRow = DataTables("用户管理").Find("姓名 = \'" & userName & "\'")  \'用户名

\'\'If dr IsNot Nothing AndAlso dr("密码") = Password Then

 \'\'   Verified  = True

\'\'End If

 

_UserGroup = dr("部门")  \'用户部门,给全局代码赋值,对登陆没影响

_UserPost = dr("职务")   \'用户职务,给全局代码赋值,对登陆没影响

_UserName =dr("姓名")   \'用户姓名,给全局代码赋值,对登陆没影响

_UserAccount = dr("账号")  \'用户账号,给全局代码赋值,对登陆没影响

_UserPassword = dr("密码")   \'用户密码,给全局代码赋值,对登陆没影响

 


--  作者:cd_tdh
--  发布时间:2022/4/14 14:25:00
--  

一看就是用的论坛里面我的那个改的,其实用账号密码就好了,没必要加上部门、姓名,账号必须唯一,才能通过账号的找对应行的密码,账号不唯一,就需要在通过部门或姓名去找,注册的时候或添加用户的时候,就必须判断账号不能重复,比如用手机号或是身份证号码来做账号

If  mm.value= dr("密码") Then
    If dr("用户状态") = "停用" Then
        MessageBox.Show ("您的账号还未启用或已停用,请与管理员联系!","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning)
        Return
    End If
    Forms("主窗口").Open()
    MainTable = Tables("主界面")  \'打开主界面表
    e.Form.close
End If

[此贴子已经被作者于2022/4/14 14:35:23编辑过]

--  作者:有点蓝
--  发布时间:2022/4/14 14:32:00
--  
账号不是唯一的?部门、姓名、账号都一样才能确定是同一个人?
--  作者:jhxb8821
--  发布时间:2022/4/14 14:42:00
--  
老师,根据“部门、姓名、账号都一样才能确定是同一个人”,请帮我修改一下
--  作者:cd_tdh
--  发布时间:2022/4/14 14:50:00
--  
If  bm.value= dr("部门") And xm.value= dr("姓名") And zh.value= dr("账号") Then
    If  mm.value= dr("密码") Then
        If dr("用户状态") = "停用" Then  \'如果前面部门或姓名只加载了启用状态的,此处不用判断
            MessageBox.Show ("您的账号还未启用或已停用,请与管理员联系!","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning)
            Return
        End If
        Forms("主窗口").Open()
        MainTable = Tables("主界面")  \'打开主界面表
        e.Form.close
    Else
        MessageBox.Show ("密码错误,请重新输入!","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning)
        Return
    End If
Else
    MessageBox.Show ("部门,姓名,账号不一致!","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning)
    Return
End If
[此贴子已经被作者于2022/4/14 14:53:34编辑过]