以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]剪切粘贴发现错误 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=2799) |
||||
-- 作者:kylin -- 发布时间:2009/5/15 16:06:00 -- [求助]剪切粘贴发现错误 数据是内部表 此主题相关图片如下:spximage.jpg [此贴子已经被作者于2009-5-17 11:18:31编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2009/5/15 16:10:00 -- 没有测试出来,做个例子让我测试测试看看。 |
||||
-- 作者:kylin -- 发布时间:2009/5/16 8:02:00 -- 应该是DataColChanged事件设置筛选代码发生了问题,如果不设置就不会发生问题 If e.DataCol.Name = "kh" Then If e.NewValue isnot nothing Then dim p as integer = Tables("ysmx").Position Tables("ysmx").Filter = "[kh]= \'"& e.DataRow("kh") &"\'or [kh] Is Null" Tables("ysmx").Position=p End If End If 例子如下:
[此贴子已经被作者于2009-5-16 8:05:29编辑过]
|
||||
-- 作者:mr725 -- 发布时间:2009/5/16 14:51:00 -- 1、Tables("ysmx").Position=p 晒选后p值可能隐藏了,Tables("ysmx").Position也许找不到原来的p值了,用output.show(Tables("ysmx").Position )测试两次的p值就知道了。 用这个来确定位置:不知道是不是你要确定刚录入行的位置? Dim t As Table = Tables("ysmx") For i As Integer = 0 To t.Rows.Count -1 If t.Rows(i)("kh") = "" Then Tables("ysmx").Position = i-1 Exit For End If Next 2、既然:If e.NewValue isnot nothing Then 就没有筛选中的 or [kh] Is Null ,奇怪的是,既是如此筛选的结果还是会有空值的行和kh]= \'"& e.DataRow("kh") &"\'的行并存的情况,也就是说fox可以同时筛选出两种条件的结果。 3、虽然提示错误了(见1楼)但是筛选并没有受影响。感觉foxtable有bug 4、剪切、粘贴空值没有任何反映。粘贴这个(前后无空格) kh]= \'"& e.DataR ,不会有反映。而粘贴这个:Filter = "[kh]= 或其他的代码部分,则会彻底崩溃!~???? 班门弄斧了。。。。呵呵 2 是我理解错了? 要保留空值的行,即便输入用~ [此贴子已经被作者于2009-5-16 15:41:20编辑过]
|
||||
-- 作者:kylin -- 发布时间:2009/5/16 17:52:00 -- 以下是引用mr725在2009-5-16 14:51:00的发言:
1、Tables("ysmx").Position=p 晒选后p值可能隐藏了,Tables("ysmx").Position也许找不到原来的p值了,用output.show(Tables("ysmx").Position )测试两次的p值就知道了。 用这个来确定位置:不知道是不是你要确定刚录入行的位置? Dim t As Table = Tables("ysmx") For i As Integer = 0 To t.Rows.Count -1 If t.Rows(i)("kh") = "" Then Tables("ysmx").Position = i-1 Exit For End If Next 2、既然:If e.NewValue isnot nothing Then 就没有筛选中的 or [kh] Is Null ,奇怪的是,既是如此筛选的结果还是会有空值的行和kh]= \'"& e.DataRow("kh") &"\'的行并存的情况,也就是说fox可以同时筛选出两种条件的结果。 3、虽然提示错误了(见1楼)但是筛选并没有受影响。感觉foxtable有bug 4、剪切、粘贴空值没有任何反映。粘贴这个(前后无空格) kh]= \'"& e.DataR ,不会有反映。而粘贴这个:Filter = "[kh]= 或其他的代码部分,则会彻底崩溃!~???? 班门弄斧了。。。。呵呵 2 是我理解错了? 要保留空值的行,即便输入用~ [此贴子已经被作者于2009-5-16 15:41:20编辑过] 谢谢你 |
||||
-- 作者:mr725 -- 发布时间:2009/5/16 20:37:00 -- kylin兄: 1、我刚又测试了你的代码,如果是先筛选 kh 列后,再开始 录入 或 复制粘贴 都没有问题; 2、我的代码没问题呀,可以 回到 刚才录入行的位置啊~ 此主题相关图片如下:hw1.gif [此贴子已经被作者于2009-5-16 21:19:42编辑过]
|
||||
-- 作者:kylin -- 发布时间:2009/5/17 11:09:00 -- 以下是引用mr725在2009-5-16 20:37:00的发言:
kylin兄: 1、我刚又测试了你的代码,如果是先筛选 kh 列后,再开始 录入 或 复制粘贴 都没有问题; 2、我的代码没问题呀,可以 回到 刚才录入行的位置啊~ [此贴子已经被作者于2009-5-16 21:19:42编辑过] 惭愧,我看错了代码 [此贴子已经被作者于2009-5-17 11:20:03编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2009/5/18 7:52:00 -- 这不是Bug,不要在DataColChanged事件中设置Filter属性。 |
||||
-- 作者:kylin -- 发布时间:2009/5/18 8:17:00 -- 以下是引用狐狸爸爸在2009-5-18 7:52:00的发言:
这不是Bug,不要在DataColChanged事件中设置Filter属性。 不是Bug的话,那就是这个原因了 |