Qt

Значения ячеек выделенных строк QTableView

Необходимо узнать значения ячеек выделенных строк в таблице класса QTableView, которая отображает некоторые данные.

Следующий пример покажет, как записать значения 0-ой ячейки каждой выделенной строки в список, а затем сформировать строку из этих значений, элементы которой разделены «,»:

QStringList ids;
    //цикл по выделенным строкам
for (int i = 0; i < ui->table->selectionModel()->selectedRows().count(); ++i)
        //берем id на 0 позиции каждой строки
	if (!ids.contains(model->data(ui->table->selectionModel()->selectedRows().at(i), 0).toString()))
    	ids << model->data(ui->table->selectionModel()->selectedRows().at(i), 0).toString();
//выводим элементы через запятую
qDebug() << ids.join(", ");

Такая операция может понадобиться, например, для формирования какого-либо запроса к базе данных с условием «where id in (…)» на основании полученных id, или составления отчета и т.д.

У функции join есть много перегруженных вариантов, которые позволят подобрать нужный вариант в операции объединения элементов списка строк. Ссылка на документацию.

В записи Отображение данных в виджете QTableView я рассказала, каким способом можно вывести информацию из БД на экран.

Значения ячеек выделенных строк QTableView: 1 комментарий

Оставьте своё мнение...

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.