番外篇:、

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

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);
}));
}

dev 中 字符串转中文拼音缩写,对grid列表进行模糊匹配,grid获取焦点行,gridlookupedit控件用拼音模糊匹配下拉选项的更多相关文章

  1. Excel 2010 如何在Excel的单元格中加入下拉选项

    http://jingyan.baidu.com/article/03b2f78c4ba8a05ea237ae95.html 第一步:打开excel文档,选中需加入下拉选项的单元格.   第二步:点击 ...

  2. jsp代码中实现下拉选项框的回显代码

    用到了c标签库:首先要在jsp中导入jstl的核心库标签 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/js ...

  3. 需求:一个页面中需要用到多个字典数据。用于下拉选项,同时,需要将其保存为json格式。以便于key,value的相互转换。记录在实现过程中踩的坑

    本文涉及到的知识: Promise,all()的使用 js处理机制 reduce的用法 map的用法 同步异步 需求: 一个页面中需要用到多个字典数据.用于下拉选项,同时,需要将其保存为json格式. ...

  4. 实现Excel单元格中的下拉选项

    目的:控制数据录入的类型和具体数据的限制,避免数据错误输入 操作步骤: 1.选中需要设置下拉菜单的单元格 2.单击数据选项卡---数据有效性---设置选项卡---允许功能中选择序列---在来源编辑框中 ...

  5. 获取不到Repeater控件中的CheckBox选中状态

    写在前面的话:在做一个项目的时候,需要使用到Repeater控件,并且在Repeater控件内放置了CheckBox控件来标志需要删除的行,选中后,在后台取到的CheckBox的值总是为false.最 ...

  6. Winform中怎样根据Name获取同窗体的控件

    场景 在同一个Winform窗体中,点击一个Button按钮时, 获取同窗体的其他控件的属性. 首先需要对要获取的控件赋予Name属性,然后就可以通过Name进行获取. 实现 在Button的点击事件 ...

  7. Winform中实现跨窗体获取ZedGraph的ZedGraphControl控件对象

    场景 Winforn中设置ZedGraph曲线图的属性.坐标轴属性.刻度属性: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...

  8. DEV插件下的控件Grid和Gridlookupedit控件的结合使用

    创建GridlookupEtid控件 设置其对应属性: 设置属性 this.gridLookUpEdit1.Properties.TextEditStyle = DevExpress.XtraEdit ...

  9. 【C#】在窗体中水平居中的控件,到了XP下不居中的解决办法

    我时不时会遭遇这个操蛋问题,今天得闲研究了一下,解决如下: A.将窗体FormBorderStyle属性改为Fixed系,当然这会导致用户不能拖拉窗口大小,所以你可能需要B计划↓ B.确保在[VS]中 ...

随机推荐

  1. FastAdmin 关于列表渲染文字过长导致页面难以管理的问题

    先贴一张图片做个例子 看不清图片的朋友可以右键图片,在<新标签页中打开图片>; 可以看到,由于内容过长,导致后面操作的增删改要拉到最后才能操作. 在我们的FastAdmin中,目前我还没找 ...

  2. Jmeter请求非Json格式的参数如何添加

    Step1: 可以先在用户自定义变量中加入你需要添加的请求类型,具体参考图片 Step2: 在线程组下请求之前添加HTTP信息头管理器

  3. CodeForces - 337D 树形dp

    题意:一颗树上有且仅有一只恶魔,恶魔会污染距离它小于等于d的点,现在已经知道被污染的m个点,问恶魔在的可能结点的数量. 容易想到,要是一个点到(距离最远的两个点)的距离都小于等于d,那么这个点就有可能 ...

  4. Linux的一些命令总结

    启动终端: ctr+alt+t 终端字体放大: ctr+shift+'+',终端字体缩小: ctr+'-' ls: 查看当前目录下的文件信息 pwd: 查看目录所在的路径 touch: 创建文件 mk ...

  5. idea 右键没有class文件的问题,,

    修改文件夹的  属性  蓝色即为java代码,,绿色为test,,等等

  6. 70. SequenceInputStream(文件合并)

    缓冲输入字节流:----------------------| InputStream 输入字节流的基类----------------| FileInputStream  读取文件的输入字节流--- ...

  7. Thinkphp5获取文件上传信息

    Thinkphp5内置有处理文件上传的方法,因在开发文档没有找到获取上传文件基本信息的说明,故在这里做一下记录. $file = request()->file('input类型为file的na ...

  8. getElementsBy 系列方法相比querySelector系列的区别

    最近在做的项目中,使用querySelectorAll获取了同class名的元素后,绑定onmouseover事件和onmouseout后,多次在几个元素上移入移出操作时,控制台出现了报错的问题,最后 ...

  9. 【leetcode】967. Numbers With Same Consecutive Differences

    题目如下: Return all non-negative integers of length N such that the absolute difference between every t ...

  10. Python 直接赋值、浅拷贝和深度拷贝区别

    Python 直接赋值.浅拷贝和深度拷贝区别 转自https://www.runoob.com/w3cnote/python-understanding-dict-copy-shallow-or-de ...