Foxtable(狐表)用户栏目专家坐堂 → 在ComboBox的ValueChanged事件中写入下面代码出错


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

主题:在ComboBox的ValueChanged事件中写入下面代码出错

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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
在ComboBox的ValueChanged事件中写入下面代码出错  发帖心情 Post By:2019/2/16 1:26:00 [只看该作者]

在ComboBox的ValueChanged事件中写入下面代码出错:

''============最高,次高,最低,次低等有效报价===============

Dim dr As DataRow = Tables("开标记录.标录明细").Current.DataRow

Dim n As Integer = e.Sender.Value  ' CInt(e.Sender.Value)

Dim dts As List(Of DataRow) = DataTables("标录明细").Select("[系统编号] = '" & dr("系统编号") & "'And [有效报价] > 0 " ,"有效报价 DESC")

e.Form.StopRedraw()

Tables("开标记录.标录明细").StopRedraw()  '停止绘制表

If dts.Count > 0 Then

    If dts.Count > n Then

        For Each cr As Row In Tables("开标记录.标录明细").Rows

            If cr("评标状态").Contains("最高报价")

                cr("评标状态") = Nothing

            End If

        Next

        For i As Integer = 0 To n -1

            dts(i)("评标状态") = "最高报价" & (i+1)

        Next

    End If

Else

    MessageBox.Show("请先录入标录明细后,再执行!")

End If

Tables("开标记录.标录明细").ResumeRedraw()  '恢复绘制表

e.Form.ResumeRedraw()



提示错误:


.NET Framework 版本:2.0.50727.8762

Foxtable 版本:2018.10.9.1

错误所在事件:

详细错误信息:

DataTable 内部索引已损坏:5”。



此主题相关图片如下:yyyy.png
按此在新窗口浏览图片








 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106816 积分:543281 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/2/16 8:58:00 [只看该作者]

看不到表数据,理解不了上面代码的逻辑

ComboBox不要绑定列,代码改到textchanged事件试试。

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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2019/2/19 3:35:00 [只看该作者]

 如何才能做到在窗体打开时不执行窗体中ComboBox控件的ValueChanged事件,而在窗体打开后,控件值再改变时才执行ValueChanged事件?


 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

这样打开窗口
vars("can") = false
forms("窗口1").open

窗口afterload
vars("can") = true

ValueChanged事件
If vars("can") = True Then
    ‘原来的’ValueChanged代码
End If

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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2019/2/19 13:46:00 [只看该作者]

还是达不到要求,我需求是:
1、窗体中ComboBox控件是绑定字段的
2、在窗体打开时不执行窗体中ComboBox控件的ValueChanged事件
3、在窗体打开后,控件值再改变时才执行ValueChanged事件

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



 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

测试没有问题,要自己写代码打开窗口
vars("can") = False
forms("ValueChanged事件").open

另外没看出来原来的ValueChanged事件有什么问题

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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2019/2/19 17:26:00 [只看该作者]

在表双击单元格后执行打开后,修改ComboBox控件的值后,绑定表中的值没有修改,为什么?
vars("can") = false
forms("窗口1").open

窗口afterload
vars("can") = true

ValueChanged事件
If vars("can") = True Then
    ‘原来的’ValueChanged代码
End If


此主题相关图片如下:pppp72331.png
按此在新窗口浏览图片

[此贴子已经被作者于2019/2/19 17:27:20编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106816 积分:543281 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/2/19 17:40:00 [只看该作者]

5楼例子我测试没有问题,上传有问题的实例说明

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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2019/2/19 17:42:00 [只看该作者]

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


窗口直接预览打开是可以的,但通过表双击打开不行了,为什么?
[此贴子已经被作者于2019/2/19 17:43:48编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

e.Cancel = True
vars("can") = False
forms("ValueChanged事件").open()

 回到顶部