0

私は、というクエリをComboBoxEditまたはLookUpEdit(好ましくは両方とも参照用)にアタッチしようとしている唯一のカラムがUrzadSkarbowyWojewodztwoの単純なテーブルを持っています。私はGUIからやりたくないと考えて、誰かがこれを行う方法を共有することはできますか?Devexpress LookUpEditとComboBoxEditへのバインディングエンティティフレームワーククエリ

私は複数の方法を試しましたが、毎回失敗しています。私は何かが欠けてると確信している... Entity Frameworkの4.0と結合

using (var context = new EntityBazaCRM(Settings.sqlDataConnectionDetails)) 
     { 
      IQueryable<UrzedySkarboweWojewodztwa> listaWojewodztw = from d in context.UrzedySkarboweWojewodztwas 
                 select d; 

      //lookUpEdit1.DataBindings.Add("EditValue", listaWojewodztw, "", true); 
      lookUpEdit1.DataBindings.Add("EditValue", listaWojewodztw, "UrzadSkarbowyWojewodztwo", true); 
      lookUpEdit1.Properties.DataSource = listaWojewodztw.ToList(); 
      lookUpEdit1.Properties.DisplayMember = "UrzadSkarbowyWojewodztwo"; 
      lookUpEdit1.Properties.ValueMember = "UrzadSkarbowyWojewodztwo"; 

      LookUpColumnInfo col = new LookUpColumnInfo("UrzadSkarbowyWojewodztwo", "Województwo", 100) { SortOrder = DevExpress.Data.ColumnSortOrder.Ascending }; 
      lookUpEdit1.Properties.Columns.Add(col); 

答えて

0

DevExpress社ComboBoxEditの1がpartial追加を作成する必要があるとEntity Frameworkのリストをバインドできるようにするには私たちがComboBoxEditに入れようとしているobjectと同じ名前のクラスです。そのクラスには、ユーザーのComboBoxEditに表示する値をToString()にオーバーライドする必要があります。

public partial class SzkolenieMiejsca : EntityObject { 
    public override string ToString() { 
     return _MiejsceSzkolenia; 
    } 
} 

その後、我々は単にComboBoxItemCollectionにオブジェクトを割り当てるとDevExpress社が残りの作業を実行します。

using (var context = new EntityBazaCRM(Settings.sqlDataConnectionDetailsCRM)) 
     { 
      IQueryable<SzkolenieMiejsca> listaMiejsc = from d in context.SzkolenieMiejscas 
                    select d; 


      ComboBoxItemCollection collection = comboBox.Properties.Items; 
      collection.BeginUpdate(); 
      foreach (var miejsce in listaMiejsc) 
      { 
       collection.Add(miejsce); 
      } 
      collection.EndUpdate(); 
      comboBox.SelectedIndex = -1; 
     } 
0

LinqServerModeベースのコンポーネントのサポートサーバモード:

Linq Server Mode and Entity Framework 4.0

LinqServerModeSourceの照会可能ソースとして使用するために必要な方法で、エンティティのDataContextをカスタマイズすることが可能である:

IQueryable<UrzedySkarboweWojewodztwa> listaWojewodztw = 
    from d in context.UrzedySkarboweWojewodztwas 
    select d; 

... 

lookUpEdit1.Properties.DataSource = new LinqServerModeSource() { 
     ElementType = ..., 
     KeyExpression = ..., 
     QueryableSource = listaWojewodztw 
    }; 

... 
+0

この回答を拡大できますか?私は 'KeyExpression'に文字列として列名を追加し、' ElementType'を削除しました。(内部でのみ使用すると主張しているので)何も起こりません。GUIで表示するために何かを追加する必要がありますか? – MadBoy

+0

私はサーバーモードのためだけに提案したコードです。私はあなたに詳しい説明のためにDXの人に連絡することを提案する。 – Mikhail

+0

LinqServerModeを使用できないDXからの回答を得ました - > '私たちのLookUpEditはサーバーモードをサポートしていません。 GridLookUpEdit、SearchLookUpEdit、GridControlのみがこのモードをサポートします。したがって、LookUpEditデータソースとしてLinqServerModeSourceを使用することはできません。 – MadBoy

関連する問題