C++ (Qt) tableWidget->horizontalHeader()->moveSection(3,0); tableWidget->horizontalHeader()->moveSection(5,1); tableWidget->horizontalHeader()->moveSection(3,2); tableWidget->horizontalHeader()->moveSection(5,3);
C++ (Qt)for (int i=0; i<6; ++i) { int col=tableWidget->horizontalHeader()->logicalIndex(i); qDebug()<<col; }
C++ (Qt)//подключаемся к БД QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("/var/db/surd/surddb.sl3"); if (!db.open()) { qDebug() << QObject::trUtf8("Не смогла я открыть базу данных") << db.lastError().text(); }//________________________________первый запрос________________ const char * s1 = "SELECT KEY, Value FROM UsbProperties", * s2 = "SELECT DISTINCT KEY FROM"; QSqlQueryModel *model = new QSqlQueryModel; model->setQuery(QString("")+s2+"("+s1+")"); QTableView *table_sort = new QTableView(); table_sort->setModel(model); //________________________________второй запрос________________ QString s3= QString("SELECT Value FROM(")+s1+")"; QSqlQueryModel *query= new QSqlQueryModel; query->setQuery(s3); QTableView *table_sort_1 = new QTableView(); table_sort_1->setModel(query); // заносим все в таблицу int i = 0; int z=0; // количесво ячеек table_sort_1 int j = 0; int count = 0; QString s,s_2; QString s4 = s3; QSqlQuery q(s4); QSqlQuery q_1(s4); QSqlQuery q_2(QString("")+s2+"("+s1+")"); int column=0; int row = 0;//____________________________подсчет ячеек_что бы найти строки___________ while (q.next()) { table_sort_1->model()->data(table_sort_1->model()->index(z++,j)); } count = z; //____________________________Заполняем новую таблицу_____________________ while (q_1.next()) { s = table_sort_1->model()->data(table_sort_1->model()->index(i++,j)).toString(); //qDebug(s.toAscii()); //просмотр вывода текста слолбца таблицы QTableWidgetItem *item = new QTableWidgetItem(s); tableWidget->setColumnCount(6); // колво столбцов tableWidget->setRowCount(count/6); //подсчет кол-во строк tableWidget->setItem(row,column,item); //заполняем таблицу column++; } i=0; int hcolumn = 0; // индекс заголовка таблицы //______________________________заполняем заголовок таблыцы________________________ while (q_2.next()) { s_2 = table_sort->model()->data(table_sort->model()->index(i++,j)).toString(); QTableWidgetItem *item = new QTableWidgetItem(s_2); tableWidget->setHorizontalHeaderItem(hcolumn,item); hcolumn++; } //______________________________сортировка столбцов__________________________________ tableWidget->setColumnWidth(3,150); //USB_NAME tableWidget->setColumnWidth(1,180); //iserial //_____меняем столбы местами... замена визуального индекса, логический не меняется.. tableWidget->horizontalHeader()->moveSection(3,0); tableWidget->horizontalHeader()->moveSection(5,1); tableWidget->horizontalHeader()->moveSection(3,2); tableWidget->horizontalHeader()->moveSection(5,3); //______________просмотр логического индекса относительно вызуального for (int i=0; i<6; ++i) { int col=tableWidget->horizontalHeader()->logicalIndex(i); qDebug()<<col; } tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers); //запрет редактирования таблицы//_______________выделение строго одной строки tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows); tableWidget->setSelectionMode(QAbstractItemView::SingleSelection); tableWidget->selectRow(0);