Foxtable(狐表)用户栏目专家坐堂 → 不知道为什么,TextBox不显示数据了


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

主题:不知道为什么,TextBox不显示数据了

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


加好友 发短信
等级:一尾狐 帖子:437 积分:2943 威望:0 精华:0 注册:2011/3/15 12:49:00
不知道为什么,TextBox不显示数据了  发帖心情 Post By:2020/2/7 18:16:00 [只看该作者]

If e.Row.Selected Then
    Dim n As String = "表" & e.Row.Group.SubString(1,1)
    'MessageBox.Show(e.Row.Group.SubString(0,2))
    Dim rg As WinForm.RecordGrid = e.Form.Controls("RecordGrid1")
    If DataTables.Contains(n)
        If rg.Table Is Nothing OrElse rg.Table.Name <> n Then
            For i As  Integer = 0 To 4
                Tables(n).Cols(i).ShowInRecordGrid = False '前面4列不在记录窗口显示
            Next
            rg.Table = Tables(n) '指定绑定表
            rg.Build()
        End If
        Dim c As Col = Tables(n).Cols(0)
        Dim r As Integer = Tables(n).FindRow( c.Name & "= '" & e.Row.Text  & "'")
        If r > -1 Then
            Tables(n).Position = r
            For i As Integer = 1 To DataTables(n).DataCols.Count - 10
                Dim tb As String = "TextBox" & i
                If e.Form.Controls(tb).Visible = False Then
                    e.Form.Controls(tb).Visible = True
                    e.Form.Controls(tb).Value = Tables(n).Current(i+4)
                Else
                    e.Form.Controls(tb).Value = Tables(n).Current(i+4)
                End If
            Next
        End If
    Else
        For i As  Integer = 0 To  4
            Tables("涤式").Cols(i).ShowInRecordGrid = False '前面4列不在记录窗口显示
        Next
        rg.Table = Tables("涤式")
        rg.Build()
    End If
    Dim c1 As Col = Tables("涤式").Cols(0)
    Dim r1 As Integer = Tables("涤式").FindRow( c1.Name & "= '" & e.Row.Text  & "'")
    If r1 > -1 Then
        Tables("涤式").Position = r1
        For i As Integer = 1 To Tables("涤式").Cols.Count
            If Tables("涤式").Cols.Count >= 15
                Dim tb As String = "TextBox" & i
                If Tables("涤式").Current(i-1) IsNot Nothing Then
                    If e.Form.Controls(tb).Visible = False Then
                        e.Form.Controls(tb).Visible = True
                        e.Form.Controls(tb).Value = Tables("涤式").Current(i-1)
                    Else
                        e.Form.Controls(tb).Value = Tables("涤式").Current(i-1)
                    End If
                Else
                    If e.Form.Controls(tb).Visible = False Then
                        e.Form.Controls(tb).Visible = True
                        e.Form.Controls(tb).Value = Nothing
                    Else
                        e.Form.Controls(tb).Value = Tables("涤式").Current(i-1)
                    End If
                End If
            Else
                Dim tb As String = "TextBox" & i
                If Tables("涤式").Current(i-1) IsNot Nothing Then
                    If e.Form.Controls(tb).Visible = False Then
                        e.Form.Controls(tb).Visible = True
                        e.Form.Controls(tb).Value = Tables("涤式").Current(i+4)
                    Else
                        e.Form.Controls(tb).Value = Tables("涤式").Current(i+4)
                    End If
                End If
                For i1 As Integer = Tables("涤式").Cols.Count+1 To 6
                    Dim tb1 As String = "TextBox" & i1
                    e.Form.Controls(tb1).Visible = False
                Next
            End If
        Next
    End If
End If

不知道为什么,TextBox不显示数据了

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


加好友 发短信
等级:超级版主 帖子:107896 积分:548849 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/7 20:05:00 [只看该作者]

请上传实例测试

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


加好友 发短信
等级:一尾狐 帖子:437 积分:2943 威望:0 精华:0 注册:2011/3/15 12:49:00
  发帖心情 Post By:2020/2/7 20:48:00 [只看该作者]

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


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


加好友 发短信
等级:超级版主 帖子:107896 积分:548849 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/7 21:25:00 [只看该作者]

事件里e.Row.Text 指的是listview的第一列的数据,但并不是每个表的第一列。再说,生成listview数据的时候,给listview的第一列赋值的如表A是"面料名称"(vr("项目名称") = dr("面料名称")),这个"面料名称"也不是表A的第一列。所以下面代码是永久都没有结果的

Dim c As Col = Tables(n).Cols(0) ‘Cols(0)表示第一列,表如A第一列是序号,不是"面料名称"
Dim r As Integer = Tables(n).FindRow( c.Name & "= '" & e.Row.Text  & "'")

 回到顶部