QTableWidgetItemsの更新に問題があります。何が間違っているのかわかりません:(
コードと説明。
ステップバイステップの問題。
- 最初の挿入=OKで、すべての最初のセルが塗りつぶされます。
- 最初に挿入されたアイテムの更新=OK、すべての最初のセルが更新されます。
- 2番目の挿入=OKで、すべての2番目のセルが塗りつぶされます。
- 2番目に挿入されたアイテムの更新=OK、すべての2番目のセルが更新されます。
- 最初に挿入されたアイテムの更新=FAIL、すべての最初のセルが更新されますが、NEXTセルの最初のテーブルは空です。なぜ?
コード:
void MainWindow::fillTable(QList<QByteArray> Info)
{
int Row = ui->clientsList->rowCount() - 1; //Starts from 0.
//Check if client row already exists.
for(int i = Row; i >= 0; i--)
{
if(ui->clientsList->item(i, 0)->text().contains(QString(Info[1])))
{
//Update row.
for(int u = 0; u < Info.count() - 1; u++)
{
ui->clientsList->setItem(i, u, new QTableWidgetItem(QString(Info[u + 1])));
}
return; //avoid new row insertion.
}
}
//Insert new row.
Row = ui->clientsList->rowCount() + 1;
ui->clientsList->setRowCount(Row);
for(int i = 0; i < Info.count() - 1; i++)
{
//Fill rows.
ui->clientsList->setItem(Row - 1, i, new QTableWidgetItem(QString(Info[i + 1])));
}
}