giovedì 30 settembre 2010

Qt: QTableView con righe vuote/bianche

Problema: una tabella di tipo QTableView, dopo una query di tipo select, presenta occasionalmente righe vuote in più


Soluzione: questo succede quando la precedente invocazione di setFilter() ha dato un risultato nullo, ovvero la select usata non ha restituito alcuna riga.

- select 1 sulla tabella -> risultato vuoto -> setFilter(vuoto) = tabella vuota
- select 2 sulla tabella -> risultato pieno -> setFilter(pieno) = tabella con righe della select + righe vuote

Per ovviare a questo noto problema basta imporre una condizione: se una qualsiasi select dà un risultato nullo, non applicare il filtro sulla tabella.

if(query.next())
    setFilter(condizione);
else
    QMessageBox::warning(0,"Attenzione","Nessun risultato trovato");

Nessun commento:

Posta un commento