Foxtable(狐表)用户栏目专家坐堂 → [求助]录入窗口绑定下拉窗口时出错


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

主题:[求助]录入窗口绑定下拉窗口时出错

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


加好友 发短信
等级:六尾狐 帖子:1449 积分:11237 威望:0 精华:0 注册:2013/11/8 15:27:00
[求助]录入窗口绑定下拉窗口时出错  发帖心情 Post By:2021/10/25 14:52:00 [只看该作者]

下拉窗口是这样的
图片点击可在新窗口打开查看此主题相关图片如下:123.png
图片点击可在新窗口打开查看
AfterLoad
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv.BuildTree("客户档案","客户分属|客户名称")

NodeMouseClick
If e.Node.Level = 1 Then 
    Dim tr As Row = Tables("客户档案").Current
    Dim dr As DataRow = e.Node.DataRow
    tr("客户分属") = dr("客户分属")
    tr("客户名称") = dr("客户名称")
    e.Form.DropDownBox.Value = tr("客户名称") 
    e.Form.DropDownBox.CloseDropdown()
End If

下一个按钮
Dim txt As String = e.Form.DropDownBox.Text
If txt = "" Then 
    Return
End If
Dim trv As WinForm.TreeView =  e.Form.Controls("TreeView1")
Dim Start As Integer 
Dim idx As Integer = - 1
If trv.SelectedNode IsNot Nothing Then
    Dim FullName As String = trv.SelectedNode.FullName
    For i As Integer = 0 To trv.AllNodes.count - 1
        If trv.AllNodes(i).FullName = FullName  Then
            Start = i
            Exit For
        End If
    Next
End If
For i As Integer = Start + 1 To trv.AllNodes.count - 1
    Dim nd As WinForm.TreeNode = trv.AllNodes(i)
    If nd.Text.IndexOf(txt) >= 0 Then
        trv.SelectedNode = nd
        nd.EnsureVisible
        idx = i 
        Exit For
    End If
Next
If  idx = -1 Then
    For i As Integer = 0 To Start - 1
        Dim nd As WinForm.TreeNode = trv.AllNodes(i)
        If nd.Text.IndexOf(txt) >= 0 Then
            trv.SelectedNode = nd
            nd.EnsureVisible
            Exit For
        End If
    Next
End If
trv.Select()

确定按钮
Dim s As String = "" 
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
For Each nd As WinForm.TreeNode In trv.ALLNodes
    If nd.nodes.count = 0 AndAlso nd.Checked Then
        s = s & "," & nd.Text
    End If
Next
e.Form.DropDownBox.Value = s.trim(",")
e.Form.DropDownBox.CloseDropdown

然后在一个录入窗口中绑定了这个下拉窗口

图片点击可在新窗口打开查看此主题相关图片如下:321.png
图片点击可在新窗口打开查看

但经常会出现这样的情况,就是录入窗口的下拉框中选择了客户名称后,会改变客户档案中的某一行的客户名称,是光标所在行,默认第一行,一直找不出原因

图片点击可在新窗口打开查看此主题相关图片如下:333.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2021/10/25 15:39:21编辑过]

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


加好友 发短信
等级:超级版主 帖子:113905 积分:580134 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/10/25 20:27:00 [只看该作者]

代码里不是有给当前行赋值吗?

NodeMouseClick
If e.Node.Level = 1 Then 
    Dim tr As Row = Tables("客户档案").Current   当前行
    Dim dr As DataRow = e.Node.DataRow
    tr("客户分属") = dr("客户分属")
    tr("客户名称") = dr("客户名称")
    e.Form.DropDownBox.Value = tr("客户名称") 
    e.Form.DropDownBox.CloseDropdown()
End If

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


加好友 发短信
等级:六尾狐 帖子:1449 积分:11237 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2021/10/26 16:34:00 [只看该作者]

哦,还真是的,晕了

 回到顶部