crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Горячий поиск
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
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
  Было такое у меня в каком-то проекте.
Вот такой конект в конструкторе:
connect(widget.criterylineEdit,SIGNAL(textEdited(const QString&)),this,SLOT(search(const QString&)));

И вот реализация слота поиска:
void resultForm::search(const QString& text){
    int index=widget.comboBox->currentIndex();
    switch(index){
        case 0:
            model->setQuery("SELECT fio,sernum,klass,discip,data,quA,quB FROM result WHERE fio LIKE '%"+text+"%'");
            widget.tableView->setModel(model);
            break;
        case 1:
            model->setQuery("SELECT fio,sernum,klass,discip,data,quA,quB FROM result WHERE klass LIKE '%"+text+"%'");
            widget.tableView->setModel(model);
            break;
        case 2:
            model->setQuery("SELECT fio,sernum,klass,discip,data,quA,quB FROM result WHERE sernum LIKE '%"+text+"%'");
            widget.tableView->setModel(model);
            break;
    }
    widget.tableView->resizeColumnsToContents();
    widget.tableView->resizeRowsToContents();
}


На int index=widget.comboBox->currentIndex(); не обращай внимания, это комбобокс, в котором указывается критерий, по которому надо искать (фамилия, серия/номер паспорта и тд)
Stoptyssin Дата 3.3.2012, 15:29
 
Цитата(MoPDoBoPoT @ 3.3.2012, 18:10) *
Мде...
"Pat_F = " + ui->lEdPat->text()


Попробовал. Не работает, не находит в БД.

Цитата(Stoptyssin @ 3.3.2012, 19:24) *
Цитата(MoPDoBoPoT @ 3.3.2012, 18:10) *
Мде...
"Pat_F = " + ui->lEdPat->text()


Попробовал. Не работает, не находит в БД.


я дебил! Все заработало, сори! Теперь проблема в другом: при повторном введении не происходит поиска. Т.е. если стереть в lEdPat, то не показывает полный список и если ввести другой Pat_Id - не происходит поиска по базе. Только если закрыть форму и открыть снова, тогда все норм.
MoPDoBoPoT Дата 3.3.2012, 14:10
  Мде...
"Pat_F = " + ui->lEdPat->text()
Stoptyssin Дата 3.3.2012, 8:22
 
Цитата(RazrFalcon @ 3.3.2012, 4:08) *
э...
почему не
QString filter_query = ui->lEdPat->text();
?
Что-то вы нагородили со скобками и кавычками


А в каком поле ему смотреть? Вы этого не указали - Pat_F - поэтому нужны кавычки, без них ошибка будет
RazrFalcon Дата 3.3.2012, 0:08
  э...
почему не
QString filter_query = ui->lEdPat->text();
?
Что-то вы нагородили со скобками и кавычками
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() вводить фамилию, то все работает как часы.
Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 14.7.2025, 3:34