以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]关于双击表格打开窗口录入的问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=22328) |
||||
-- 作者:kissdeyi -- 发布时间:2012/8/9 11:29:00 -- [求助]关于双击表格打开窗口录入的问题 在表事件的PrepareEdit中我输入e.Cancel = True,以避免直接在表中输入内容,为的是双击想要编辑的那个项目,弹出输入窗口,好吧问题来了:
窗口中的文本框中,在属性中绑定到表的Textbox1、2、3都没有问题,在框中输入信息后就直接录入到了表中;但通过代码绑定到表的Textbox4,却实现不了这个,而是第一次对应到哪了,接下来就始终对应哪,管你换不换项目……… 代码如下:
项目验收_Button1_Click
Dim tbl As Table = Tables("项目验收") Dim r As Row = tbl.Current Dim v1 As String = e.Form.Controls("TextBox1").text Dim v2 As String = e.Form.Controls("TextBox2").text Dim v3 As String = e.Form.Controls("TextBox3").text Dim v4 As Date = e.Form.Controls("DateTimePicker1").Value tbl.Current(nmh(idd)) = v4 & "," & v2 & "于" & v1 & "召开了相关会议,会议内容为" & v3 idd=idd + 1 e.Form.Controls("TextBox1").Value = Nothing e.Form.Controls("TextBox2").Value = Nothing e.Form.Controls("TextBox3").Value = Nothing e.Form.Controls("DateTimePicker1").Value = Nothing
请问我该怎么办?
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2012/8/9 14:12:00 -- 我看不懂你的问题。 不过如果文本框已经绑定到列,那么就不能直接设置文本框的值,理由: http://www.foxtable.com/help/topics/2436.htm
|
||||
-- 作者:kissdeyi -- 发布时间:2012/8/10 13:17:00 -- 回复:(狐狸爸爸)我看不懂你的问题。不过如果文本... 狐爸,简而言之就是文本框没有绑定到列,而是用代码将文本框对应到表的某列,这种情况下无论双击哪个项目行弹出的窗口,窗口中输入的都一律录入到项目一(第一行),实例如下:
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2012/8/10 15:19:00 -- Dim tbl As Table = CurrentTable |
||||
-- 作者:kissdeyi -- 发布时间:2012/8/10 16:15:00 -- 回复:(狐狸爸爸)Dim tbl As Table = CurrentTableD... 狐爸,感谢您的不厌其烦的解答。但现在有一个问题不知道您注意到没,咱双击的是表“全部项目明细”,而弹出窗口中录入的内容却是“项目验收”表的内容,所以就导致了下面的结果:
请问该如何解决呢?
如果通过改变代码可以实现,还想顺便让您帮个忙: 就是当前代码下,我一个项目的事件写完后,窗口文本框自动对应到下一空白文本框。 那如果我想通过窗口对以前填写过的内容可以进行修改的话,请问代码该如何写呢?或者窗口该如何设计?
给您添麻烦了~多谢~!
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2012/8/10 16:43:00 -- 你绑定到什么表,显示的就是什么表的数据,这点不会错,也没有错。
|
||||
-- 作者:kissdeyi -- 发布时间:2012/8/10 16:50:00 -- 回复:(狐狸爸爸)你绑定到什么表,显示的就是什么表... 嗯,对啊,但是按您给的代码修改后,代码变成绑定到CurrentTable,就提示我出现错误了……
您在实例里试的时候没出现这个问题吗?? [此贴子已经被作者于2012-8-10 17:00:54编辑过]
|
||||
-- 作者:woiz -- 发布时间:2012/8/10 18:23:00 -- 其实是你的表定义有错 将 Dim tbl As Table = Tables("项目验收") 改成 Dim tbl As Table = Tables("【主表名】.项目验收")
【主表名】 自己替换吧,我不记得了 |
||||
-- 作者:woiz -- 发布时间:2012/8/10 18:24:00 -- 主表 好像是 项目实施 吧
|
||||
-- 作者:kissdeyi -- 发布时间:2012/8/13 9:16:00 -- 回复:(woiz)主表 好像是 项目实施 吧? 刚看见,感谢您的热心关注,您的回答就是正确答案,也提示了我及广大有同样困扰的狐友关于这类问题的症结所在:
双击主表A弹出窗口,想要通过窗口给另一个表B输入数据,窗口中的表定义必须是主表A的关联表B,即表A.表B,或表A.表C......表B,而不能直接是表B!
再次感谢您的回答~~祝工作顺利~! [此贴子已经被作者于2012-8-13 9:17:12编辑过]
|