首页 > 解决方案 > 如何按值成员搜索存储库?

问题描述

如何通过搜索值成员将文本设置为 repositoryLookupedit?grade当我键入显示成员的值成员时,我想要的是在列中。E.g当我输入1它时,将等级列设置为D

在此处输入图像描述

这是我的代码

   private void Form1_Load(object sender, EventArgs e)
    {
        DataTable dt = new DataTable();
        dt.Columns.Add("Grade", typeof(string));
        dt.Columns.Add("Value", typeof(int));
        dt.Rows.Add("A", 4);
        dt.Rows.Add("B", 3);
        dt.Rows.Add("C", 2);
        dt.Rows.Add("D", 1);
        repositoryItemLookUpEdit1.DataSource = dt;
        repositoryItemLookUpEdit1.DisplayMember = dt.Columns["Grade"].ToString();
        repositoryItemLookUpEdit1.ValueMember = dt.Columns["Value"].ToString();
        repositoryItemLookUpEdit1.NullText = "";
        repositoryItemLookUpEdit1.PopupFormMinSize = new Size(100, 50);

        DataTable dt2 = new DataTable();
        dt2.Columns.Add("colA", typeof(String));
        dt2.Columns.Add("colB", typeof(String));
        dt2.Columns.Add("colC", typeof(String));
        for(int i =0; i < 15; i++)
        {
            dt2.Rows.Add(i.ToString() + "a", i.ToString() + "b", i.ToString()+"c");
        }
        gridControl1.DataSource = dt2;
        gridView1.BeginUpdate();
        DataColumn col2 = dt2.Columns.Add("Grade", typeof(int));
        GridColumn column2 = gridView1.Columns.AddVisible(col2.ColumnName);
        column2.Caption = col2.Caption;
        column2.Name = col2.ColumnName;
        gridView1.EndUpdate();
        gridView1.Columns["Grade"].ColumnEdit = repositoryItemLookUpEdit1;
    }

我尝试的是在 gridview 事件中添加代码。但它不起作用

 private void gridView1_KeyDown(object sender, KeyEventArgs e)
    {            
        if(e.KeyValue == 49)
        {
            gridView1.SetFocusedRowCellValue("Grade", 1);
        }
    }

标签: c#winformsdevexpress

解决方案


您可以尝试 SearchLookUpEdit 而不是简单的 LookUpEdit。SearchLookUpEdit 提供多种搜索选项。


推荐阅读