Foxtable(狐表)用户栏目专家坐堂 → 设置 DataSource 属性后无法修改项集合


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

主题:设置 DataSource 属性后无法修改项集合

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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
设置 DataSource 属性后无法修改项集合  发帖心情 Post By:2015/12/15 18:18:00 [显示全部帖子]

在ComboBox3的ValueChanged事件中设置了以下代码,执行时提示错误

e.Form.Controls("ComboBox3").Combolist = DataTables("报告").GetComboListString("类型")
e.Form.Controls("ComboBox2").Combolist = DataTables("报告").GetComboListString("查询人", "[类型] = '" & e.Form.Controls("ComboBox3").text & "'")
e.Form.Controls("ComboBox1").Combolist = DataTables("报告").GetComboListString("序号", "[类型] = '" & e.Form.Controls("ComboBox3").text & "'")

 

.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2015.11.11.1
错误所在事件:窗口,查证汇总表,ComboBox3,ValueChanged
详细错误信息:
设置 DataSource 属性后无法修改项集合。


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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2015/12/15 18:28:00 [显示全部帖子]

找到原因了

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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2015/12/15 18:43:00 [显示全部帖子]

下面黄色的运行有错误,不知道错在那里了,怎么修改

If e.Form.Controls("ComboBox2").text = Nothing Then
    'MessageBox.show("部门能为空,请输入","提示")
Else
    Dim dr As DataRow = DataTables("查证汇总表").find("户名 = '" & e.Form.Controls("ComboBox2").text & "'")

    If dr Is Nothing Then
        MessageBox.show("您输入的查询人不存在,请核对后再输入","提示")
        Return
    Else
With CurrentTable
    Dim r As Integer
    r = .FindRow("[查询人] Like '% '" & e.Form.Controls("ComboBox2").text & "' %'") '从第一行开始查找
    If r >= 0 Then '如果找到的话
        .Position = r '定位到找到的行.
    End If
End With


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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2015/12/15 19:16:00 [显示全部帖子]

在窗口中,想定位ComboBox2的值指向的行,但是不能不知道是什么原因?

With Tables("查证汇总表")
            Dim r As Integer
            r = .FindRow("[户名] Like '% " & e.Form.Controls("ComboBox2").text & "%'") '从第一行开始查找
            If r >= 0 Then '如果找到的话
                .Position = r '定位到找到的行.
            End If
        End With


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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2015/12/15 19:23:00 [显示全部帖子]

解决了

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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2015/12/15 19:42:00 [显示全部帖子]

Dim wz As Integer = Tables("查证汇总表").FindRow(dr)
        If wz >= 0 Then
            Tables("查证汇总表").Position = wz
        End If

上述代码会从第一行开始,逐项查找,能不能找到所在行


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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2015/12/15 19:48:00 [显示全部帖子]

在上述窗口还设计了一个下一行的按钮,但是会从第一行开始查找,

上述代码会从第一行开始,逐项查找,能不能找到所在行,怎么能从当前行的下一行查找,把代码修改如下:

Dim wz As Integer = Tables("查证汇总表").FindRow(dr,Tables("查证汇总表").Current, True )
        If wz >= 0 Then
            Tables("查证汇总表").Position = wz
        End If

但是提示 datarowf无法转换为string类型


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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2015/12/15 19:55:00 [显示全部帖子]

If e.Form.Controls("ComboBox2").text = Nothing Then
    'MessageBox.show("部门能为空,请输入","提示")
Else
    Dim dr As DataRow = DataTables("查证汇总表").find("户名 = '" & e.Form.Controls("ComboBox2").text & "'")
    If dr Is Nothing Then
               Return
    Else
        Dim wz As Integer = Tables("查证汇总表").FindRow(dr)
        If wz >= 0 Then
            Tables("查证汇总表").Position = wz
        End If
 End If
End If
  

上述代码查到 e.Form.Controls("ComboBox2").text  并定位到所在的行     


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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2015/12/15 20:16:00 [显示全部帖子]

还是不行呀,

 回到顶部