如何在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;
}
这样就可以了!即使你输入的是全角下的数据,当你将鼠标移动到下一个要输入数据的位置时,该数据就会自动转换为半角下的数据!