以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]选定表中位置的单元格Select方法 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=74371) |
-- 作者:dogman -- 发布时间:2015/9/9 16:00:00 -- [求助]选定表中位置的单元格Select方法 问题1: 选定表中位置的单元格Select方法,只能用在Table范围中吗?比如:CurrentTable.Select(CurrentTable.Rowsel, CurrentTable.Cols("客户").Index),选定当前表的当前行的“客户”列单元格 这一句只能放在StartEdit等的编辑事件中,不能放在DataColChanging的数据事件中吗? 放在DataColChanging中的话会选定其他列,真怪。 问题2: 表编辑事件StartEdit的中的代码如下: If e.Row.IsNull("客户") = True Then e.Cancel = True MessageBox.Show(" 请先输入""客户""!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) CurrentTable.Select(CurrentTable.Rowsel,CurrentTable.Cols("客户").Index) End If 其他测试没问题,但是当选定一整行按Del键后,就会不厌其烦的跳出对话框。怎么解决呢? 补充一下: StartEdit全部代码如下: Select Case e.Col.Name Case "客户", _ "员工姓名" Case Else If e.Table.Value = Nothing Then If e.Row.IsNull("员工姓名") = True Then e.Cancel = True MessageBox.Show(" 请先输入""员工姓名""!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) CurrentTable.Select(CurrentTable.Rowsel,CurrentTable.Cols("员工姓名").Index) End If If e.Row.IsNull("客户") = True AndAlso e.Row.IsNull("员工姓名") = False Then e.Cancel = True MessageBox.Show(" 请先输入""客户""!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) CurrentTable.Select(CurrentTable.Rowsel, CurrentTable.Cols("客户").Index) End If End If End Select [此贴子已经被作者于2015/9/9 16:23:17编辑过]
|
-- 作者:大红袍 -- 发布时间:2015/9/9 17:25:00 -- 问题1:可以放在DataColChanging事件
Tables("表名").Select(Tables("表名").Rowsel, Tables("表名").Cols("客户").Index)
问题2:去编写keydown事件,检查如果是del键,就设置一个变量,不弹出对话框。
If e.KeCode = Keys.Delete Then Vars("不弹出") = true Else Vars("不弹出") = False End If
|
-- 作者:dogman -- 发布时间:2015/9/10 13:55:00 -- 谢谢! Vars的思路给我开阔了眼界。
|