博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
dev 中 字符串转中文拼音缩写,对grid列表进行模糊匹配,grid获取焦点行,gridlookupedit控件用拼音模糊匹配下拉选项...
阅读量:7106 次
发布时间:2019-06-28

本文共 1978 字,大约阅读时间需要 6 分钟。

番外篇:、

 

 //该方法是将字符串转化为中文拼音的首写字母大写,

public static string RemoveSpecialCharacters(string str)

{
try
{
if (string.IsNullOrWhiteSpace(str)) { return str; }
var result = Regex.Replace(str, "[^0-9A-Za-z]", "");
if (string.IsNullOrWhiteSpace(result)) { return "0"; }
return result;
}
catch (Exception ex)
{
//Logger.Error("移除字符串中的特殊字符", ex);
return string.Empty;
}
}

 

//在文本框中输入拼音,根据拼音匹配grid的数据

this.gdv_PQConfigure.ActiveFilter.NonColumnFilter

= string.Format("[NAME_PINYIN] like '%{0}%' OR [DEPT_PINYIN] like '%{0}%'", this.lentxt_Search.Text);    //NAME_PINYIN和DEPT_PINYIN是grid的felidname绑定的列名。

 

//grid获取焦点行

private void FocusRowColumn(GridView gdv, int rowHandle, string columnName)

{
gdv.FocusedRowHandle = rowHandle;
gdv.FocusedColumn = gdv.Columns[columnName];
gdv.ShowEditor();
}

 

 

//gridlookupedit用拼音模糊匹配下拉选项

private void User_FilterLookup(object sender)

{
GridLookUpEdit edit = sender as GridLookUpEdit;
GridView gridView = edit.Properties.View as GridView;
FieldInfo fi = gridView.GetType().GetField("extraFilter", BindingFlags.NonPublic | BindingFlags.Instance);
BinaryOperator op2 = new BinaryOperator("PINYIN", edit.AutoSearchText + "%", BinaryOperatorType.Like);
BinaryOperator op3 = new BinaryOperator("PINYIN", "%" + edit.AutoSearchText + "%", BinaryOperatorType.Like);
BinaryOperator op1 = new BinaryOperator("NAME", "%" + edit.AutoSearchText + "%", BinaryOperatorType.Like);     //name是要匹配的实体字段名
string filterCondition = new GroupOperator(GroupOperatorType.Or, new CriteriaOperator[] { op1, op2, op3 }).ToString();
fi.SetValue(gridView, filterCondition);
MethodInfo mi = gridView.GetType().GetMethod("ApplyColumnsFilterEx", BindingFlags.NonPublic | BindingFlags.Instance);
mi.Invoke(gridView, null);
}

 

//在事件中调用

private void repEditUser_EditValueChanging(object sender, DevExpress.XtraEditors.Controls.ChangingEventArgs e)

{
var _Handle = this.Handle;
BeginInvoke(new MethodInvoker(delegate ()
{
User_FilterLookup(sender);
}));
}

转载于:https://www.cnblogs.com/jiuyueBlog/p/9108563.html

你可能感兴趣的文章
ecshop 活动-》红包
查看>>
南开大学2017年数学分析高等代数考研试题
查看>>
全排列组合算法
查看>>
小米2S 小米手机如何手动升级到开发版
查看>>
android创建桌面快捷键shortcut
查看>>
【从零之三(更)】自己定义类中调用讯飞语音包错误解决的方法
查看>>
vim、gvim在windows下中文乱码的终极解决方式
查看>>
ConcurrentHashMap源码分析_JDK1.8版本
查看>>
puppet资源讲解——文件资源file
查看>>
zabbix监控mysql的设定过程
查看>>
终于搞定Linux的NAT即时生效问题
查看>>
python使用discover方法遍历所有要执行的用例
查看>>
【MySQL】《高性能MySQL》 学习笔记,第二章
查看>>
PHP Flash头像上传的实现方法
查看>>
【移动开发】Android Animation 动画效果总结
查看>>
div的显示和隐藏
查看>>
关于员工的个人职业发展
查看>>
MyBatis整体架构
查看>>
摄影技术基础(四)
查看>>
大型企业网络配置系列课程详解(一)---OSPF单区域配置与相关概念的理解
查看>>