美文网首页
c#下拉框自己实现搜索实现优先级排序匹配

c#下拉框自己实现搜索实现优先级排序匹配

作者: 吉凶以情迁 | 来源:发表于2025-05-12 16:29 被阅读0次

c#自带了自动完成,但是不咋好用,匹配搜索功能很弱,只支持匹配开始。

      private void comboBox_TextChanged(object sender, EventArgs e)
        {


            Debug.WriteLine("sender" + sender);

            string keyword = comboBox.Text.Trim();
            if (string.IsNullOrEmpty(keyword)) {
          
                comboBox.Items.Clear();
                comboBox.Items.AddRange(allData.ToArray());
                comboBox.DroppedDown = true;
                return;
            }



            if (comboBox.SelectedItem != null &&
     comboBox.Text == comboBox.SelectedItem.ToString()) {
                Debug.WriteLine("sender,重复 忽略" + sender);
                return;
            }

            /
            var filtered = allData
                .Where(item => item.IndexOf(keyword, StringComparison.OrdinalIgnoreCase) >= 0)
                .OrderBy(item => {
                    if (item.StartsWith(keyword, StringComparison.OrdinalIgnoreCase)) return 0;
                    if (item.EndsWith(keyword, StringComparison.OrdinalIgnoreCase)) return 1;
                    return 2;
                })
                .ThenBy(item => item.Length)
                .ToList();
            comboBox.Items.AddRange(allData.ToArray());
            if (filtered.Count > 0) {
                comboBox.Items.Clear();
                comboBox.Items.AddRange(filtered.ToArray());
                comboBox.Select(comboBox.Text.Length ,1);
                comboBox.DroppedDown = true;

            }
            else {


                comboBox.Select(comboBox.Text.Length - 1, 1);
                comboBox.DroppedDown = false;
            }


        }

相关文章

  • 简洁的seo优化原则, 搜索引擎改善文章, 及插件的推荐

    按权重优先级排序如下: 1.标题关键词匹配 建议使用搜索引擎【相关搜索】和【下拉框】的长尾词来组合,切忌堆砌则被判...

  • Combox

    js实现带搜索功能的下拉框实时搜索实时匹配http://m.jb51.net/article/42813.htm

  • ios-Predicate介绍

    实现搜索 使用谓词实现分组排序

  • easyui常用方法

    1、下拉框“商品列表”实现 2、下拉框“客户列表”实现 3、下拉框“系统用户”实现 4、下拉框“物流公司”实现

  • 算法之二分查找

    排序算法 二分查找 用于有序元素列表的查找性能: Python实现: C#实现

  • 前端本地实现搜索排序

    排序实现:首先有一个排序选择框(按某个属性进行排序),排序的触发方法: 搜索实现:首先有一个搜索框,输入点击触发搜...

  • Python数据结构 第五章--排序和搜索

    本章目标: (1)了解和实现顺序搜索和二分法搜索。 (2)了解和实现选择排序、冒泡排序、归并排序、快速排序、插入排...

  • 基于Elasticsearch实现搜索建议

    搜索建议是搜索的一个重要组成部分,一个搜索建议的实现通常需要考虑建议词的来源、匹配、排序、聚合、关联的文档数和拼写...

  • Pycharm:简单的优先级实现_heapq

    ''' 利用heapq模块的heappop和heappush实现简易的优先级排序,可以简单了解下堆排序的原理 ''...

  • C# 实现经典排序算法

    C# 实现经典排序算法 using ElementType = System.Int32; // 顶部添加此行,为...

网友评论

      本文标题:c#下拉框自己实现搜索实现优先级排序匹配

      本文链接:https://www.haomeiwen.com/subject/evdmijtx.html