以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 往焦点所在单元格传输数据失败 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=145855) |
-- 作者:tld -- 发布时间:2020/2/9 16:33:00 -- 往焦点所在单元格传输数据失败 老师,我通过双击tables("试样信息表").current("检测内容")打开“窗口1”,进行一系列操作后,得到字符串 str,希望:tables("试样信息表").current("检测内容")=str 发现不成功。在tables("试样信息表").current("备注")单元格双击后打开“窗口1”,就能实现tables("试样信息表").current("检测内容")=str。 想请教,从窗口向主表中的焦点所在单元格写数据不可以吗?我希望双击哪个单元格,就向哪个单元格传输数据。可以做到吗? 谢谢!
|
-- 作者:有点蓝 -- 发布时间:2020/2/9 22:47:00 -- 肯定可以的。双击事件写了什么代码?窗口向单元格赋值又是怎么做的? |
-- 作者:tld -- 发布时间:2020/2/10 20:27:00 -- If System.Windows.Forms.Control.ModifierKeys = Keys.Control And e.Col.Name="检测内容" ‘*********************如果改成其他列,比如“备注”就没有问题 Dim ddr As DataRow = DataTables("通用检测价格表").Find("次分类 = \'" & e.Row("试样名称") & "\'") If ddr Is Nothing Then msgbox("请检查【试样名称】是否填写正确") e.Cancel = True End If If ddr IsNot Nothing Then Public_检测大类 = ddr("首分类") Public_次分类=DDR("次分类") Public_表名称=e.Table.name Forms("窗口1").open End If End If *******************以下是窗口1的代码 Dim nr1 As WinForm.TextBox = e.Form.Controls("详细内容") Dim jg1 As WinForm.TextBox = e.Form.Controls("检测费")\' Dim sl1 As WinForm.TextBox = e.Form.Controls("检测数量") Dim nr2 As WinForm.TextBox = e.Form.Controls("试样名称") Dim jg2 As WinForm.TextBox = e.Form.Controls("加工费") Dim sl2 As WinForm.TextBox = e.Form.Controls("试样数量") Dim dr1 As Row= Tables(public_表名称).current dr1("检测内容")=iif( sl1.text>0,(nr1.text & "*" & sl1.text),"") dr1("加工内容")=iif(sl2.text>0,(nr2.text & "*" & sl2.text),"") dr1("检测费")=jg1.text dr1("加工费")=jg2.text 如果双击的是“检测内容”列,dr1("检测内容")=iif( sl1.text>0,(nr1.text & "*" & sl1.text),"")就没有结果。双击其他列打开窗口,就没有问题 [此贴子已经被作者于2020/2/10 20:30:13编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/2/10 20:46:00 -- If System.Windows.Forms.Control.ModifierKeys = Keys.Control And e.Col.Name="检测内容" ‘*********************如果改成其他列,比如“备注”就没有问题 Dim ddr As DataRow = DataTables("通用检测价格表").Find("次分类 = \'" & e.Row("试样名称") & "\'") If ddr Is Nothing Then msgbox("请检查【试样名称】是否填写正确") else Public_检测大类 = ddr("首分类") Public_次分类=DDR("次分类") Public_表名称=e.Table.name Forms("窗口1").open End If e.Cancel = TrueEnd If
|
-- 作者:tld -- 发布时间:2020/2/11 5:26:00 -- 问题解决了,谢谢老师。我有些疑惑,为什么没有代码e.Cancel = True 就不能往焦点单元格写数据?有什么规则吗? |
-- 作者:有点蓝 -- 发布时间:2020/2/11 8:43:00 -- 只要是在设计事件里打开窗口的都需要这样用,这是固定用法:http://www.foxtable.com/webhelp/topics/1499.htm |