以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]删除多行数据提示 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=63480) |
-- 作者:wumingrong1 -- 发布时间:2015/1/21 20:14:00 -- [求助]删除多行数据提示 我在表BeforeDeleteDataRow中写有以下命令;实现了对删除数据的控制。 但现在有一个问题就是:如果我是非该条纪录的所有者或者一级管理员、在选择了多行进行删除时(比如选择了5行),那么它会弹出5个提示、我该怎么修改以下命令才能实现只弹出一次提示。 If vars("删除")=False Then If _UserGroup <> "软件开发员" AndAlso _UserGroup <> "系统管理员" AndAlso _UserGroup <> "一级管理员" Then If e.DataTable.DataCols.Contains("操作记录_增加人员") Then If e.DataRow("操作记录_增加人员") <> _UserName Then e.Cancel = True \'禁止直接编辑该表 MessageBox.Show("你非【一级管理员 或 该纪录所有者】,无权进行删除!!!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Question) End If End If End If End If |
-- 作者:有点甜 -- 发布时间:2015/1/21 20:22:00 -- 做一个删除按钮,先判断一次,判断正确以后再执行删除。 |
-- 作者:wumingrong1 -- 发布时间:2015/1/21 20:29:00 -- 如果我所选择的行中既有当前用户所有的行、也有非当前用户所有的行呢?只判断一次的话,那么不就会出现遗漏吗? 能不能有办法把当前所选择的行先全部判断一次、如果其中包含有非当前用户所有的行,那么就最后才弹出提出一次提示?
[此贴子已经被作者于2015-1-21 20:39:48编辑过]
|
-- 作者:有点甜 -- 发布时间:2015/1/21 20:47:00 -- 循环选中的行,判断。
参考 http://www.foxtable.com/help/topics/1597.htm
|
-- 作者:wumingrong1 -- 发布时间:2015/1/22 10:08:00 -- 我有一个命令,想实现先删除某一列内容,在按要求填入数据;但是效果却是删除了内容、但没能把数据填写进去;我的命令该怎么修改? For Each r As Row In Tables("光功率登记表").rows If e.Form.Controls("对比类型").Text = "输出光功率对比" And ( r.IsNull(e.Form.Controls("后期").Text)=False OrElse r.IsNull(e.Form.Controls("前期").Text)=False ) Then DataTables("光功率登记表").ReplaceFor("对比光功率_输出光功率", Nothing) r("对比光功率_输出光功率") = val(r(e.Form.Controls("后期").Text)) - val(r(e.Form.Controls("前期").Text)) Else If e.Form.Controls("对比类型").Text = "输入光功率对比" And ( r.IsNull(e.Form.Controls("后期").Text)=False OrElse r.IsNull(e.Form.Controls("前期").Text)=False ) Then DataTables("光功率登记表").ReplaceFor("对比光功率_输入光功率", Nothing) r("对比光功率_输入光功率") = val(r(e.Form.Controls("后期").Text)) - val(r(e.Form.Controls("前期").Text)) End If End If Next [此贴子已经被作者于2015-1-22 10:08:21编辑过]
|
-- 作者:有点甜 -- 发布时间:2015/1/22 10:18:00 -- DataTables("光功率登记表").ReplaceFor("对比光功率_输出光功率", val(r(e.Form.Controls("后期").Text)) - val(r(e.Form.Controls("前期").Text))) |
-- 作者:有点甜 -- 发布时间:2015/1/22 10:19:00 -- 或者,直接写,因为你已经循环每一列了。
r("对比光功率_输出光功率") = val(r(e.Form.Controls("后期").Text)) - val(r(e.Form.Controls("前期").Text))
|
-- 作者:wumingrong1 -- 发布时间:2015/1/22 10:35:00 -- 我有一个命令来作为显示当前表的所有列名作为列表项目的选项;如果我希望在这个命令中加入过滤条件、用于过滤掉某几列的名称;我的命令该怎么改? If CurrentTable IsNot Nothing Then Dim cs As String = "" For Each c As Col In CurrentTable.Cols cs &= c.Name & "|" Next e.Sender.ComboList = cs.TrimEnd("|") End If |
-- 作者:有点甜 -- 发布时间:2015/1/22 10:55:00 -- If CurrentTable IsNot Nothing Then
Dim cs As String = ""
For Each c As Col In CurrentTable.Cols
If c.Name <> "第一列" AndAlso c.Name <> "第二列" Then
cs &= c.Name & "|"
End If
Next
e.Sender.ComboList = cs.TrimEnd("|")
End If |
-- 作者:wumingrong1 -- 发布时间:2015/1/22 11:33:00 -- 排序按钮公式如下,我的命令该如何修改才能确保当其中某些【排序*】控件为空时不会弹出错误? CurrentTable.Sort = " "& e.Form.Controls("排序1").Text &" ,"& e.Form.Controls("排序2").Text &" ,"& e.Form.Controls("排序3").Text &" ,"& e.Form.Controls("排序4").Text &" ,"& e.Form.Controls("排序5").Text &" ,"& e.Form.Controls("排序6").Text &" "
[此贴子已经被作者于2015-1-22 11:34:05编辑过]
|