リストから2番目の列を取得する

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

私はそれについて何も見つけることができないので、これはどのように達成されます。

プロセッサクラス:

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


        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();

                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();
            }
        }
    }
}
0
あなたがすでに持っているコードを私たちに教えてください。例えば。あなたのリストはどのように見えますか?そして、どのようなGUIライブラリ(Winforms、WPF、ASP.NET)を使用していますか?
追加された 著者 svick,
@Oded、実際にこのタイプの質問は何度も尋ねられます。だから、私はそう言いました..
追加された 著者 Sai Kalyan Kumar Akshinthala,
@SaiKalyanAkshinthala - それは建設的ではないGoogleに人々を伝える。私たちはここでそれをしません。
追加された 著者 Oded,
@SaiKalyanAkshinthala - あなたはそれをGoogleに言った。あなたは言わなかった - これは前に尋ねられている、サイトを検索してください。重複する質問へのリンクも提供しませんでした。
追加された 著者 Oded,
LINQを使用してこれを行うことができます。私はそれのためのサンプルコードを提供しています。私はそれがあなたのために働くと思います。
追加された 著者 Amar Palsapure,
私は現在、クライアントを取得し、それをオブジェクトとしてリストに返すクラスを持っています。リストにはIDと名前が含まれています。私は、オブジェクトから2番目の値を取得する必要があります。私はオブジェクトを取得することができますが、例えば名前だけを表示することはできません。
追加された 著者 DW24da,
Winformsを使用して質問を編集する
追加された 著者 DW24da,

2 答え

あなたはこれを試すことができます

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

バインド関数の内部

public void BindData(List list)
{
     //Assuming list is not null
     var dataFromSecondColumn = list.Select(l=>l.Name).ToList();
     //Reset of your code.  
     comboBox1.DataSource = dataFromSecondColumn;
}
0
追加された

DataTableでデータを想定すると、次のようなことができます。

DataTable dt;
List  lst = new List();  //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
追加された