一、长文本编辑中的问题
1、有人习惯按回车键,这样,本来的1行变成了2行、甚至3行,当然,此时除了第1行其他都是空的。
2、内容不同时分行输入(断行),如下月成本说明本来应该这样填写:
柴油费5000,民工费10000
却写成了这样:
柴油费5000,
民工费10000。
但不管怎样输入,在狐表中都还是一行,不会出现任何差错。
不过,有一个例外,就是输入“西北”和输入“西北”+回车,在狐表查找中是不一样的,前者是等于“西北”,后者只能是包含“西北”或like "西北*" 了。
二、狐表的bug
如果复制某一列到另一列,则上述第1种情况会出现2、3个空行,第2种情况的1行将占据2行。结果:本列的最后几行被不该出现的空行和断行挤掉了,造成数据错位和丢失,后果可想而知。
三、解决办法
被这些空行、断行折磨很久、浪费很多时间处理后(根本不能一次性复制、粘贴多列,否则就出错),觉得必须找到解决的办法。现在办法有了,与大家分享。
由于无法控制每人的输入,因此必须新建菜单按钮(取名清回车/清理回车),便于整理、备份,特别适合项目已经交付使用,而你又要在不终止使用的情况下对其进行大改,此时在原项目上加上这么一个按钮就显得非常重要了。
按钮代码如下(如果提示为0就不需要再次执行了):
Dim i As Integer =0
For Each dt As DataTable In DataTables
For Each dc As DataCol In dt.DataCols
If dc.IsString Then
For Each dr As DataRow In dt.DataRows
If dr(dc).Contains(chr(13) & chr(10)) Then
i=i+1
dr(dc)=dr(dc).replace(chr(13) & chr(10),"")
End If
Next
End If
Next
Next
messagebox.Show("本次清理了" & i & "个回车!","提示",MessageBoxButtons.ok, MessageBoxIcon.Information)
[此贴子已经被作者于2012-10-9 13:31:36编辑过]