Russian Qt Forum

Qt => Базы данных => Тема начата: myr от Январь 12, 2010, 14:24



Название: QDataTable изменить ширину столбцов, если данные читаються через QSqlCursor?
Отправлено: myr от Январь 12, 2010, 14:24
QDataTable изменить ширину столбцов, если данные читаються через QSqlCursor?
setColumnWidth ни до курсора, ни после, ничего не дает. У всех столбцов одинаковая ширина.
Спасибо.

QT3.4


Название: Re: QDataTable изменить ширину столбцов, если данные читаються через QSqlCursor?
Отправлено: BaltikS от Январь 13, 2010, 07:25
Странно... Нужен пример вызова... Как вариант можно попробовать так сделать dataTable->horizontalHeader()->resizeSection(0, 200);


Название: Re: QDataTable изменить ширину столбцов, если данные читаються через QSqlCursor?
Отправлено: myr от Январь 13, 2010, 09:35
Спасибо. Все получилось.

Не там вызывала.
Если вызывать  setColumn Witth() до  refresh() - работает. После - нет.
resizeSection() - везде работает

 // QDateTable * dtPozic;
 QSqlSelectCursor *cur = new QSqlSelectCursor( "select * from tab1",dBaseSQL->pDB);
 

 dtPozic->setSqlCursor( cur, TRUE, TRUE ); 

 dtPozic->setColumnWidth ( 0 ,10); // - Работает

 dtPozic->refresh();
 
 dtPozic->horizontalHeader()->setLabel(0,QObject::tr("Nmb" ));
 dtPozic->horizontalHeader()->setLabel(1,QObject::tr("X" ));
 dtPozic->horizontalHeader()->setLabel(2,QObject::tr("Y" ));

// dtPozic->setColumnWidth ( 0 ,100);  // Не работает
 dtPozic->setColumnWidth ( 1 ,10);      // Не работает
 
 dtPozic->horizontalHeader()->resizeSection(2,10);  // Работает

 dtPozic->refresh();    


Название: Re: QDataTable изменить ширину столбцов, если данные читаються через QSqlCursor?
Отправлено: kolob от Август 25, 2010, 13:01
А можно и самому столбцы добавить:
Код:
QSqlCursor *сursor = new QSqlCursor("Таблица");
 table->setSqlCursor(cursor);
 table->addColumn("Поле в таблице", tr("Заголовок столбца"), Ширина столбца);