0

I DAL、デスクトップ、モデル、インターフェイス、サービスなどの異なるレイヤーの5つのプロジェクトでWCFサービスを設定してください。 BALは、データベースに格納されたデータを取得するDALのストアドプロシージャを使用しています。サービス内のBALからデータベースリストを呼び出し、フォーム上のデータをドロップダウンリストに表示するにはどうすればよいですか。ここで列を取得してドロップダウンリストにドロップするC#

は私のBALである:ここでは

public class GenderBAL 
{ 
    public Genders GetGenders(Int32 id) 
    { 
     Genders item = null; 
     using (GenderTableAdapter ad = new GenderTableAdapter()) 
     { 
      using (mHotRes.DAL.dstGender.GenderDataTable tbl = new DAL.dstGender.GenderDataTable()) 
      { 
       ad.GetGendersInfo(); 
       if(tbl.Rows.Count == 1) 
       { 
        mHotRes.DAL.dstGender.GenderRow row = tbl[0]; 
        item = new Genders(); 
        item.GenderId = row.GenderId; 
       } 
      } 
     } 
     return item; 
    } 
} 

}

は私のフォームです:

private void FillLookups() 
    { 
     try 
     { 
      IHotRes res = new MHotServiceProvider().Service; 
      ddlGender.DataSource = res.GetGenders(1); 
      ddlGender.DataSource = "Gender"; 
     } 
     catch(Exception ex) 
     { 
      MessageHelper.ShowErrorMessage(ex); 
     } 
+0

だけ 'ddlGender.DataBind()を追加します。フォームのコードはこれでなければなりません。 DataSource = "Gender"; ' –

+0

@UZIERSKI値とテキストをドロップダウンにバインドする方法を探していると思います。 –

+0

@ChandrashekarJupalliデータベースから値を取得し、それをドロップダウンリストにバインドしたいだけです。フォームのコードが完全に正しくない 'ddlGender.DataSource = res.GetGenders(1); ' – UZIERSKI

答えて

0

あなたは、データベースからリストを取得しようとしているIDを取得しようとしていませんそのため、BALのコードは次のようになります。

public class GenderBAL 
{ 
    public List<Genders> GetGenderList() 
    { 
     List<Genders> gender = null; 
     Genders itm = null; 
     using (GenderTableAdapter adp = new GenderTableAdapter()) 
     { 
      using (DAL.dstLookup.GenderDataTable tbl = adp.GetGenderDataList()) 
      { 
       if(tbl.Count>0) 
       { 
        gender = new List<Genders>(); 

        foreach(var row in tbl) 
        { 
         itm = new Genders(); 
         itm.GenderId = row.GenderId; 
         itm.Gender = row.Gender; 
         gender.Add(itm); 
        } 
       } 
      } 
     } 
     return gender; 
    } 
} 

}

Genders GetGenders(Int32 id)を使用して上記のようにすべてのレイヤーを変更してください。デスクトップ層については

また、リストを呼び出し、コンボボックスがValueMemberDisplayMemberDataSourceであるセットアップする3つのプロパティが必要であることを覚えておいてください。次回は、それらを使用する前にさまざまなプロパティについて読んでください。 `ddlGender.DataSource = res.GetGenders(1);`この行削除: `ddlGenderと、`この行の後

IHotRes res = new MHotServiceProvider().Service; 
ddlGender.ValueMember = "GenderId"; 
ddlGender.DisplayMember = "Gender"; 
ddlGender.DataSource = gender; 
関連する問題