• Страница 1 из 1
  • 1
Модератор форума: No_MaTTeR, Dimitro, LightInDarkness  
С++ связать ListBox и dataGridView
Se3rious
Скаут
Надо написать курсовую на С++, выбрал программу 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
  • Страница 1 из 1
  • 1
Поиск: