Здравствуйте, гость ( Вход | Регистрация )
Stoptyssin | Дата 14.3.2012, 20:57 |
Сдела так, вроде работает void PatPoisk::on_lEdPat_textChanged(QString ) { if(ui->lEdPat->text().size() > 0) { QString filter_query = ("Pat_F like '" + ui->lEdPat->text()+"%'"); model->setFilter(filter_query); ui->tVPat->resizeColumnsToContents(); ui->tVPat->resizeRowsToContents(); } if(ui->lEdPat->text().size() == 0) { model->setTable("Patient"); model->select(); model->setHeaderData(1, Qt::Horizontal, tr("Фамилия")); model->setHeaderData(2, Qt::Horizontal, tr("Имя")); model->setHeaderData(3, Qt::Horizontal, tr("Отчество")); ui->tVPat->setModel(model); ui->tVPat->setColumnHidden(0, true); ui->tVPat->show(); } } правда коряво))) |
|
Stoptyssin | Дата 6.3.2012, 13:54 |
Спасибо большое, буду пробовать. Сам уже подумал что через запрос легче будет ))) |
|
vankleef | Дата 5.3.2012, 13:49 |
Было такое у меня в каком-то проекте. Вот такой конект в конструкторе:
И вот реализация слота поиска:
На int index=widget.comboBox->currentIndex(); не обращай внимания, это комбобокс, в котором указывается критерий, по которому надо искать (фамилия, серия/номер паспорта и тд) |
|
Stoptyssin | Дата 3.3.2012, 15:29 |
Мде...
Попробовал. Не работает, не находит в БД. Мде...
Попробовал. Не работает, не находит в БД. я дебил! Все заработало, сори! Теперь проблема в другом: при повторном введении не происходит поиска. Т.е. если стереть в lEdPat, то не показывает полный список и если ввести другой Pat_Id - не происходит поиска по базе. Только если закрыть форму и открыть снова, тогда все норм. |
|
MoPDoBoPoT | Дата 3.3.2012, 14:10 |
Мде...
|
|
Stoptyssin | Дата 3.3.2012, 8:22 |
э... почему не ?Что-то вы нагородили со скобками и кавычками А в каком поле ему смотреть? Вы этого не указали - Pat_F - поэтому нужны кавычки, без них ошибка будет |
|
RazrFalcon | Дата 3.3.2012, 0:08 |
э... почему не ?Что-то вы нагородили со скобками и кавычками |
|
Stoptyssin | Дата 2.3.2012, 23:02 |
Здравствуйте все! Задача такая: надо найти в БД строку по фамилии котрая вводится в QLineEdit. Информация отображается в QTableView. Вот код: void PatPoisk::on_lEdPat_textChanged(QString ) { QString filter_query = ("Pat_F = ui->lEdPat->text()"); model->setFilter(filter_query); } Если вместо ui->lEdPat->text() вводить фамилию, то все работает как часы. |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 19.4.2024, 14:48 |