以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- AfterSelRangeChange (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=127033) |
-- 作者:yetle -- 发布时间:2018/11/3 14:13:00 -- AfterSelRangeChange AfterSelRangeChange If vars("stop") = True Then Return If ModifierKey <> Keys.Control Then For Each p As String In ps If p >= 0 Then For i As Integer = 1 To e.Table.Cols.count e.Table.Grid.SetCellStyle(p+1, i, "") Next End If Next ps.clear End If For i As Integer = e.NewRange.TopRow To e.NewRange.BottomRow Dim p As String = i If i >= 0 AndAlso ps.contains(p) = False Then ps.add(p) End If Next For Each p As String In ps If p >= 0 Then Dim s As C1.Win.C1FlexGrid.CellStyle = e.Table.grid.Styles.Add("selected") s.backcolor = Color.red \'背景 For i As Integer = 1 To e.Table.Cols.count e.Table.Grid.SetCellStyle(p+1, i, s) Next e.Table.DataTable.SysStyles("Focus").BackColor = Color.red End If Next .NET Framework 版本:2.0.50727.3655 Foxtable 版本:2018.10.9.1 错误所在事件: 详细错误信息: 在 Range 对象中,Min (48)必须小于或等于 max (-1)。 |
-- 作者:有点蓝 -- 发布时间:2018/11/3 14:18:00 -- 上传具体实例测试 |
-- 作者:yetle -- 发布时间:2018/11/5 11:54:00 -- 这个问题排查出来了,是currentchanged条件问题,可是有时候选择行的时候会出现下提示: .NET Framework 版本:2.0.50727.3655 Foxtable 版本:2018.10.9.1 错误所在事件:配色表,AfterSelRangeChange 详细错误信息: 索引超出范围。必须为非负值并小于集合大小。 参数名: index [此贴子已经被作者于2018/11/5 11:54:29编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/11/5 12:22:00 -- 这个问题,必须实例发上来测试。 |
-- 作者:yetle -- 发布时间:2018/11/6 10:03:00 -- 测试是由这段代码引起的 If Forms("大货用量表").Opened() \'一定要判断用于模拟关联表的窗口是否已经打开 Dim t As Table = Tables("配色表") Dim b As Table = Tables("配码表") With Tables("大货用量表_Table1") If .rows.count > 0 Then \'如果选定区域包括数据行 Dim ids As String = "" For i As Integer = .TopPosition To .BottomPosition ids &= "\'" & .Rows(i)("物料基本信息_物料ID") & "\'," Next t.Filter = "物料ID in (" & ids.trim(",") & ") " b.Filter = "物料ID in (" & ids.trim(",") & ") " End If End With t.sort = "颜色信息" b.sort = "尺码信息" End If
|
-- 作者:有点甜 -- 发布时间:2018/11/6 10:16:00 -- beforesort、aftersort 你写代码设置 vars("stop") 了没有?
具体出错实例发上来测试才行。 |