2011-07-21 9 views
4

私は、MySQL(C#)で勝つ形の大学のための学生出席プロジェクトを行っています。C#で2列のwinformリストボックスを取得できますか?

その中で、あるリストボックスを別のリストボックスに移動したいと思います。私はそれをやった。しかし、私はそれに学生の名前を読み込みます。今クライアントは、datagridview列のような名前と管理者を必要とします。

これを検索します。 Vbはこのタイプのコーディングを持っています。 Multi Column Listboxを参照してください。それはC#で可能ですか?

enter image description here

は下図を参照してください。その私のフォーム。、ロードリストボックス.. FOR

enter image description here

マイコード

 MySqlConnection connection = new MySqlConnection(MyConString); 
     MySqlCommand command = connection.CreateCommand(); 
     MySqlDataReader Reader; 
     command.CommandText = "select name,admin_no from student_admision_master where course='" + course_code + "' AND year='" + year_code + "' AND sem='" + semester_code + "' AND batch='" + batch_code + "'"; 
     connection.Open(); 
     Reader = command.ExecuteReader(); 
     while (Reader.Read()) 
     { 
      listBox1.Items.Add(Reader[0].ToString() + "," + Reader[1].ToString()); 
     } 
     connection.Close(); 

これは、125445. を結果jagadeesを与えるしかし、別々の列を異種たいです。事前にデータの

private void btn_toAb_Click_Click(object sender, EventArgs e) 
{ 
    int count = listBox1.Items.Count; 
    for (int i = 0; i < count; i++) 
    { 
     listBox2.Items.Add(listBox1.Items[i].ToString()); 
    } 
    listBox1.Items.Clear(); 
} 

private void btn_fromAb_Click_Click(object sender, EventArgs e) 
{ 
    int count = listBox2.Items.Count; 
    for (int i = 0; i < count; i++) 
    { 
     listBox1.Items.Add(listBox2.Items[i].ToString()); 
    } 
    listBox2.Items.Clear(); 
} 

private void btn_toAb_Selected_Click(object sender, EventArgs e) 
{ 
    int count = listBox1.SelectedItems.Count; 
    for (int i = 0; i < count; i++) 
    { 
     listBox2.Items.Add(listBox1.SelectedItems[i].ToString()); 
    } 

    for (int i = 0; i < count; i++) 
    { 
     listBox1.Items.Remove(listBox1.SelectedItems[0]); 
     //listBox1.add 

    } 
} 

private void btn_fromAb_Selected_Click(object sender, EventArgs e) 
{ 
    int count = listBox2.SelectedItems.Count; 
    for (int i = 0; i < count; i++) 
    { 
     listBox1.Items.Add(listBox2.SelectedItems[i].ToString()); 
    } 

    for (int i = 0; i < count; i++) 
    { 
     listBox2.Items.Remove(listBox2.SelectedItems[0]); 
    } 
} 

感謝を移動するための

マイコード!...

答えて

10

Windowsのコントロール "リストビュー" を形成するには、それを行うことができます。

+0

感謝,,。 – Sagotharan

2

String.Format()メソッドを使用してこれを行うことができます。内部には、行内の各項目の配置を定義する各メソッドがあります。 私はdbを持っていませんが、私の例では2つの配列(あなたのリーダー[0]とリーダー[1]インデクサーと同じです)を使います。したがって、array1 [i]とarray2 [i]の代わりにReader [0]とReader [1]を使用します。ここ はexampeは次のとおりです。詳細について

 string[] array1 = { "name 1", "name10", "name104", "name 222", "name 3212" }; 
     string[] array2 = { "12343", "23", "432", "4333", "1" }; 

     const int a = 40; 
     int b = 0; 

     for (int i = 0; i < array1.Length; i++) 
     { 
      if (array1[i].Contains(' ')) 
       b = array1[i].Length - 1; 
      else 
       b = array1[i].Length; 
      b = -(a - b); 
      listBox1.Items.Add(String.Format("{0," + b + "} {1}", array1[i], array2[i])); 
     } 
関連する問題