以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  自动删除某列的空格  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=6197)

--  作者:cxabc123
--  发布时间:2010/3/16 15:08:00
--  自动删除某列的空格
狐表中,我向把姓名列设置一段代码,使姓名输入过程中即使出现空格,也能自动删除,请问哪位这个代码应该如何写
我编的是dim xm as string =e.datarow("姓名")
xm.Trim(" ")
,但是不起作用,达不到删除的目的

请哪位高手指导一下

--  作者:狐狸爸爸
--  发布时间:2010/3/16 15:17:00
--  

呵呵,心急吃不得热豆腐,你应该仔细看看帮助文件的。

放在ValidateEdit事件中:

If e.Col.Name = "姓名"
    e.Text = e.Text.REplace(" ","")
End If


--  作者:cxabc123
--  发布时间:2010/3/17 8:10:00
--  
谢谢指导
--  作者:cxabc123
--  发布时间:2010/3/17 8:11:00
--  
我刚购买了你们的开发版的狐表,设计了一套软件,想让你们给我发布以下,就等这一点程序了,就是编不好
--  作者:cxabc123
--  发布时间:2010/3/17 8:15:00
--  
我有一点不明白,



If e.Col.Name = "姓名"
    e.Text = e.Text.REplace(" ","")
End If

这段中为什么不用then
--  作者:cxabc123
--  发布时间:2010/3/17 8:29:00
--  
 dim xm as string =e.DataRow("姓名")
        e.DataRow("姓名")=xm.Replace(" ","")
我也于昨晚终于想出来了,这会试了一下,也能够执行了
dim xm as string =e.DataRow("姓名")
        xm=xm.Replace(" ","")
这一段为什么不能执行呢,

e.DataRow("姓名")与xm有什么区别?

--  作者:cxabc123
--  发布时间:2010/3/17 8:45:00
--  
帮助文件的重要环节我已经 看了两三遍了,有些地方还不是很明白
--  作者:狐狸爸爸
--  发布时间:2010/3/17 8:55:00
--  
呵呵,漏掉then,是手误,还有6楼的问题让人无法回答,你必须细看帮助,特别是foxtable编程这一章,而这一章的事件编程是重点中的重点
[此贴子已经被作者于2010-3-17 9:21:40编辑过]

--  作者:bjljb
--  发布时间:2010/3/17 9:30:00
--  
对于6楼的问题,我想如果能搞明白下面这段代码,就不难理解了:
Dim i As Integer = 5
i = i + 1
你说第二行代码等号两边的变量 i 能一样吗?

其实,楼主之所以被那两行代码搞糊涂了,是因为你少写了一行代码:
dim xm as string = e.DataRow("姓名")
xm = xm.Replace(" ","")
e.DataRow("姓名") = xm

搞明白这个问题以后,你的代码可以简化为:
e.DataRow("姓名")=e.DataRow("姓名").Replace(" ","")

--  作者:程兴刚
--  发布时间:2010/3/17 9:33:00
--  
以下是引用cxabc123在2010-3-17 8:29:00的发言:
 dim xm as string =e.DataRow("姓名")
        e.DataRow("姓名")=xm.Replace(" ","")
我也于昨晚终于想出来了,这会试了一下,也能够执行了
dim xm as string =e.DataRow("姓名")
        xm=xm.Replace(" ","")
这一段为什么不能执行呢,

e.DataRow("姓名")与xm有什么区别?


执行了,只是您看不见,您可以MessageBox.Show(xm)看看结果
原因很简单:xm是字符串  e.DataRow("姓名")是当前行的性名列,您没有分清主谓,差别在于您手里拿着100元钱和您兜里揣着100元钱的区别,一个是大家都看得见,一个只有您心里知道。