以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]关于双击表格打开窗口录入的问题  (http://foxtable.net/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
--  回复:(狐狸爸爸)我看不懂你的问题。不过如果文本...

狐爸,简而言之就是文本框没有绑定到列,而是用代码将文本框对应到表的某列,这种情况下无论双击哪个项目行弹出的窗口,窗口中输入的都一律录入到项目一(第一行),实例如下:

 

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


--  作者:狐狸爸爸
--  发布时间:2012/8/10 15:19:00
--  

Dim tbl As Table = CurrentTable
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 v4 As String  = e.Form.Controls("TextBox5").text
Dim v3 As Date = e.Form.Controls("DateTimePicker1").Value
tbl.Current(nmh(idd)) = v3 & "," & v1 & "于" & v4 & "召开了相关会议,会议内容为" & v2
idd=idd + 1
e.Form.Controls("TextBox1").Value = Nothing
e.Form.Controls("TextBox2").Value = Nothing
e.Form.Controls("TextBox5").Value = Nothing
e.Form.Controls("DateTimePicker1").Value = Nothing


--  作者:kissdeyi
--  发布时间:2012/8/10 16:15:00
--  回复:(狐狸爸爸)Dim tbl As Table = CurrentTableD...

狐爸,感谢您的不厌其烦的解答。但现在有一个问题不知道您注意到没,咱双击的是表“全部项目明细”,而弹出窗口中录入的内容却是“项目验收”表的内容,所以就导致了下面的结果:

 


图片点击可在新窗口打开查看此主题相关图片如下:问题1.bmp
图片点击可在新窗口打开查看

 

请问该如何解决呢?

 

如果通过改变代码可以实现,还想顺便让您帮个忙:

就是当前代码下,我一个项目的事件写完后,窗口文本框自动对应到下一空白文本框。

那如果我想通过窗口对以前填写过的内容可以进行修改的话,请问代码该如何写呢?或者窗口该如何设计?

 

给您添麻烦了~多谢~!

 

 


 


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