如何在gridview与text中使用全半角切换

由于公司福利库在进行物资统计时主要是看物资编号,所以经常需要对物资编号进行排序,但如果用户使用的是全角输入的话,虽然编号看着一样,但全角输入的编号就会被排在后面,因此,我通过学习、查询资料,使用下面的代码,实现了全半角的切换,希望能给有此困惑的童鞋有所帮助!

全半角转换:

1.全半角转换的函数:

        public string ToDBC(string input)
        {
            char[] c = input.ToCharArray();
            for (int i = 0; i < c.Length; i++)
            {
                if (c[i] == 12288)
                {
                    c[i] = (char)32;
                    continue;
                }
                if (c[i] > 65280 && c[i] < 65375)
                    c[i] = (char)(c[i] - 65248);
            }
            return new string(c);
        }

2.在gridview中输入数据时,进行全半角切换的实现代码:

        private void gridView1_ValidatingEditor(object sender, DevExpress.XtraEditors.Controls.BaseContainerValidateEditorEventArgs e)
        {
            GridView view = sender as GridView;
            string input = view.EditingValue.ToString();
            if (input == null)
                return;
           input=ToDBC(input);
           e.Value = input;
        }

     3.在文本中输入数据时,进行全半角切换的代码:

        private void txtPhone_Validating(object sender, CancelEventArgs e)
        {
            string input = txtPhone.Text.ToString();
            if (input == null)
                return;
            input = ToDBC(input);
            txtPhone.Text = input;
        }

这样就可以了!即使你输入的是全角下的数据,当你将鼠标移动到下一个要输入数据的位置时,该数据就会自动转换为半角下的数据!

 

posted @ 2011-12-20 11:56  冰心xing  阅读(446)  评论(0编辑  收藏  举报