2012-02-02 6 views
2

私はLookUpEditコントロールを使用しています。私は、主キー(GUID)と人間が読める文字列の2つの列をバインドしました。人間が読むことのできる文字列を見たいだけですが、文字列値とその主キー値の関係を保持したいと思います。LookUpEditで代理キーを非表示にする

プルダウンで表示されているプラ​​イマリキーを非表示にすることはできません。私は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; 
} 

サロゲートキーを非表示にするにはどうすればよいですか? (のみDisplayMember ValueMemberで表示を隠す)

DevExpress社v11.1.6

答えて

0

私はフォームコンストラクタからDataBind()を呼び出していました。私はForm Loadイベントに電話を移動し、問題を解決しました。

0

あなたは方法は、そのフォーラムのリストに提案したことがありますか?つまり、Visibleをfalseに設定せず、むしろ明示的に表示する列をColumnsコレクションに追加します。お試しくださいColumns.Clear()あなたの列を追加します。または試してくださいPopulateColumns()Columns.RemoveAt(0);

+0

文字列値とその主キー値の間の関係を保持したいと思います。 –

関連する問題