简陋的会计凭证金额输入控件(再加强)[转]
2015-06-30 17:05
288 查看
using System; using System.ComponentModel; using System.Web.UI; using System.Web.UI.WebControls; namespace Voucher { [DefaultProperty("jText")] [ToolboxData(@"<{0}:VoucherInput jText = '' runat='server'></{0}:VoucherInput>") ] //设置默认的属性 public class VoucherInput : WebControl { private TextBox _TextBox; //整数位 private TextBox _PTextBox; //小数位 #region 属性 [ Bindable(true), Category("Appearance"), DefaultValue(""), Description("金额") ] public string jText { get { EnsureChildControls(); return _TextBox.Text + "." + _PTextBox.Text; } set { EnsureChildControls(); if (value == "" || value == null) { } else { string[] Allstring = value.Split('.'); _TextBox.Text = Allstring[0]; _PTextBox.Text = Allstring[1]; } } } #endregion Properties delegated to child controls #region 方法 protected override void CreateChildControls() { Controls.Clear(); _TextBox = new TextBox(); _TextBox.ID = "TextBox1"; _TextBox.MaxLength = 13; _TextBox.Width = 120; _TextBox.Height = 20; _TextBox.Attributes.Add("onkeypress", "keyPress()"); _TextBox.Style.Add(HtmlTextWriterStyle.BackgroundImage, "url(text.gif)"); _TextBox.Style.Add(HtmlTextWriterStyle.Direction, "rtl"); _TextBox.Style.Add(HtmlTextWriterStyle.BorderWidth, "0"); _PTextBox = new TextBox(); _PTextBox.Width = 15; _PTextBox.Height = 20; _PTextBox.MaxLength = 2; _PTextBox.ID = "PTextBox"; _PTextBox.Style.Add(HtmlTextWriterStyle.BackgroundImage, "url(textPoint.gif)"); _PTextBox.Style.Add(HtmlTextWriterStyle.BorderWidth, "0"); _PTextBox.Attributes.Add("onFocus", "PFocus()"); _PTextBox.Attributes.Add("onkeypress", "PkeyPress()"); this.Controls.Add(_TextBox); this.Controls.Add(_PTextBox); } protected override void Render(HtmlTextWriter writer) { AddAttributesToRender(writer); _TextBox.RenderControl(writer); _PTextBox.RenderControl(writer); writer.Write("<script language=javascript>function keyPress(){if(!(event.keyCode>=48&&event.keyCode<=57 ||event.keyCode==46 || event.keyCode==45)){event.keyCode = 0;}if(event.keyCode==46){event.keyCode = 0;document.getElementById('PTextBox').focus();}}</script>"); //对字符的控制 writer.Write("<script language=javascript>function PFocus(){ var box=document.getElementById('PTextBox'); var rng = box.createTextRange(); rng.collapse(true); rng.moveEnd('character',2); rng.moveStart('character',0); rng.select(); }</script>"); writer.Write("<script language=javascript>function PkeyPress(){if(event.keyCode==46){event.keyCode = 0;} if(!(event.keyCode>=48&&event.keyCode<=57 ||event.keyCode==46 || event.keyCode==45)){event.keyCode = 0;} }</script>"); } #endregion Overriden methods } }
相关文章推荐
- 在Activity和Service通讯中使用LocalBroadcastManage
- 其它联系方式和站点
- iOS8中设置application badge value 报错
- 给网站编辑MM写的简易代码情书
- UML类图
- 启动网页时候自动加载servlet如果不使用strus最常用的两种方式
- bzoj1063
- Android 色值
- VC6实现激活后台窗口最佳方法
- 关于高通AR vuforia 4.2.3在UNITY5.0中发布到安卓白屏的问题
- 程序中的@Override是什么意思?
- JS怎么刷新当前页面
- Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
- WGS84经纬度坐标与北京54坐标或者西安80坐标的关系
- 深入理解Servlet转发和重定向
- [unity3d]easytouch的使用
- 数据结构顺序表的操作全集(创建,遍历,插入,删除,排序等等)
- sqlserver在函数中使用临时表
- python中property干什么用的?
- GRE填空技巧:已知推未知