2012-02-06 51 views
0

我目前有一個類從sql數據庫中檢索記錄並將它們放入列表中。 該記錄有多個列,我需要從所有記錄的第二列插入數據到一個組合框。檢索列表中的第二列

這是如何實現的,因爲我無法找到任何關於它的東西。

處理器類別:

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 2012-02-06 11:07:13

+0

@Oded,實際上這種類型的問題在SO中被多次提出。所以,我這樣說.. – 2012-02-06 11:11:02

+0

我目前有一個類,它檢索一個客戶端,並將它作爲一個對象返回到列表中。該列表包含ID和名稱。我需要從對象中檢索第二個值。我能夠檢索對象,但無法僅顯示名稱。 – DW24da 2012-02-06 11:12:17

回答

0

假設的DataTable你的數據,你可以這樣做:

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

你可以試試這個

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

裏面綁定功能

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; 
}