Что-то я пока не сообразил, коим образом правильно применить приведенный код
Дурак наверно совсем.. Такое дело:
C++ (Qt)
bool sql_test::findRem()
{
QVariant val = fLine->text();
QModelIndexList list = model->match(model->index(0, 0), 0, val,Qt::MatchContains);
QItemSelectionModel *selectionModel = new QItemSelectionModel;
qDebug() << " val= " << val;
if (!list.isEmpty())
{
qDebug() << "Found some crap";
selectionModel->setCurrentIndex(list.first(),QItemSelectionModel::Rows|
QItemSelectionModel::Select|QItemSelectionModel::ClearAndSelect);
dbView->scrollTo(model->index(list.first().row(),1 ));
return true;
} else {
return false;
}
}
Модэл определено ранее и является
C++ (Qt)
model = new QSqlQueryModel;
которое выполняет запрос к МуСКЛ и выдает необходимые данные в dbView (QTableView);
Возможно я не так понял, чем является model в Вашем примере?
Ибо при введении текста в строку поиска и по нажатию кнопки ничего не происходит и в дэбаг о результате поиска ничего не выводит...
Эдит: Верно грят - "утро вечера мудренее"... Разобрался в чем тут вся соль
Ведь поиск происходит по одному контретному столбику... Просто оказалось над было подправить индэкс под нужный столбик, по которому требуется поиск... Все замечательно с Вашим примером
П.С. А не подскажите, как уговорить данную схему проводить поиск еще и по строкам? Т.е. дабы находило нужный текст во всей таблице?