以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- [求助] (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=102506)
|
-- 作者:独行侠
-- 发布时间:2017/6/21 14:16:00
-- [求助]
我创建了一个窗口,可以提交报修,我把窗口中的控件和一个报修表中的对应列绑定。我在窗口中输入什么,表中就会在对应列显示什么。
此主题相关图片如下:dvosyn~pg5i$w%o10w8~a1.jpg
关闭后,再报修时,还是在已报修的那一列修改数据,为什么不能在新的一列显示数据?这该怎么实现?
还有,我按了清除按钮,窗口上的内容没了,但是对应的表中的数据还在,而且,在窗口中,随便点一下,刚清除的东西就又出现了,这又是怎么回事?
我的清除按钮的 代码
e.Form.Controls("ComboBox1").Value = Nothing e.Form.Controls("TextBox1").Value = Nothing e.Form.Controls("TextBox2").Value = Nothing e.Form.Controls("TextBox3").Value = Nothing e.Form.Controls("TextBox4").Value = Nothing e.Form.Controls("TextBox5").Value = Nothing
|
-- 作者:有点色
-- 发布时间:2017/6/21 14:49:00
--
你在表选择了哪一行,你窗口就会显示哪一行的。如果你选择一行空的行或者新增一行,自然会显示空白了。
你可以在窗口AfterLoad事件写代码 Tables("报修").AddNew
|
-- 作者:独行侠
-- 发布时间:2017/6/21 16:00:00
-- 回复:(有点色)你在表选择了哪一行,你窗口就会显示...
AfterLoad事件写增加行的代码,每次打开都会在一个新的行输入数据,但是要是没输入数据,直接关闭的话,新的行依然存在的,
Tables("报修").Current.Delete() 只能删除当前的行, DataRows().Delete() 删除指定的行,我想在退出窗口时,自动删除所有空白的行,这个要怎么办
我的清除按钮的代码
e.Form.Controls("ComboBox1").Value = Nothing e.Form.Controls("TextBox1").Value = Nothing e.Form.Controls("TextBox2").Value = Nothing e.Form.Controls("TextBox3").Value = Nothing e.Form.Controls("TextBox4").Value = Nothing e.Form.Controls("TextBox5").Value = Nothing
这个代码执行的清除,只能清除窗口的东西,但是我刚输入的东西还在表上,窗口随便点一个文本框,之前清除的内容就又都回来了,只有第一个文本框的内容没有回来。 这是代码错了吗?
|
-- 作者:有点色
-- 发布时间:2017/6/21 16:11:00
--
afterClose事件写 DataTables("报修").RejectChanges 这样可以撤销修改。
如果你要清除内容,这样写
e.Form.Controls("ComboBox1").Value = Nothing
e.Form.Controls("ComboBox1").writevalue
|
-- 作者:独行侠
-- 发布时间:2017/6/21 16:31:00
-- 回复:(有点色)afterClose事件写 DataTables("报修"...
我清除的代码 写成
DataTables("报修").RejectChanges Tables("报修").AddNew
实现了我想要的清除效果,但是
AfterLoad 事件
Tables("报修").AddNew
可以打开后增加一行,这个效果好,就是什么都不输入,直接退出后,那一行还在,不会清除掉
要是再加上 DataTables("报修").RejectChanges
那就是加一行马上再把这一行删掉,没有意义的。
清除实现了,
现在就是、想实现 打开窗口,自动增加一行,要是直接关闭窗口,增加的那一行可以去掉,或者可以判断表中的空白行,把空白行全部删掉。
|
-- 作者:有点色
-- 发布时间:2017/6/21 16:49:00
--
你不是有提交按钮吗?提交的话,就把当前行save一下即可 Tables("报修").Current.Save 如果你要删除空行也行的,写代码 DataTables("报修").DeleteFor("物资类型 is null and 物资编号 is null")
|
-- 作者:独行侠
-- 发布时间:2017/6/21 17:27:00
-- 回复:(有点色) 你不是有提交按钮吗?提交的话...
我 提交 click 的代码
Dim Result As DialogResult Result = MessageBox.Show("您确定要提交吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) If Result = DialogResult.Yes Then Tables("人员").Save() MessageBox.Show("已提交.","提示") Else DataTables("报修").RejectChanges Tables("报修").AddNew End If
这是我想要的效果
我把 DataTables("报修").DeleteFor("物资类型 is null and 物资编号 is null") 写在了 退出和 AfterClose 里面 ,实现了我想要的效果
真的太感谢了,麻烦你这么多次,我总算把报修做成我想要的结果了。
最为小白的我好无奈,一大堆问题,让你辛苦了 真的很感谢。
|