Foxtable(狐表)用户栏目专家坐堂 → [求助]选定问题


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

主题:[求助]选定问题

帅哥哟,离线,有人找我吗?
blsu33
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2927 积分:20167 威望:0 精华:0 注册:2012/2/3 17:45:00
[求助]选定问题  发帖心情 Post By:2015/12/26 9:59:00 [只看该作者]

老师,

DropDownOpening 代码如下

Dim lvw As WinForm.ListView = e.Form.Controls("ListView3")

Dim ss As String = e.Form.DropDownBox.Value

If ss > "" Then

    Dim ary() As String = e.Form.DropDownBox.BindingField.Split(".")

    Dim dr As DataRow = DataTables("Z005窗表字段设置").Find("[绑定表] ='"& ary(0) &"' And [绑定列] ='"& ary(1) &"' and [绑定窗口名称]='通用目录树'")

    If dr IsNot Nothing AndAlso dr.IsNull("绑定赋值列")=False AndAlso dr.IsNull("取值列")=False Then '如果在项目表找到对应的行

        Dim vals() As String = e.Form.DropDownBox.Value.split(",")

        Dim Parts1() As String=dr("取值显示列").Split(",")

        Dim i1 As Integer

        For Each r As WinForm.ListViewRow In lvw.Rows

            For i1=0 To Parts1.Length-1

                If array.IndexOf(vals, r(Parts1(i1))) >= 0 Then

                    r.Checked = True

                    MessageBox.Show(r(Parts1(i1)) & r.Checked)

                Else

                    r.Checked = False

                End If

            Next

        Next

    Else

        For Each r As WinForm.ListViewRow In lvw.Rows

            r.Checked = False

        Next

        

    End If

End If


弹窗显示了已经为TRUE,为何复选框还不选定呢


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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2015/12/26 10:30:00 [只看该作者]

代码没有问题,上传例子测试

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


加好友 发短信
等级:九尾狐 帖子:2927 积分:20167 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2015/12/27 8:36:00 [只看该作者]

老师,
麻烦您给看看,窗口1


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:复件 (2) 管理项目2.table


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


加好友 发短信
等级:九尾狐 帖子:2927 积分:20167 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2015/12/27 12:09:00 [只看该作者]

红袍老师,
   下拉不知道问什么出问题,麻烦您给看看啊。

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


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

'下拉复选框
Dim lvw As WinForm.ListView = e.Form.Controls("ListView3")
Dim ss As String = e.Form.DropDownBox.text
For Each r As WinForm.ListViewRow In lvw.Rows
    r.Checked = False
Next
If ss > "" Then
    Dim ary() As String = e.Form.DropDownBox.BindingField.Split(".")
    Dim dr As DataRow = DataTables("Z005窗表字段设置").Find("[绑定表] ='"& ary(0) &"' And [绑定列] ='"& ary(1) &"' and [绑定窗口名称]='通用目录树'")
    If dr IsNot Nothing AndAlso dr.IsNull("绑定赋值列")=False AndAlso dr.IsNull("取值列")=False Then '如果在项目表找到对应的行
        Dim vals() As String =ss.split(",")
        Dim Parts1() As String=dr("取值显示列").Split(",")
        Dim i1 As Integer
        For Each r As WinForm.ListViewRow In lvw.Rows
            For i1=0 To Parts1.Length-1
                If array.IndexOf(vals, r(Parts1(i1))) >= 0 Then
                    r.Checked = True
                    Exit For
                End If
            Next
        Next
    End If
End If

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


加好友 发短信
等级:九尾狐 帖子:2927 积分:20167 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2015/12/27 12:33:00 [只看该作者]

图片点击可在新窗口打开查看 怎么又是这个问题 谢谢老师了

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


加好友 发短信
等级:九尾狐 帖子:2927 积分:20167 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2015/12/28 10:32:00 [只看该作者]

老师,
   listview的 确定按钮复选的确定按钮。
Dim lvw As WinForm.ListView = e.Form.Controls("ListView3")
Dim vls As String = ""
Dim ary() As String = e.Form.DropDownBox.BindingField.Split(".")
Dim tr As Row = Tables(ary(0)).Current

Dim dr As DataRow = DataTables("Z005窗表字段设置").Find("[绑定表] ='"& ary(0) &"' And [绑定列] ='"& ary(1) &"' AND [绑定窗口名称]='通用目录树'")
If dr IsNot Nothing AndAlso dr.IsNull("绑定赋值列")=False AndAlso dr.IsNull("取值列")=False Then '如果在项目表找到对应的行
    For Each vr As WinForm.ListViewRow In lvw.CheckedRows
        vls = vls & "," & vr.Text
    Next
    e.Form.DropDownBox.Value = vls.Trim(",")
    Dim dr1 As DataRow = lvw.Current.tag                                 这后面就不会写了,请老师指点
    Dim vals() As String = e.Form.DropDownBox.Value.split(",")
    Dim Parts2() As String=dr("取值显示列").Split(",")
    Dim i1 As Integer
    For Each r As WinForm.ListViewRow In lvw.Rows
        For i1=0 To Parts2.Length-1
            tr(Parts2(i1))=dr1(Parts2(i1))
            MessageBox.Show(tr(Parts2(i1)))
            MessageBox.Show(dr1(Parts2(i1)))
        Next
    Next
End If

e.Form.DropDownBox.CloseDropdown()

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


加好友 发短信
等级:九尾狐 帖子:2927 积分:20167 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2015/12/28 10:34:00 [只看该作者]

希望达到的效果是这样的,

第一列   第二列      第三例
94,01   测试,看看   张三,李四

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


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

Dim lvw As WinForm.ListView = e.Form.Controls("ListView3")
Dim vls As String = ""
Dim ary() As String = e.Form.DropDownBox.BindingField.Split(".")
Dim tr As Row = Tables(ary(0)).Current


Dim dr As DataRow = DataTables("Z005窗表字段设置").Find("[绑定表] ='"& ary(0) &"' And [绑定列] ='"& ary(1) &"' AND [绑定窗口名称]='通用目录树'")
If dr IsNot Nothing AndAlso dr.IsNull("绑定赋值列")=False AndAlso dr.IsNull("取值列")=False Then '如果在项目表找到对应的行
    Dim Parts1() As String=dr("取值列").Split(",")
    Dim Parts2() As String=dr("绑定赋值列").Split(",")
    Dim vals(Parts1.length-1)
    For Each vr As WinForm.ListViewRow In lvw.CheckedRows
        Dim fdr As DataRow = DataTables(dr("取值表")).find("_Identify = " & vr.Name)
        If fdr IsNot Nothing
            For i As Integer = 0 To parts1.length-1
                vals(i) &= fdr(parts1(i)) & ","
            Next
        End If
        vls = vls & "," & vr.Text
    Next
    For i As Integer = 0 To parts2.length-1
        tr(parts2(i)) = vals(i).Trim(",")
    Next
    e.Form.DropDownBox.Value = vls.Trim(",")
End If


e.Form.DropDownBox.CloseDropdown()


 回到顶部