Foxtable(狐表)用户栏目专家坐堂 → [求助]帮忙修改一下这段小代吗


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

主题:[求助]帮忙修改一下这段小代吗

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


加好友 发短信
等级:幼狐 帖子:171 积分:1292 威望:0 精华:0 注册:2011/8/17 21:12:00
[求助]帮忙修改一下这段小代吗  发帖心情 Post By:2013/11/27 21:40:00 [只看该作者]

这是写在全局表事件StartEdit中的一段代吗,当我新增行进行编辑时,同样出现不准修改的提示,问题出在哪里呢。

Dim dr As DataRow = CurrentTable.Current.DataRow
If dr IsNot Nothing Then
    If dr("营销人员") <> User.Name Then
        MessageBox.Show("大哥,这不是你的记录,你无权修改哦")
        e.Cancel = True
    End If
Else
    If dr Is Nothing Then
       CurrentTable.AllowEdit = True
    End If
End If

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


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

 你新增一行的时候,你需要给这一行赋值。编写你的datarowadded事件。

 e.datarow("营销人员") = user.name

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


加好友 发短信
等级:幼狐 帖子:171 积分:1292 威望:0 精华:0 注册:2011/8/17 21:12:00
  发帖心情 Post By:2013/11/27 21:48:00 [只看该作者]

甜甜大师,这个情况还真有点不一样,我已经在表事件DataColChanged中加入了.
If e.DataCol.Name = "日期" Then
    e.DataRow("营销人员") = User.Name
    e.DataRow("操作员") = User.Name
    e.DataRow("统计列") = 1
End If

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


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

 无法这样,新增的时候就需要填入,不然无法操作。

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


加好友 发短信
等级:幼狐 帖子:171 积分:1292 威望:0 精华:0 注册:2011/8/17 21:12:00
  发帖心情 Post By:2013/11/27 21:54:00 [只看该作者]

也就是只有当我在日期列进行编辑时。才 e.DataRow("营销人员") = User.Name

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


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

除非你这样改

If e.Col.name <> "日期" Then
    Dim dr As DataRow = CurrentTable.Current.DataRow
    If dr IsNot Nothing Then
        If dr("营销人员") <> User.Name Then
            MessageBox.Show("大哥,这不是你的记录,你无权修改哦")
            e.Cancel = True
        End If
    Else
        If dr Is Nothing Then
            CurrentTable.AllowEdit = True
        End If
    End If
End If

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


加好友 发短信
等级:幼狐 帖子:171 积分:1292 威望:0 精华:0 注册:2011/8/17 21:12:00
  发帖心情 Post By:2013/11/27 22:10:00 [只看该作者]

太妙了,甜甜大师,我怎么想不到呢,呵呵

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2013/11/28 7:47:00 [只看该作者]

为啥不是  e.row 而是需要Dim dr As DataRow = CurrentTable.Current.DataRow

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/11/28 8:18:00 [只看该作者]

呵呵,是的,应该批评这种写法,不太严谨。

 

任何表事件,都不应该用currenttable,应该用e.table或e.dataTable,也不应该用Current,应该用e.row或e.DataRow

 


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


加好友 发短信
等级:幼狐 帖子:171 积分:1292 威望:0 精华:0 注册:2011/8/17 21:12:00
  发帖心情 Post By:2013/12/2 0:19:00 [只看该作者]

图片点击可在新窗口打开查看狐爸批评的好啊,谢谢啦

 回到顶部
总数 11 1 2 下一页