Qt

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

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

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

[pastacode lang=»cpp» manual=»QStringList%20ids%3B%0A%20%20%20%20%2F%2F%D1%86%D0%B8%D0%BA%D0%BB%20%D0%BF%D0%BE%20%D0%B2%D1%8B%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%BC%20%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B0%D0%BC%0Afor%20(int%20i%20%3D%200%3B%20i%20%3C%20ui-%3Etable-%3EselectionModel()-%3EselectedRows().count()%3B%20%2B%2Bi)%0A%20%20%20%20%20%20%20%20%2F%2F%D0%B1%D0%B5%D1%80%D0%B5%D0%BC%20id%20%D0%BD%D0%B0%200%20%D0%BF%D0%BE%D0%B7%D0%B8%D1%86%D0%B8%D0%B8%20%D0%BA%D0%B0%D0%B6%D0%B4%D0%BE%D0%B9%20%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B8%0A%09if%20(!ids.contains(model-%3Edata(ui-%3Etable-%3EselectionModel()-%3EselectedRows().at(i)%2C%200).toString()))%0A%20%20%20%20%09ids%20%3C%3C%20model-%3Edata(ui-%3Etable-%3EselectionModel()-%3EselectedRows().at(i)%2C%200).toString()%3B%0A%2F%2F%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4%D0%B8%D0%BC%20%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82%D1%8B%20%D1%87%D0%B5%D1%80%D0%B5%D0%B7%20%D0%B7%D0%B0%D0%BF%D1%8F%D1%82%D1%83%D1%8E%0AqDebug()%20%3C%3C%20ids.join(%22%2C%20%22)%3B» message=»» highlight=»» provider=»manual»/]

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

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

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

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

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

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