Foxtable(狐表)用户栏目专家坐堂 → [分享]长文本编辑中的问题、狐表的bug及解决办法


  共有9311人关注过本帖平板打印复制链接

主题:[分享]长文本编辑中的问题、狐表的bug及解决办法

帅哥哟,离线,有人找我吗?
shenyl0211
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:977 积分:6835 威望:0 精华:0 注册:2012/4/2 21:49:00
[分享]长文本编辑中的问题、狐表的bug及解决办法  发帖心情 Post By:2012/10/9 12:48:00 [只看该作者]

一、长文本编辑中的问题

    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编辑过]

 回到顶部