1 / 1 / 1
Регистрация: 16.04.2015
Сообщений: 31
1

TableView->model->setData() не работает

13.02.2016, 12:59. Показов 1731. Ответов 2

Здравствуйте! Не могу понять в чем проблема. В коде ниже я забираю данные из таблицы (таблица пользователей) базы данных и отображаю их в tableView. В этой таблице есть логическое поле, которое принимает значение 1 если пользователь является администратором и 0, если не является им. Так вот, если просто вывести эту таблицу в tableView то в этом поле будут нули и единицы, а это не хорошо. Я пытаюсь через метод setData изменить значения ячеек в моей tableView, но почему то у меня не получается. Очень прошу вашей помощи!
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Table->execQuery("Select [login], [admin] from [DB_for_OOP].[dbo].[_users]");
 
    ui->tableView->setModel(Table->GetModel());
 
    for (int i = 0; i < ui->tableView->model()->rowCount(); i++)
    {
        if (Table->GetModel()->index(i, 1).data(Qt::DisplayRole).toString() == "0")
        {
            ui->tableView->model()->setData(ui->tableView->model()->index(i, 1), QVariant("Пользователь"), Qt::EditRole);
        }
        else
        {
            ui->tableView->model()->setData(ui->tableView->model()->index(i, 1), QVariant("Администратор"), Qt::EditRole);
        }
    }
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.02.2016, 12:59
Ответы с готовыми решениями:

Убрать спецсимволы при выводе Html.DisplayNameFor(model => model.Text)
У меня есть текстовый редактор, который в БД сохраняет текст в БД. На другой странице я хочу этот...

Не работает $model->attributes YII
Здравствуйте. Делаю добавление нового пользователя в базу, но не получается. Решил проверить почему...

NVIDIA RIVA TNT2 Model 64/Model 64 Pro (Microsoft Corporation)
Нашел несколько вот таких древностей NVIDIA RIVA TNT2 Model 64/Model 64 Pro (Microsoft...

Pavilion Model 15-cc008ur - Не работает клавиатура
Здравствуйте, на ноуте модели Pavilion Laptop Model 15-cc008ur перестала работать клавиатура, при...

2
7063 / 6074 / 2764
Регистрация: 14.04.2014
Сообщений: 26,089
13.02.2016, 23:09 2
Лучший ответ Сообщение было отмечено SentMem как решение

Решение

Подмена делается либо в data() модели (создать свой класс), либо в делегате.
Или можешь изначально в SQL-запросе через CASE заменить на строки.
1
1 / 1 / 1
Регистрация: 16.04.2015
Сообщений: 31
14.02.2016, 13:51  [ТС] 3
Спасибо большое! Выбрал вариант с использованием CASE в запросе.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.02.2016, 13:51

msxml4 - не работает Free-threaded model
HRESULT hr; MSXML2::IXMLDOMDocument2 * pStyleSheet=NULL;...

Духовка Baumatic Model: BAO6009-P, Не работает не один элемент
Здравствуйте ! Помогите советом .Не включается не один нагревательный элемент. Во время выбора...

Из model small в model tiny
Доброго времени суток . Помогите переделать программу из model small в tiny при помощи функций 3Fh...

Acer Aspire V5-572G (Model: ZQK; REV:E; DAOZQKMB8E0) - Не работает два USB выхода
1. Не работает USB 2.0 (не распознаёт никаких устройств) находится на материнской плате, но питание...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.