以文本方式查看主题
-
Foxtable(狐表)
(http://foxtable.net/bbs/index.asp)
--
专家坐堂
(http://foxtable.net/bbs/list.asp?boardid=2)
----
自动添加信息
(http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=187726)
-- 作者:cyrollin
-- 发布时间:2023/8/7 10:50:00
-- 自动添加信息
老师好,我想在第一列:姓名,输入信息,
第一列
张三
李四
王五
。。。
在第二列自动会添加下面信息
第二列
张三|职
张三|休
李四|职
李四|休
王五|职
王五|休
。。。
有参考代码吗?谢谢
-- 作者:有点蓝
-- 发布时间: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
-- 发布时间:2023/8/7 11:36:00
--
第二列只实现了自动添加了“姓名+|职”, 没有添加“姓名+|休”
此主题相关图片如下:11111111111.png
-- 作者:有点蓝
-- 发布时间:2023/8/7 12:00:00
--
if dr isnot nothing then
改为
if dr is nothing then
-- 作者:cyrollin
-- 发布时间: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
-- 作者:有点蓝
-- 发布时间: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
-- 发布时间: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("第一列") & "|职"
-- 作者:有点蓝
-- 发布时间:2023/8/8 10:30:00
--
必须给第一列赋值
dr =
e.datatable.addnew
dr("
第一列
")
= e.
DataRow
(
"
第一列
"
)
dr("
第二列
")
= e.
DataRow
(
"
第一列
"
) & "
|
休
"
-- 作者:cyrollin
-- 发布时间:2023/8/8 10:56:00
--
dr = e.datatable.addnew
dr("第一列") = e.DataRow("第一列")
\'这样第一列就有重复的名字了哦,还有另外的解决方法吗?
dr("第二列") = e.DataRow("第一列") & "|休"
-- 作者:有点蓝
-- 发布时间:2023/8/8 10:57:00
--
如果是这样说明您的数据库设计的很不合理。
e.DataTable.deletefor("第一列=\'" & e.oldvalue & "\' and 第二列 =\'" &
e.oldvalue
& "|休\'")
改为
e.DataTable.deletefor("第二列 =\'" &
e.oldvalue
& "|休\'")