以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]关于清除窗口中ComboBox值的代码 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=61143) |
||||
-- 作者:huangfanzi -- 发布时间:2014/12/7 22:34:00 -- [求助]关于清除窗口中ComboBox值的代码 清除文本类型的ComboBox值时,用e.Form.Controls("ComboBox_牌号").Value = Nothing 但清除双精度与逻辑刑的ComboBox值时,用了上述代码后返回:无法在 System.Double 和 System.String 上执行“=”操作
请问老师我应该如何写代码才能正确的清除双精度与逻辑型的ComboBox值 |
||||
-- 作者:有点甜 -- 发布时间:2014/12/7 22:49:00 -- e.Form.Controls("ComboBox_牌号").Text = Nothing [此贴子已经被作者于2014-12-7 22:49:04编辑过]
|
||||
-- 作者:huangfanzi -- 发布时间:2014/12/7 22:59:00 -- 还是出错,我有个清除筛选的按钮,在这里写了如下代码: e.Form.Controls("ComboBox_公司").Value = Nothing e.Form.Controls("ComboBox_牌号").Value = Nothing e.Form.Controls("ComboBox_厚度").Text = Nothing e.Form.Controls("ComboBox_审核").Text = Nothing Tables("原料采购合同查询主窗口_Table_原料采购_副本").Filter="" 厚度在表上是双精度类型,审核是逻辑型,我在厚度中选了值后进行筛选,这一步还是正常的,但点了清除筛选按钮后,就弹出:无法在 System.Double 和 System.String 上执行“=”操作。
|
||||
-- 作者:有点甜 -- 发布时间:2014/12/7 23:24:00 -- 做个例子上来,应该是没问题的,可能触发了控件的 TextChanged 或 ValueChanged 事件了。 |
||||
-- 作者:huangfanzi -- 发布时间:2014/12/8 12:25:00 -- 是的啊,是与 TextChanged 或 ValueChanged 事件有关。 我在一个窗口中有四个ComboBox控件,分别是公司(文本)、牌号(文本)、厚度(双精度)及审核(逻辑),操作流程如下: 通过选择公司的下拉项目,选择一个公司后表进行了按公司筛选,执行正确; 这时再对厚度进行筛选,也是执行正确; 再对公司进行筛选,就会弹出“无法在 System.Double 和 System.String 上执行“=”操作。” 原因应该出在以下代码中: 公司ComboBox的ValueChanged中有以下代码: e.Form.Controls("ComboBox_牌号").Value = Nothing e.Form.Controls("ComboBox_厚度").Text = Nothing e.Form.Controls("ComboBox_审核").Text = Nothing Tables("原料采购合同查询主窗口_Table_原料采购_副本").Filter="[公司] = \'" & e.Form.Controls("ComboBox_公司").value & "\'" 厚度ComboBox的ValueChanged中有以下代码: e.Form.Controls("ComboBox_公司").Value = Nothing e.Form.Controls("ComboBox_牌号").Value = Nothing e.Form.Controls("ComboBox_审核").Text = Nothing Tables("原料采购合同查询主窗口_Table_原料采购_副本").Filter="[厚度] = \'" & e.Form.Controls("ComboBox_厚度").value & "\'" 我在上面的代码中用= Nothing的目的是清除之前筛选时选择的文字,例如选择一个公司筛选后,这个公司名就一直在ComboBox文字框中了,再用其他ComboBox筛选时,之前的这个公司ComboBox中文字一直会在,我就是想用上面的代码清除掉其他ComboBox框中的文字。 问题应该就出在上面的代码中,请老师们指正,谢谢!
[此贴子已经被作者于2014-12-8 12:26:34编辑过]
|
||||
-- 作者:huangfanzi -- 发布时间:2014/12/8 12:58:00 -- 刚又做了下测试,我把四个ComboBox中“= Nothing”这些代码全部去掉,在清除筛选的按钮中写下如下代码: e.Form.Controls("ComboBox_公司").Value = Nothing e.Form.Controls("ComboBox_牌号").Value = Nothing e.Form.Controls("ComboBox_厚度").Text = Nothing e.Form.Controls("ComboBox_审核").Text = Nothing Tables("原料采购合同查询主窗口_Table_原料采购_副本").Filter="" 我如果对厚度进行了筛选,再点清除筛选按钮把筛选全部关闭,之后再点厚度ComboBox就会弹出:无法在 System.Double 和 System.String 上执行“=”操作。同理,用上面流程点审核ComboBox,就会弹出:无法在 System.Boolean 和 System.String 上执行“=”操作。
|
||||
-- 作者:huangfanzi -- 发布时间:2014/12/8 13:28:00 --
我做了个例子上传上来了,请老师看下。进行以下操作会出现问题: 1、筛选公司 2、筛选厚度 3、筛选公司 4、再进行筛选厚度时弹出出错信息:无法在 System.Double 和 System.String 上执行“=”操作。 |
||||
-- 作者:lsy -- 发布时间:2014/12/8 14:15:00 -- 1
|
||||
-- 作者:huangfanzi -- 发布时间:2014/12/8 19:54:00 -- 附件我下载看了,是可以用了,但我的代码错在哪里呢?请指导一下,谢谢! |
||||
-- 作者:有点甜 -- 发布时间:2014/12/8 20:14:00 -- 你可以输出两者的代码对比一下
http://www.foxtable.com/help/topics/1987.htm
|