日期:2014-05-18  浏览次数:20723 次

※※※如何把TextBox分成3列,列中间用竖线分开?
如何把TextBox分成3列,第一列存放“区号”,第二列存放“电话号码”,第三列存放“分机号”,列中间用竖线分开,这3个列都存放在一个字段里,不让用3个TextBox,请问有什么办法可以实现或代替?

------解决方案--------------------
this.TextBox1.Text = "010|12345678|2345";
------解决方案--------------------
那你只有把 读取出来的 三个数据进行拼接了。。。
然后再给 textbox 赋值。。。

你可以写个方法传入三个字符串然后返回 一个字符串。。。
方法体里面写 拼接字符串。。。
这样就可以了
------解决方案--------------------
up
------解决方案--------------------
好像没法子吧,只能模拟出来,用三个输入框,把所有的边线全部隐藏掉,并把显示方式调成平面的,另外在这三个输入框外面套一个span,或者其它的也行,把span的样式设成输入框的样子。这样的话看起来是没问题的,用户不至于会看你的源码吧?需要注意的是还要设置最大输入长度,要不一超长就漏馅了,遇上这样的需求你也真够倒霉的。

还有,如果只在IE中,可以用可编辑的Div等元素模拟,那就不用输入框了,但需要一个隐藏域保存值,Firefox下没试过。
------解决方案--------------------
用三个Textbox吧,要不可能得自己写控件了,或者通过JS应该也可以实现,TextChange事件中判断,长度等于三时加一“|”……
------解决方案--------------------
up
------解决方案--------------------
探讨
用三个Textbox吧,要不可能得自己写控件了,或者通过JS应该也可以实现,TextChange事件中判断,长度等于三时加一“|”……

------解决方案--------------------
你说的要求可能不太好实现
------解决方案--------------------
UP
------解决方案--------------------
写个自定义控件吧,把三个TextBox放一起,限制好长度和输入类型
------解决方案--------------------
写个自定义控件。
设置属性,取属性。
比着葫芦画个飘。
------解决方案--------------------
有思路照着自己写
这样利于成长
哈哈。。
------解决方案--------------------
不用这么麻烦
   那里放3个textbox 更新的时候 在updating事件中 加上如下代码:
TextBox 区号 = this.detailsview1.findcontrol("区号") as textbox
TextBox 电话 = this.detailsview1.findcontrol("电话") as textbox
TextBox 分机号 = this.detailsview1.findcontrol("分机号") as textbox
e.NewValues["tel"] = 区号.text + "-" + 电话.text + "-" + 分机号.text

这样就可以更新字段tel了
------解决方案--------------------
加入:\r\n
------解决方案--------------------
弄个用户控件
给它造一个呗