Foxtable(狐表)用户栏目专家坐堂 → 文本框绑定


  共有20047人关注过本帖树形打印复制链接

主题:文本框绑定

帅哥哟,离线,有人找我吗?
程兴刚
  31楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40550 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/1/26 12:31:00 [只看该作者]

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


 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  32楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9871 积分:57559 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2010/1/26 13:10:00 [只看该作者]

      谢谢程版,测试成功.但是我发现一个问题.因为你这个例子没有文本框显示数据的代码的.我在指定行打开窗口后点击文本框时,表中的数据会删除.后来加入了MR725兄的显示代码后就好了,但是表和文本框不能同步,能同步就好了.


 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  33楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/1/26 13:23:00 [只看该作者]

表和文本框要同步,就不能在leave事件中设置了,在TextChanged事件中设置试一试~

 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  34楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40550 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/1/26 14:12:00 [只看该作者]


Validating事件代码改为:

if left(e.Sender.name,7) = "TextBox"
    dim n as integer = tables("表A").position
    dim xh as String = e.Sender.name.Replace("TextBox","")
    if n + val(e.Sender.name.Replace("TextBox",""))> 0 and n + val(e.Sender.name.Replace("TextBox",""))< DataTables("表A").DataRows.Count +1
        tables("表A").rows(n + val(e.Sender.name.Replace("TextBox",""))-1)("第一列") = e.Sender.text
    else
        MessageBox.show("超出主表范围")
    end if
end if


不判断超出主表行数范围出错!

全局事件的Enter事件加入以下代码:

if left(e.Sender.name,7) = "TextBox"
    dim n as integer = tables("表A").position
    dim xh as String = e.Sender.name.Replace("TextBox","")
    if n + val(e.Sender.name.Replace("TextBox",""))> 0 and n + val(e.Sender.name.Replace("TextBox",""))< DataTables("表A").DataRows.Count +1
        e.Sender.Value = tables("表A").rows(n + val(e.Sender.name.Replace("TextBox",""))-1)("第一列")
    else
        MessageBox.show("超出主表范围")
    end if
end if


表属性的PositionChanged事件增加如下代码:

Forms("窗口1").open()
dim n as integer = tables("表A").position
for i as Integer = 1 to 5
    if  n + i -1< DataTables("表A").DataRows.Count and n + i-1 > -1
        Forms("窗口1").Controls("TextBox" & i).Value = tables("表A").rows(n +i-1)("第一列")
    else
        Forms("窗口1").Controls("TextBox" & i).Value = nothing
    end if
next



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


 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  35楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40550 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/1/26 14:16:00 [只看该作者]

for i as Integer = 1 to 5  这里的5为您的文本框名称的最大编号,上述代码组合增减文本框仅需修改此处。

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  36楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9871 积分:57559 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2010/1/26 14:45:00 [只看该作者]

               ok,完美.本来我按照你的代码修改的差不多了,就是表事件没有做到,窗口的基本和你一样,当然是跟着你的修改的.如果狐爸能做到直接可以选项就漂亮了.

 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  37楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40550 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/1/26 15:18:00 [只看该作者]

以下是引用blackzhu在2010-1-26 14:45:00的发言:
               ok,完美.本来我按照你的代码修改的差不多了,就是表事件没有做到,窗口的基本和你一样,当然是跟着你的修改的.如果狐爸能做到直接可以选项就漂亮了.



        哈哈,大家的需求各有不同,啥都要他来完成有些牵强,能自己实现的还是可以自己实现,原则上,作为设计角度看,只要能实现,就尽量自己实现,这样灵活度才高,越是想设计过程简单一点,就可能会导致灵活度大大降低,因为都被贺老师的框框框死了,对与设计者,会越被束缚越紧(个人意见)。


 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  38楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9871 积分:57559 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2010/1/26 15:41:00 [只看该作者]

 但我们是菜鸟,越简单越好.

 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  39楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/1/26 19:22:00 [只看该作者]

程版楼主在32楼要求: 表和文本框不能同步,能同步就好了~  你的34楼实例好像不可以同步啊。

还有: Enter事件 有  MessageBox.show("超出主表范围")  为何 Validating事件 中还有重复呢?
[此贴子已经被作者于2010-1-26 19:29:22编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  40楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40550 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/1/26 19:26:00 [只看该作者]

呵呵,不能同步?楼主怎么没说?郁闷!

 回到顶部
总数 45 上一页 1 2 3 4 5 下一页