PDA

View Full Version : QSqlTableModel verticak header connect



patrik08
1st July 2007, 09:04
How i can connect a

vertikalheader = new QHeaderView(Qt::Vertical,this);

inside a QSqlTableModel to append context menu to remove line and dns helps.... ?




class DNS_model : public QSqlTableModel
..........

void DNS_model::refresh()
{
const QString hostqueryx = QString("SELECT id,name,type,alias,ttl,value,prior,comment FROM DNSEntry WHERE name ='%1'")
.arg(host);
QSqlQuery query2sur(hostqueryx,db);
setQuery(query2sur);
setHeaderData(0, Qt::Horizontal, QObject::tr("ID"));
setHeaderData(1, Qt::Horizontal, QObject::tr("DOMAINE"));
setHeaderData(2, Qt::Horizontal, QObject::tr("TYPE")); /* dnstype << "A" << "CNAME" << "NS" << "MX" << "TXT"; */
setHeaderData(3, Qt::Horizontal, QObject::tr("ALIAS"));
setHeaderData(4, Qt::Horizontal, QObject::tr("TTL")); /* tooltip Time to Live domain on dns server */
setHeaderData(5, Qt::Horizontal, QObject::tr("VALUE"));
setHeaderData(6, Qt::Horizontal, QObject::tr("MX_PRIORITY"));
setHeaderData(7, Qt::Horizontal, QObject::tr("COMMENT"));
}

patrik08
1st July 2007, 13:07
I found a way but vertikalheader not emit signal . is a bug?




void DB_dual::Paint_Table( const QString host , QTableView * tabi )
{

QStringList ips = UniqueList("select value from DNSEntry where type ='A'");
QStringList hosts = UniqueList("select value from DNSEntry where type ='MX' or type ='CNAME' or type ='NS'");
TabDelegate *dele = new TabDelegate(tabi);
dele->SetLists(ips,hosts);
model = new DNS_model(db,host);
connect(model, SIGNAL(UpdatePlay()), this , SLOT(DBUpdatePlay()));
vertikalheader = new QHeaderView(Qt::Vertical,tabi);
vertikalheader->setClickable(true);
connect (vertikalheader,SIGNAL( sectionClicked(int)),model,SLOT(VertikalRow(int))) ;
tabi->setModel(model);
tabi->setItemDelegate(dele);
tabi->setAlternatingRowColors(true);
//////tabi->resizeColumnsToContents();
}