crossplatform.ru

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

> QSqlQueryModel, QTableView, фильтрация
Rigat
  опции профиля:
сообщение 1.6.2010, 15:39
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 5
Регистрация: 19.5.2010
Пользователь №: 1735

Спасибо сказали: 0 раз(а)




Репутация:   0  


Подскажите ка вынуть из QTableView имя колонки в таблице?

Подробнее выглядит так:

model = new QSqlQueryModel(this);
query = "Select SName, FName, ClnName, Model.Model, Num from Client, KTM, Model where Client.ClnNo=KTM.ClnNo and KTM.Model=Model.ModelNo";
model->setQuery(query);
ui->tableView->setModel(model);


Для каждой колонки есть свой фильтр в ячейках QTableWidget, который пользователь вводит самостоятельно. Я хочу реализовать его примерно так (код не отлажен, могут быть ошибки):

void MainWindow::fnd(int col, int row)
{
    QString s;
    if (ui->tableWidget->item(col, row)->text() != "")
    {
        for (int i=0; i<ui->tableWidget->columnCount(); ++i)
        {
            if (ui->tableWidget->item(0,i)->text() != "")
            {
                s = s+" and"+ИМЯ_КОЛОНКИ+" Like '%"+ui->tableWidget->item(0,i)->text()+"%";
            }
        }
        model->setQuery(query+s);
    }
    else
    {
        model->setQuery(query);
    }
}

Вот мне надо узнать ИМЯ_КОЛОНКИ.
Или может кто знает другой способ как реализовать такую фильтрацию.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
MoPDoBoPoT
  опции профиля:
сообщение 3.6.2010, 11:18
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 172
Регистрация: 7.5.2009
Из: Москва
Пользователь №: 738

Спасибо сказали: 44 раз(а)




Репутация:   9  


А если так:
model->query().record().fieldName(index);

?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Rigat
  опции профиля:
сообщение 4.6.2010, 15:31
Сообщение #3


Новичок


Группа: Новичок
Сообщений: 5
Регистрация: 19.5.2010
Пользователь №: 1735

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(MoPDoBoPoT @ 3.6.2010, 11:18) *
А если так:
model->query().record().fieldName(index);

?

Вот это то, что нужно. Спасибо!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 15.10.2024, 12:26