2016-05-07 1 views
0

enter image description here Я работаю над Windows Form Application. В Форме я разместил один ListBox, а на другой вкладке - CheckBoxList. Я заполнил свой ListBox своим SQL-источником данных. Теперь я хочу отображать элементы списка каждого выбранного элемента в ListBox и показывать его в CheckBoxList. enter image description hereКак получить данные из выбранного элемента в ListBox и отобразить на checkedBoxList?

ответ

0

Используйте событие ListBox.SelectedValueChanged (или SelectedIndexChanged). Затем используйте свойство ListBox.SelectedValue для фильтрации элементов CheckBoxList.

Метод фильтрации CheckBoxList зависит от того, как связаны объекты. Если они из базы данных, я бы использовал SQL для фильтрации списка. (внутри события SelectedValueChanged)

Если вы публикуете код, который вы пробовали, я могу попытаться провести вас через него.

Редактировать: Ваш выбор: «Выберите * из электроники», поэтому похоже, что вы сохраняете каждую категорию в своей собственной таблице. Если это так, то вы могли бы сделать что-то вроде этого:

string query = null; 
switch (listBoxCat.SelectedValue) { 
    case "Electronics": 
     query = "SELECT * FROM Electronics"; 
     break; 
    case "Woman": 
     query = "SELECT * FROM Woman"; 
     break; 
    //case etc, etc 
} 
0

имен JustBuyIt { общественный частичный класс Form1: Form { общественного Form1() { InitializeComponent();

} 

    private void button1_Click(object sender, EventArgs e) 
    { 
     tabControl1.SelectedIndex = tabControl1.SelectedIndex + 1; 
    } 


    private void listBoxCat_SelectedIndexChanged(object sender, EventArgs e) 
    { 

     //SQL Data Source 
     string datasource = "Data Source=LENOVO-NQ;Initial Catalog=JustBuy;Integrated Security=True"; 


     //Query 
     string query = "SELECT * FROM Electronics"; 

     //ConnectionString 
     SqlConnection myConn = new SqlConnection(datasource); 

     //SQL Command 
     SqlCommand myComm = new SqlCommand(query, myConn); 
     //Data Reader 
     SqlDataReader myDataReader; 
     try 
     { 
      myConn.Open(); 
      myDataReader = myComm.ExecuteReader(); 

      while (myDataReader.Read()) 
      { 
       string temp = myDataReader.GetString(1); 
       checkedListBox1.Items.Add(temp); 
      } 


     } 
     catch (Exception) 
     { 

      MessageBox.Show("Nothing to show!"); 
     } 


    } 
Смежные вопросы