【问题标题】:Hide the Surrogate key in LookUpEdit在 LookUpEdit 中隐藏代理键
【发布时间】:2012-02-02 20:50:55
【问题描述】:

我正在使用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

【问题讨论】:

    标签: c# winforms devexpress


    【解决方案1】:

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

    【讨论】:

    • 我想保留字符串值和它的主键值之间的关系。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2014-10-07
      • 1970-01-01
      • 1970-01-01
      • 2011-03-24
      • 1970-01-01
      • 2012-12-16
      • 2011-04-21
      • 2017-03-19
      • 2020-09-17
      相关资源
      最近更新 更多