我正在使用LookUpEdit控件。我绑定了两列,一个主键(GUID)和一个人类可读的字符串。我只希望人们看到人类可读的字符串,但我想保留字符串值和它的主键值之间的关系。
我似乎无法隐藏主键在下拉列表中显示。我尝试过DevExpress论坛,他们的proposed solution对我不起作用。所以我试着挂钩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
答案 0 :(得分:0)
您是否尝试过该论坛列表中建议的其他方法?即,不将Visible
设置为false,而是明确地将要显示的列添加到Columns
集合中。尝试Columns.Clear()
,然后添加您的列。或者尝试PopulateColumns()
然后Columns.RemoveAt(0);
答案 1 :(得分:0)
我从我的Form构造函数中调用了DataBind()
。我将调用移到Form Load
事件中,它解决了问题。