DevExpress控件使用交流,DevExpress中国社区Dev联系电话 联系电话:023-68661681

DevExpress Winforms使用技巧教程:查找编辑器-自动搜索模式

来源:   发布时间:2020-01-02   浏览:224次

下载DevExpress v19.2完整版    DevExpress v19.2汉化资源获取

DevExpress Winforms Controls 内置140多个UI控件和库,完美构建流畅、美观且易于使用的应用程序。在前面的教程文章中,技术团队宣传了针对DevExpress LookUpEdit和GridLookUpEdit控件新的AutoSuggest模式。 简而言之,AutoSuggest允许编辑器执行自定义任务来检索下拉菜单项(因此编辑器具有虚拟数据源,每次用户在查找文本框中输入值时,虚拟数据源都会更改)。大多数人将这个新功能用于空的、未绑定的编辑器。如果您的查找编辑器绑定到静态数据源,则源记录将仅在一种使用情况下显示:当文本框为空并且用户按下下拉按钮时。

DevExpress Winforms使用技巧教程

到目前为止,如果您希望用户搜索查找记录,则不得不使用earchLookUpEdit。 该编辑器满足了业务需求,但缺少当今用户对高级桌面应用程序所期望的一些现代功能。SearchLookUpEdit带有”locked”文本框,该文本框不允许用户通过键盘输入文本值,该文本框不允许用户通过键盘输入文本值。为了找到记录,它激活了一个下拉面板,并允许用户在其嵌入式查找面板中输入搜索条件。

DevExpress Winforms使用技巧教程

使用v19.2,您能够将LookUpEdit \ GridLookUpEdit编辑器绑定到数据源,将Properties.SearchMode更改为AutoSearch和voila:使用户能够在编辑器的文本框中输入搜索值——匹配的记录将自动显示在查找的下拉菜单中。

DevExpress Winforms使用技巧教程

每当实施一项新功能时,技术团队都会竭尽所能将核心功能扩展到多个产品中。例如,这项新的自动搜索功能将接受Find Panel所使用的相同语法。

DevExpress Winforms使用技巧教程

就像AutoSuggest一样,当用户输入文本值时,AutoSearch会触发自己的事件(AutoSearch事件)。 尽管您不需要处理事件(一切都可以直接使用),但已为您提供了在需要时进行处理的功能。例如您可以在事件处理程序中使用e.SetParameters方法来微调搜索结果,此方法接受两个参数,这些参数类似于WinForms数据感知控件中显示的Find Panels所使用的ParserKind和Condition属性:

using DevExpress.Data.Filtering;

private void LookUpEdit1_AutoSearch(object sender, LookUpEditAutoSearchEventArgs e)
{
e.SetParameters(FindPanelParserKind.And, FilterCondition.StartsWith);
}

DevExpress Winforms使用技巧教程

由于AutoSuggest和AutoSearch事件的参数均来自同一基类,因此适用自定义突出显示API,下面的示例说明了如何在与文本框中输入的值匹配时突出显示整个数据字段值。

DevExpress Winforms使用技巧教程

private void LookUpEdit1_AutoSearch(object sender, LookUpEditAutoSearchEventArgs e)
{
e.SetParameters(FindPanelParserKind.And, FilterCondition.StartsWith);
e.SetHighlightRanges(CustomHightlight(e.Text));
}

static Func<string, string, DisplayTextHighlightRange[]> CustomHightlight(string userText)
{
return (displayText, fieldName) =>
{
if (fieldName == "ShipCity" || fieldName == "ShipCountry")
{
if (displayText.StartsWith(userText))
return new DisplayTextHighlightRange[] {
new DisplayTextHighlightRange(0, displayText.Length) };
}
return null;
};
}


DevExpress v19.2全新发布,欢迎下载最新版体验哦~

DevExpress中文网官网QQ群:540330292      欢迎一起进群讨论

扫描关注DevExpress中文网微信公众号,及时获取最新动态及最新资讯

DevExpress中文网微信
本站文章除注明转载外,均为本站原创或翻译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:DevExpress控件中文网 [https://www.devexpresscn.com/]
本文地址:https://www.devexpresscn.com/post/1539.html

相关产品: DevExpress Universal Subscription,


联系我们
  • 重庆总部 023-68661681 400-700-1020
  • 北京公司 010-56705895
购买
  • sales@evget.com
合作
  • business@evget.com


在线
客服
在线
QQ
电话
咨询
400-700-1020
公众号 返回
顶部