以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  在ComboBox的ValueChanged事件中写入下面代码出错  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=131086)

--  作者:ZJZK2018
--  发布时间:2019/2/16 1:26:00
--  在ComboBox的ValueChanged事件中写入下面代码出错
在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
按此在新窗口浏览图片








--  作者:有点蓝
--  发布时间:2019/2/16 8:58:00
--  
看不到表数据,理解不了上面代码的逻辑

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

--  作者:ZJZK2018
--  发布时间:2019/2/19 3:35:00
--  
 如何才能做到在窗体打开时不执行窗体中ComboBox控件的ValueChanged事件,而在窗体打开后,控件值再改变时才执行ValueChanged事件?


--  作者:有点蓝
--  发布时间: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
--  发布时间:2019/2/19 13:46:00
--  
还是达不到要求,我需求是:
1、窗体中ComboBox控件是绑定字段的
2、在窗体打开时不执行窗体中ComboBox控件的ValueChanged事件
3、在窗体打开后,控件值再改变时才执行ValueChanged事件

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



--  作者:有点蓝
--  发布时间:2019/2/19 14:25:00
--  
测试没有问题,要自己写代码打开窗口
vars("can") = False
forms("ValueChanged事件").open

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

--  作者:ZJZK2018
--  发布时间: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编辑过]

--  作者:有点蓝
--  发布时间:2019/2/19 17:40:00
--  
5楼例子我测试没有问题,上传有问题的实例说明
--  作者:ZJZK2018
--  发布时间:2019/2/19 17:42:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:valuechanged.table


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

--  作者:有点蓝
--  发布时间:2019/2/19 20:08:00
--  
e.Cancel = True
vars("can") = False
forms("ValueChanged事件").open()