Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DevExpress Winforms:如何在searchlookupedit框中设置正确的值?_C#_Winforms_Devexpress - Fatal编程技术网

C# DevExpress Winforms:如何在searchlookupedit框中设置正确的值?

C# DevExpress Winforms:如何在searchlookupedit框中设置正确的值?,c#,winforms,devexpress,C#,Winforms,Devexpress,所以现在我在我的winforms表单上有一个SearchLookUpEdit控件,我用我的employeeBO的填充了它(实际上是一个IdNameBO,只有员工的id和姓名)。当我选择一个值时,它知道所选的正确值/BO(因为我可以将数据完美地传递给其他方法/视图) 但是,在我的winforms上的SearchLookUpEdit控件中,它显示为textblablabla.Bo.IdNameBO 为什么会发生这种情况?如何设置要在SearchLookUpEdit控件中显示的所选员工的姓名 现在这是

所以现在我在我的winforms
表单上有一个
SearchLookUpEdit
控件,我用我的
employeeBO的
填充了它(实际上是一个
IdNameBO
,只有员工的id和姓名)。当我选择一个值时,它知道所选的正确值/BO(因为我可以将数据完美地传递给其他方法/视图)

但是,在我的winforms上的
SearchLookUpEdit
控件中,它显示为text
blablabla.Bo.IdNameBO

为什么会发生这种情况?如何设置要在SearchLookUpEdit控件中显示的所选员工的姓名

现在这是我所有的代码:

IEmployeeService employeeService = _controller.GetContainer().Resolve(typeof(IEmployeeService), "") as IEmployeeService;
_response = new Response<IdNameBO>();
_response = employeeService.GetSL();

searchLookUpEdit1.Properties.DataSource = _response.Values;
            searchLookUpEdit1.Properties.View.PopulateColumns(searchLookUpEdit1.Properties.DataSource);
searchLookUpEdit1.Properties.View.Columns["Id"].Visible = false;
searchLookUpEdit1.Properties.View.Columns["IsNew"].Visible = false;
searchLookUpEdit1.Properties.View.Columns["Display"].Caption = Resources.App.App.RegisterLblContactpersoon;  

您需要正确填写属性DisplayMember和ValueMember。
这些属性用于告诉SearchLookEdit从
properties.DataSource
中选择哪些字段用于显示和链接

在您的示例中,它可能需要类似这样的内容

searchLookUpEdit1.Properties.ValueMember = "Id";
searchLookUpEdit1.Properties.DisplayMember = "Display";
使用可视化设计器可以比在代码中更好地设置这些属性,因为您可以从列表中选择一列,至少如果您在列表中设置属性
Datasource

并使用设计器设置(DataBindings)属性,使用正确的columnname设置EditValue

(数据绑定)中存在差异。EditValue
EditValue


第一个用于告诉控件要绑定到哪个列,通常使用可视化设计器进行设置,第二个可用于设置/读取代码中的所选记录。

是否为此SearchLookupEdit?和
属性.DisplayMember
以及
属性.ValueMember
设置了
数据绑定.EditValue
属性?你设置了吗?我想是的,我已经编辑了我的问题,设置了这3个值,但不幸的是没有改变我在winform上看到的内容。不,你必须将Property DisplayMember设置为你想在SearchLookupEdit上看到的列的名称,而在Property ValueMember中,你应该设置保存键的列的名称
searchLookUpEdit1.Properties.ValueMember = "Id";
searchLookUpEdit1.Properties.DisplayMember = "Display";