Foxtable(狐表)用户栏目专家坐堂 → 关于CurrentTable


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

主题:关于CurrentTable

帅哥哟,离线,有人找我吗?
arthurshoe
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:265 积分:1806 威望:0 精华:0 注册:2014/3/29 9:27:00
关于CurrentTable  发帖心情 Post By:2014/10/22 1:10:00 [只看该作者]

做了一个窗体,里面有一个tab control,不同tab里面有绑定不同的表格,窗体的_click事件代码如下
With CurrentTable
    Select Case e.Sender.Name
        Case "add"
            .AddNew
        Case "delete"
            If .Current IsNot Nothing Then
                .Current.Delete
            End If
        Case "save"     
            If .DataTable.HasChanges Then
                .DataTable.Save
            End If  
    End Select
End With

三个按钮分别是增加,删除和保存

有个问题是加载完窗体后,如果原来currenttable不是指向tab control里面的任何table,上面的代码增删保存操作就错误了(增删保存到其他table了),
只有在窗体加载后点击tab变化,currenttable值才是正确的。
怎样在窗体加载后强制currenttable变化?还是针对这个问题有更好的解决方法?


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/10/22 8:02:00 [只看该作者]

不要用currenttable  指定Table
例如 tables("窗口1_Table1")    或者 tables("表A")

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


加好友 发短信
等级:童狐 帖子:265 积分:1806 威望:0 精华:0 注册:2014/3/29 9:27:00
  发帖心情 Post By:2014/10/22 16:20:00 [只看该作者]

我的tabcontrol 有5个页面,有5个table,那全局click不是要每一个判断?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/22 16:27:00 [只看该作者]

 根据tabcontrol的selectedPage属性,判断当前打开哪一个选项卡,从而对应的做操作。

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


加好友 发短信
等级:童狐 帖子:265 积分:1806 威望:0 精华:0 注册:2014/3/29 9:27:00
  发帖心情 Post By:2014/10/22 22:32:00 [只看该作者]

一打开窗口。。。我直接点击增加。。。这时的currenttable还是指向外面table。。我需要改变点击其他tab才能改变currenttable。。。
也就是说刚打开窗口。。。点击按钮有问题。。。点击过的话上面的代码就没有问题了。。。怎么修正了。。。谢谢!

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/22 22:39:00 [只看该作者]

 4楼已经跟说了,感觉tabcontrol当前选择的page去判断要往哪个表addnew。

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


加好友 发短信
等级:童狐 帖子:265 积分:1806 威望:0 精华:0 注册:2014/3/29 9:27:00
  发帖心情 Post By:2014/10/22 22:51:00 [只看该作者]

谢谢。。我直接把tab.selectpage.name的名称设成table的名字,代码改成
Dim tab As WinForm.TabControl = e.Form.Controls("基础资料")
With Tables(tab.SelectedPage.Name)
    Select Case e.Sender.Name
        Case "add"
            .AddNew
        Case "delete"
            If .Current IsNot Nothing Then
                .Current.Delete
            End If
        Case "save"     
            If .DataTable.HasChanges Then
                .DataTable.Save
            End If  
    End Select
End With


 回到顶部