Foxtable(狐表)用户栏目专家坐堂 → [求助]行状态的问题


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

主题:[求助]行状态的问题

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


加好友 发短信
等级:幼狐 帖子:190 积分:1593 威望:0 精华:0 注册:2013/1/6 19:46:00
[求助]行状态的问题  发帖心情 Post By:2017/9/5 17:02:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:行状态.png
图片点击可在新窗口打开查看

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

请教行状态的问题:

帮助中RowState提及行状态Detached,我建立了一个窗口和不同的按钮,不同的按钮Enabled状态代表着当前行的状态。无论怎改变行状态,始终未出现行状态Detached,请做示范。小狗到期,请贴出。

 

表的CURRENTCHANGED代码如下:

 

With Tables("窗口1_表A")
    If .Current.DataRow.RowState = DataRowState.ADDed Then
        e.Form.Controls("added").Enabled =False
    Else
        e.Form.Controls("added").Enabled =True
    End If
End With

With Tables("窗口1_表A")
    If  .Current.DataRow.RowState = DataRowState.Modified Then
        e.Form.Controls("Modified").Enabled =False
    Else
        e.Form.Controls("Modified").Enabled =True
    End If
End With

With Tables("窗口1_表A")
    If  .Current.DataRow.RowState = DataRowState.detached Then
        e.Form.Controls("Detached").Enabled =False
    Else
        e.Form.Controls("Detached").Enabled =True
    End If
End With
With Tables("窗口1_表A")
    If .Current.DataRow.RowState = DataRowState.Unchanged Then
        e.Form.Controls("Unchanged").Enabled =False
    Else
        e.Form.Controls("Unchanged").Enabled =True
    End If
End With


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


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

Detached 是没有添加进foxtable显示给你看的时候的状态。

 

如,datarowAdding事件里,状态就是Detached。


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


加好友 发短信
等级:幼狐 帖子:190 积分:1593 威望:0 精华:0 注册:2013/1/6 19:46:00
  发帖心情 Post By:2017/9/5 17:11:00 [只看该作者]

即在表中未显示前的时候?

显示后就是AddedModified

[此贴子已经被作者于2017/9/5 17:12:12编辑过]

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


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

以下是引用xh2207在2017/9/5 17:11:00的发言:
即在表中未显示前的时候?

 

是的。


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


加好友 发短信
等级:幼狐 帖子:190 积分:1593 威望:0 精华:0 注册:2013/1/6 19:46:00
  发帖心情 Post By:2017/9/6 11:47:00 [只看该作者]

可否在datarowadding中做个关于DETACHED的示范例子出来,帮助中关于这方面的内容太少了,不好理解。

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


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

以下是引用xh2207在2017/9/6 11:47:00的发言:
可否在datarowadding中做个关于DETACHED的示范例子出来,帮助中关于这方面的内容太少了,不好理解。

 

实际上用到这个状态的情况不多。你现在要做什么功能?


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


加好友 发短信
等级:幼狐 帖子:190 积分:1593 威望:0 精华:0 注册:2013/1/6 19:46:00
  发帖心情 Post By:2017/9/6 12:23:00 [只看该作者]

想根据行的状态控制窗口的新增、保存、删除等按键。即:新增行后必须保存才能继续操作新增、删除等其他按键。

如:With Tables("订货主表")
    If .Current IsNot Nothing AndAlso .Current.DataRow.RowState  = DataRowState.modified    Then  '新增加的行
        e.Form.Controls("保存").Enabled =True
        e.Form.Controls("主表新增").Enabled =False
        e.Form.Controls("修改").Enabled =False
      Else
           e.Form.Controls("保存").Enabled =False
        e.Form.Controls("主表新增").Enabled =True
        e.Form.Controls("修改").Enabled =True
       End If
End With


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


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

直接判断是否保存不就好了?

 

If .Current IsNot Nothing AndAlso .Current.DataRow.RowState  <> DataRowState.Unchanged Then  '如果不是保存的行,那就只显示保存按钮。


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


加好友 发短信
等级:幼狐 帖子:190 积分:1593 威望:0 精华:0 注册:2013/1/6 19:46:00
  发帖心情 Post By:2017/9/6 15:07:00 [只看该作者]

语句更好,更整洁。感谢你。

 回到顶部