SearchLookUpEdit 和 GridLookUpEdit

SearchLookUpEdit 和  GridLookUpEdit


 

基础数据:

 

复制代码
 public class Product
    {
        public int Id { get; set; }
        public string Model { get; set; }
        public string Name { get; set; }
    }
   public class Entility 
   {
       private static string GetChar(int number)
       {
           string[] array = new string[] { "A","B","C","D","E","F","G","H","I"};
           string result = array[number % 9];
           return result;
       }
       private static string GetName(int number)
       {
           string[] array = 
           {
               "Unitch数据采集器","MS扫描枪","105SL","TSC","PH880","MS320便携式打印机","PA700","DSX800电脑","HP打印机"
           };
           string result = array[number % 9];
           return result;
       }

       public static List<Product> GetProductList() 
       {
           List<Product> list = new List<Product>();
           for (int i = 0; i < 200; i++)
           {
               Product product = new Product() 
               {
                   Id=100+i,Model=GetChar(i)+i.ToString()+"DLJ",Name=GetName(i)+i.ToString()
               };
               list.Add(product);
           }
           return list;
       }
复制代码

 

 

 

一.SearchLookUpEdit控件使用: 感觉此控件是否高大上。

数据绑定 和 在前面添加行号索引

复制代码
   private void Form3_Load(object sender, EventArgs e)
        {
            List<Product> list = Entility.GetProductList();
            searchLookUpEdit1.Properties.DataSource = list;
            searchLookUpEdit1.Properties.DisplayMember = "code";
            searchLookUpEdit1.Properties.ValueMember = "code";
            searchLookUpEdit1.Properties.NullText = @"请选择";
         }

        private void searchLookUpEdit1View_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e)
        {
            if (e.RowHandle >= 0 && e.Info.IsRowIndicator)
            {
                e.Info.DisplayText = (e.RowHandle + 1).ToString();
            }
        }
复制代码

添加数据列:

简单属性:

  //双击显示下拉列表
            searchLookUpEdit1.Properties.ShowDropDown = ShowDropDown.DoubleClick;
            searchLookUpEdit1.Properties.ImmediatePopup = true;//显示下拉列表
            searchLookUpEdit1.Properties.TextEditStyle = TextEditStyles.DisableTextEditor;//此控件不允许输入
            searchLookUpEdit1.Properties.NullText = "";//清空默认值


二.GridLookUpEdit控件简单使用 效果:

数据绑定:

  List<Product> list = Entility.GetProductList();
  gridLookUpEdit1.Properties.DataSource = list;

添加显示的数据列:并进行数据绑定   设置列的宽度

GridLoolUpEdit 默认  是根据 DisplayMember 绑定的字段  进行模糊筛选。

设置根据多列筛选功能: 

复制代码
  private void 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 op1 = new BinaryOperator("Id", "%" + edit.AutoSearchText + "%", BinaryOperatorType.Like);
            BinaryOperator op2 = new BinaryOperator("Model", "%" + edit.AutoSearchText + "%", BinaryOperatorType.Like);
            BinaryOperator op3 = new BinaryOperator("Name", "%" + edit.AutoSearchText + "%", BinaryOperatorType.Like);
            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 gridLookUpEdit1_EditValueChanging(object sender, DevExpress.XtraEditors.Controls.ChangingEventArgs e)
        {
            BeginInvoke(new MethodInvoker(delegate()
            {
                FilterLookup(sender);

            }));
        }
复制代码

对筛选的列 显示行号

复制代码
        private void gridLookUpEdit1View_CustomDrawRowIndicator(object sender, RowIndicatorCustomDrawEventArgs e)
        {
            if (e.Info.IsRowIndicator && e.RowHandle >= 0)
            {
                e.Info.DisplayText = (e.RowHandle + 1).ToString();
            }
        }
复制代码

一些简单的属性设置:

     //双击显示下拉列表
            gridLookUpEdit1.Properties.ShowDropDown = ShowDropDown.DoubleClick;
            gridLookUpEdit1.Properties.ImmediatePopup = true;//显示下拉列表
            gridLookUpEdit1.Properties.TextEditStyle = TextEditStyles.Standard;//允许输入
            gridLookUpEdit1.Properties.NullText = "";//清空默认值

设置下拉列表宽度


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: "searchlookupedit" 是一个英文短语,由三个单词组成,分别是"search"、"lookup"和"edit"。这些单词都是与信息搜索和处理相关的。 "search"(搜索)指的是查找特定信息的行为。当我们在互联网上使用搜索引擎或在电脑上的文件中查找特定内容时,我们就在进行搜索。 "lookup"(查询)是指在数据存储(如数据库、目录或字典)中查找特定信息的行为。这通常是通过关键字或其他特定的标识符来进行的,目的是获得相关的数据。 "edit"(编辑)是指对已查找或查询到的信息进行修改、更改或调整的行为。这可能包括修改文本、更改数据、调整格式或其他类似的操作。 综上所述,"searchlookupedit" 是关于信息搜索、查询和编辑的一个词组。它强调了当我们需要查找特定信息并对其进行编辑时所采取的操作和行为。这个词组通常用于描述在数据处理、信息管理或计算机科学领域中的相关任务和操作。 ### 回答2: searchlookupedit 指的是一个组合词,由三个词组成,分别是 searchlookupeditsearch(搜索)指的是通过提供关键词或条件,在数据库、网络或其他资源中寻找特定的信息或数据的过程。它可以用于在互联网上查找新闻、文档或其他相关信息,也可以用于在电子数据库中搜索特定的条目或记录。 lookup(查找)指的是在数据库或其他数据存储系统中根据特定的标识或关键字来查找特定的数据或记录。这些标识可以是唯一的ID、名称、日期等。通过查找功能,用户可以轻松快速地找到他们想要的具体数据。 edit(编辑)是指对已存在的数据或记录进行修改或更改的过程。通过编辑功能,用户可以更新数据的内容、更正错误、添加新的信息或删除不需要的信息。编辑通常包括修改文本、更改格式、插入图像或表格等操作。 综上所述,searchlookupedit 是一个涵盖了搜索、查找和编辑功能的术语。它可以用于描述在特定的系统、应用程序或平台上通过搜索特定关键词或条件来查找特定数据,并对找到的数据进行编辑和修改的过程。这个术语可以适用于各种计算机应用、数据库管理系统和网站设计中的数据处理和管理任务。 ### 回答3: "searchlookupedit" 是一个由三个单词组成的词组。每个单词代表着不同的行为和功能。 首先,"search" 表示搜索或查找。这个词通常用于描述在互联网上或电脑中寻找信息的过程。通过使用搜索引擎、数据库或特定的应用程序,人们可以输入关键词或问题来寻找他们感兴趣的内容。搜索可以帮助人们快速地找到所需的资料、答案、商品或服务。 接下来,"lookup" 是指查找。这个词常用于描述在表格、数据库或字典中寻找特定信息的过程。通过查找,人们可以根据某些标识符或条件定位并获取相应的数据。例如,在Excel中,我们可以使用VLOOKUP函数来在一列中查找一个值,并返回所需的相关信息。 最后,"edit" 意味着编辑。这个词用于描述修改、更改或调整文档、文件或信息的过程。可以通过文本编辑器、图像编辑器或其他类型的编辑工具进行编辑。例如,我们可以使用编辑软件修改文本内容、裁剪图像、调整字体和颜色等。 综上所述,"searchlookupedit" 表示在寻找、查询和编辑信息的过程中所采取的动作。这个词组可以应用于电脑技术、数据处理、网络搜索以及其他需要查找和编辑信息的场景中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值