以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]老师帮看下,错在哪? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=50016) |
-- 作者:花开的声音 -- 发布时间:2014/4/27 23:08:00 -- [求助]老师帮看下,错在哪? 在用窗口中的几个文本框的值给窗口中的表A的各列赋值时(窗口中文本框的名字与表中的列名一致),提示以下图示错误,看这代码没什么问题,帮看下问题出在哪里? Dim t As Table = Tables("表A") For Each ctl As WinForm.Control In e.Form.Controls If t.Cols.Contains(ctl.Name) Then t.Current(ctl.Name) = e.Form.Controls(ctl.Name).Value End If Next |
-- 作者:有点甜 -- 发布时间:2014/4/27 23:12:00 -- 你窗口有一个panel控件,但是panel控件式没有value属性的。
你用msgbox调试一下就知道怎么回事了。 |
-- 作者:花开的声音 -- 发布时间:2014/4/27 23:16:00 -- 窗口中有一个分区面板,但怎么用代码来把这个面板排除掉? |
-- 作者:花开的声音 -- 发布时间:2014/4/27 23:19:00 -- Dim t As Table = Tables("基层法律服务机构信息表") For Each ctl As WinForm.Control In e.Form.Controls If ctl.Name <> SplitContainer1 Then If t.Cols.Contains(ctl.Name) Then t.Current(ctl.Name) = e.Form.Controls(ctl.Name).value End If End If Next 这样写还是提示错误
|
-- 作者:花开的声音 -- 发布时间:2014/4/27 23:30:00 -- 还有一个导航栏,这个影响不,要不要排除,怎么排除? |
-- 作者:逛逛 -- 发布时间:2014/4/28 7:56:00 -- 看你的布局,你可以将这些要赋值的控件放在一个Panel 里,用Panel 的 children 属性去遍历 |
-- 作者:lsy -- 发布时间:2014/4/28 8:10:00 -- Dim t As Table = e.Form.Controls("基层法律服务机构信息表").Table For Each c As Col In t.Cols For Each ctl As WinForm.Control In e.Form.Controls If ctl.Name.Contains(c.Name) Then Select ctl.Gettype.Name Case "CheckBox","RadioButton" t.Current(c.Name) = e.Form.Controls(ctl.Name).Checked Case Else t.Current(c.Name) = e.Form.Controls(ctl.Name).Value End Select End If Next Next e.Form.Controls("基层法律服务机构信息表").Table.DataTable.Save |
-- 作者:有点甜 -- 发布时间:2014/4/28 9:14:00 -- 以下是引用花开的声音在2014-4-27 23:30:00的发言:
还有一个导航栏,这个影响不,要不要排除,怎么排除?
如果想排除的话可以这样。关键代码
Dim t As Table = Tables("表A")
For Each ctl As WinForm.Control In e.Form.Controls
If t.Cols.Contains(ctl.Name) Then
msgbox(ctl.Gettype.Name)
t.Current(ctl.Name) = e.Form.Controls(ctl.Name).Value
End If
Next
|
-- 作者:lsy -- 发布时间:2014/4/28 9:15:00 -- 不用排除的。 |