2017-01-29 9 views
0

WPFプロジェクトにmySQLデータベースに接続し、テーブルクライアントのすべての情報を取得する関数があります。ComboBoxメンバーパス(C言語)#

クライアントIDの値とクライアント名を表示するクライアントタイプのバインドリストを作成しています。

表示メンバーのパスを2つの列に設定する簡単な方法はありますか?クライアントの名前と番号は、コードを必要とせずに直接かつ簡単に連結されていますか?表を作成し、これらの2つのフィールドを結合する列を追加し、新しい列名になるように表示を設定する必要はありません。

public void GetClientsList() 
    { 
    BindingList<client> Clients = new BindingList<client>(); 

    try 
    { 
     using (smsdbmsEntities context = new smsdbmsEntities()) 
     { 
      var query = (from r in context.clients.AsEnumerable() 
         select r).ToList(); 

      foreach (var x in query) 
      { 
       Clients.Add(x); 
      } 

      cb_ClientList.ItemsSource = Clients; 

      cb_ClientList.DisplayMemberPath = "Name"; 
      cb_ClientList.SelectedValuePath = "CID"; 
     } 
    } 
    catch (Exception ex) 
    { 
     MessageBox.Show("Cannot get Clients! " + ex.ToString()); 
    } 
} 
+0

'client'オブジェクトでget-onlyで連結された値を返す' string'プロパティをいつでも使うことができますか?次に、これを使用するようにディスプレイメンバーパスを設定します。 –

答えて

0

次のようにしてください(NotMapped属性を使用して、モデルクラスの場合はデータベースに列を作成する必要はありません)。

[NotMapped] 
public string ClientInfo 
{ 
    get { return string.Format("{0} {1}", Name, NumberOfClients); } 
} 

DisplayMemberPathというプロパティでClientInfoをバインドします。