在LookUpEdit中隐藏“代理”键

本文关键字:代理 隐藏 LookUpEdit | 更新日期: 2023-09-27 18:22:31

我正在使用LookUpEdit控件。我绑定了两列,一个主键(GUID)和一个可读字符串。我只想让人们看到人类可读的字符串,但我想保留字符串值和它的主键值之间的关系。

我似乎无法隐藏显示在下拉列表中的主键。我试过DevExpress论坛,但他们提出的解决方案对我不起作用。所以我试着加入ListChanged活动。这也不起作用。

private void DataBind()
{
    messageTypeCbB.ListChanged += new ListChangedEventHandler(messageTypeCbB_ListChanged);
    messageTypeCbB.Properties.DataSource = viewModel.SomeNoteTypes.ToArray();
    //another attempt at hiding the columns.  This fails too.  
    //messageTypeCbB.Properties.ForceInitialize();
    //messageTypeCbB.Properties.PopulateColumns();
    //messageTypeCbB.Properties.Columns[0].Visible = false;
    messageTypeCbB.Properties.DisplayMember = "NodeType";
    messageTypeCbB.Properties.ValueMember = "SomeNoteType_ID";
    fromTxt.Text = viewModel.From;
    dateTimeDd.DateTime = viewModel.Date;
}
void messageTypeCbB_ListChanged(object sender, ListChangedEventArgs e)
{            
    //For whatever reason this won't hide the column
    (sender as DevExpress.XtraEditors.LookUpEdit).Properties.Columns[0].Visible = false;
}

如何隐藏代理密钥?(隐藏ValueMember仅显示DisplayMember)

DevExpress v11.1.6

在LookUpEdit中隐藏“代理”键

您是否尝试过论坛列表中建议的其他方法?即不将CCD_ 2设置为false,而是明确地将要显示的列添加到CCD_。请尝试Columns.Clear(),然后添加您的列。或者先尝试PopulateColumns(),然后尝试Columns.RemoveAt(0);

我从Form构造函数调用DataBind()。我将调用转移到Form Load事件中,它解决了问题。