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