Название: Получение данных из компонента tableView Отправлено: lexflax от Январь 18, 2014, 14:59 Доброго времени суток.
В моей базе данных есть представление которое красиво выводит информацию на главную форму в компонент tableView. На этой же форме есть кнопка удалить запись... Пользователь выбирает ту строку которую хочет удалить и нажимает на кнопку... Но это представление и на прямую из него нельзя ничего удалить, чтоб в нем исчезла информация нужно ее удалить из таблиц которые к этому представлению подвязанны... информация типа " код вуза, государственный код.... и прочее" Тоесть главная задача получить информацию из строки которую выбрал пользователь, и отправить потом эту инфу через запросы в таблицу на их удаление... Как эту информацию можно получить?? , кто знает все возможные варианты опишите пожалуйста лучше с примером кода, заранее благодарю. Название: Re: Получение данных из компонента tableView Отправлено: kambala от Январь 18, 2014, 18:15 эта информация спрашивается у модели
Название: Re: Получение данных из компонента tableView Отправлено: lexflax от Январь 19, 2014, 08:44 эта информация спрашивается у модели... Каким образом её можно запросить у модели?
У меня есть таблица Kod Содержит поля: kodsv,kodg,kodk. Таблица Kvalif Содержит поля: Kodk, Namespiciliz. И прочие таблицы которые выводятся в представление zews. Zews содержит поля:kodsv,kodg,Namevuz,Namegos,NameKvalif и прочие... Допустим выбрал пользователь строку номер 5!! Которая на скрине представлена! У этой строки kodsv="29010" Как вынуть это значение в переменную? Допустим KSV=kodsv; А потом эту переменную вставить запрос для удаления строки из нужной таблицы... Код: QSqlQuery query; Название: Re: Получение данных из компонента tableView Отправлено: lexflax от Январь 19, 2014, 13:22 вот решение...
Код: QModelIndex current = ui->tableView->currentIndex(); Название: Re: Получение данных из компонента tableView Отправлено: demal от Январь 22, 2014, 20:47 Ты очень длинно делаешь это путем прямых вызовов.
Если у тебя есть модель, то и работай с моделью. Команда для удаления выбранной в tableview строки с использованием модели делается вот так: model.removeRow(ui->tableView->currentIndex.row()); Зачем городить такой большой огород как у тебя мне непонятно. ??? для получения значения конкретной ячейки в представлении можно использовать: model.record(индекс строки).value(номер или имя столбца).в какой тип преобразуем (например toString, toInt). |