Foxtable(狐表)用户栏目专家坐堂 → 自动添加信息


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

主题:自动添加信息

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


加好友 发短信
等级:四尾狐 帖子:822 积分:5782 威望:0 精华:0 注册:2015/2/3 22:19:00
自动添加信息  发帖心情 Post By:2023/8/7 10:50:00 [只看该作者]

老师好,我想在第一列:姓名,输入信息,
第一列
张三
李四
王五
。。。

在第二列自动会添加下面信息
第二列
张三|职
张三|休
李四|职
李四|休
王五|职
王五|休
。。。

有参考代码吗?谢谢 

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


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/8/7 11:10:00 [只看该作者]

datacolchanged事件

If e.DataCol.Name = "第一列" Then 
    If e.DataRow.IsNull("
第一列"Then
        e.
DataRow("
第二列") = Nothing
    
Else
        e.
DataRow("
第二列") = e.DataRow("第一列") & "|职"
dim dr as datarow = e.datatable.find("第一列='" & e.DataRow("第一列") & "' and 第二列 ='" & e.DataRow("第一列") & "|休'")
if dr isnot nothing then
SystemReady = False
dr = e.datatable.addnew
dr("第一列") = e.DataRow("第一列")
dr("第二列") = e.DataRow("第一列") & "|"
SystemReady = true
en dif
    End If
End
 
If

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


加好友 发短信
等级:四尾狐 帖子:822 积分:5782 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2023/8/7 11:36:00 [只看该作者]

第二列只实现了自动添加了“姓名+|职”, 没有添加“姓名+|休”


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

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


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/8/7 12:00:00 [只看该作者]

if dr isnot nothing then
改为
if dr is nothing then

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


加好友 发短信
等级:四尾狐 帖子:822 积分:5782 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2023/8/8 10:09:00 [只看该作者]

谢谢老师,比如我想删掉第一列的 张三, 第二列: 张三|职,张三|休, 都需自动删掉,
这个代码需怎么修改下呢?

If e.DataCol.Name = "第一列" Then 
    If e.DataRow.IsNull("第一列") Then
        e.DataRow("第二列") = Nothing
    Else
        e.DataRow("第二列") = e.DataRow("第一列") & "|职"

Dim dr As DataRow = e.DataTable.find("第一列='" & e.DataRow("第一列") & "' and 第二列 ='" & e.DataRow("第一列") & "|休'")
If dr Is Nothing Then
SystemReady = False
dr = e.DataTable.addnew
dr("第二列") = e.DataRow("第一列") & "|休"
SystemReady = True
End If
    End If
End If

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


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/8/8 10:20:00 [只看该作者]

If e.DataCol.Name = "第一列" Then 
    If e.DataRow.IsNull("第一列") Then
        e.DataRow("第二列") = Nothing
e.DataTable.deletefor("第一列='" & e.oldvalue & "' and 第二列 ='" & e.oldvalue & "|休'")
    Else
        e.DataRow("第二列") = e.DataRow("第一列") & "|职"


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


加好友 发短信
等级:四尾狐 帖子:822 积分:5782 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2023/8/8 10:26:00 [只看该作者]

‘没删掉带 |休 的这个名字

If e.DataCol.Name = "第一列" Then 
    If e.DataRow.IsNull("第一列") Then
        e.DataRow("第二列") = Nothing
        e.DataTable.deletefor("第一列='" & e.oldvalue & "' and 第二列 ='" & e.oldvalue & "|休'")  ‘没删掉带 |休 的这个名字
    Else
        e.DataRow("第二列") = e.DataRow("第一列") & "|职"

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


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/8/8 10:30:00 [只看该作者]

必须给第一列赋值

dr = e.datatable.addnew
dr("第一列") = e.DataRow("第一列")
dr("第二列") = e.DataRow("第一列") & "|"

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


加好友 发短信
等级:四尾狐 帖子:822 积分:5782 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2023/8/8 10:56:00 [只看该作者]

dr = e.datatable.addnew
dr("第一列") = e.DataRow("第一列")  '这样第一列就有重复的名字了哦,还有另外的解决方法吗?
dr("第二列") = e.DataRow("第一列") & "|休"

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


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/8/8 10:57:00 [只看该作者]

如果是这样说明您的数据库设计的很不合理。

e.DataTable.deletefor("第一列='" & e.oldvalue & "' and 第二列 ='" & e.oldvalue & "|休'")
改为
e.DataTable.deletefor("第二列 ='" & e.oldvalue & "|休'")

 回到顶部