2012-02-06 7 views
0

現在、SQLデータベースからレコードを取得してリストに入れるクラスがあります。 レコードには複数の列があり、すべてのレコードの2番目の列のデータをコンボボックスに挿入する必要があります。リストから2番目の列を取得

これについては何も見つかりませんでした。

プロセッサクラス:

namespace RegForm 
{ 
    public class ClientProcessor 
    { 
     public List<Client> ClientList = new List<Client>(); 


     public ClientProcessor() 
     { 
     } 

     public void LoadClients() 
     { 
      string sqlc = ConfigurationManager.ConnectionStrings["sqlconn"].ConnectionString; 
      SqlConnection conn = new SqlConnection(sqlc); 

      if (conn.State != ConnectionState.Open) 
      { 
       conn.Open(); 
      } 

      SqlCommand cmd = new SqlCommand("SELECT * FROM Clients ORDER BY CID", conn); 
      try 
      { 
       SqlDataReader dr = cmd.ExecuteReader(); 

       ClientList = new List<Client>(); 

       if (dr.HasRows) 
       { 

        while (dr.Read()) 
        { 
         Client newClient = new Client(); 
         newClient.ID = Convert.ToInt32(dr["CID"]); 
         newClient.CNAME= dr["CNAME"].ToString(); 

         ClientList.Add(newClient); 
        } 
       } 
      } 
      catch (Exception EX) 
      { 
       Console.WriteLine(EX.Message); 
       Console.WriteLine(EX.InnerException); 
      } 

      if (conn.State == ConnectionState.Open) 
      { 
       conn.Close(); 
      } 
     } 
    } 
} 
+1

@SaiKalyanAkshinthala - それは建設的なものではありません。私たちはここでそれをしません。 – Oded

+0

@Oded、実際このタイプの質問は何度も尋ねられます。だから、私はそのように言った.. –

+0

私は現在、クライアントを取得し、それをオブジェクトとしてリストに返すクラスを持っています。リストにはIDと名前が含まれています。私は、オブジェクトから2番目の値を取得する必要があります。私はオブジェクトを取得することができますが、例えば名前だけを表示することはできません。 – DW24da

答えて

0

のDataTableにデータを仮定すると、あなたのような何かを行うことができます:あなたはbind関数内でこの

class MyData 
{ 
    public string Id{get;set;} 
    public string Name{get;set;} 
    //Other properties 
} 

試すことができます

DataTable dt; 
List <T> lst = new List<T>(); //replace T with your column type 
foreach (DataRow r in dt.Rows) 
{ 
      lst.Add(r[1]); //insert to list 
      combobox.Iteam.add(r[1]); //insert to combox 
}  
0

public void BindData(List<MyData> list) 
{ 
    //Assuming list is not null 
    var dataFromSecondColumn = list.Select(l=>l.Name).ToList(); 
    //Reset of your code. 
    comboBox1.DataSource = dataFromSecondColumn; 
} 
関連する問題