|
|
| Модератор форума: No_MaTTeR, Dimitro, LightInDarkness |
| Форум Полезное Флудилка С++ связать ListBox и dataGridView (Se3rious@meta.ua) |
| С++ связать ListBox и dataGridView |
Надо написать курсовую на С++, выбрал программу VisualStudio C++ 2010. Создавал проект при помощи Windows Form Application...на форму поместил ListBox и dataGridView.Подсоеденил к базе даных созданой в MySqlWorkbench..
есть таблица откуда я беру название отделов и вставляю их в ListBox.код выглядит следующим образом private: void Filllist(void){ String^ constring=L"datasource=localhost;port=3306;username=root;password=1000"; MySqlConnection^ conDataBase=gcnew MySqlConnection(constring); MySqlCommand^ cmdDataBase=gcnew MySqlCommand(" select * from database.viddil;",conDataBase); MySqlDataReader^myReader; try{ conDataBase->Open(); myReader=cmdDataBase->ExecuteReader(); while(myReader->Read()){ String^ vName; vName= myReader->GetString("nazva"); listBox1->Items->Add(vName); } } catch(Exception^ex) { MessageBox::Show(ex->Message); } до каждого названия отдела привязан свой id , называеться idviddila так вот,по нажатию на каждый пунктик listBox в textBox пишеться idviddila,например 101,дальше 102 и т.д. код реализации следующий... String^ listin=listBox1->Text; String^ constring=L"datasource=localhost;port=3306;username=root;password=1000"; MySqlConnection^ conDataBase=gcnew MySqlConnection(constring); MySqlCommand^ cmdDataBase=gcnew MySqlCommand(" select * from database.viddil where nazva='"+listin+"' ;",conDataBase); MySqlDataReader^myReader; try{ conDataBase->Open(); myReader=cmdDataBase->ExecuteReader(); if(myReader->Read()){ String^ vViddil=myReader->GetInt32("idviddila").ToString(); textBox1->Text=vViddil; } }catch(Exception^ex) { MessageBox::Show(ex->Message); } И что бы подключить dataGridView я использовал следующий код String^ constring=L"datasource=localhost;port=3306;username=root;password=1000"; MySqlConnection^ conDataBase=gcnew MySqlConnection(constring); MySqlCommand^ cmdDataBase=gcnew MySqlCommand(" select * from database.table ;",conDataBase); try{ MySqlDataAdapter ^ sda = gcnew MySqlDataAdapter(); sda->SelectCommand = cmdDataBase; DataTable^ dbdataset = gcnew DataTable(); sda->Fill(dbdataset); BindingSource^ bSource = gcnew BindingSource(); bSource->DataSource = dbdataset; dataGridView1->DataSource = bSource; sda->Update(dbdataset); }catch(Exception^ex){ MessageBox::Show(ex->Message); } ВОПРОС: как мне при нажатии в listBox пункта из меню,сделать так,что бы в dataGridView отображались только те данные из таблицы, которые отвечают коду пункта меню??
Сообщение # 1 написано 15.12.2013 в 19:22
|
| |||
| |||


