2014-04-30 4 views
0

QTableView 셀의 값을 변경하는 데 문제가 있습니다.QSqlQueryModel의 열 값에 액세스 할 수 없습니다.

ui->search_results->show(); 
int num = model->rowCount(); 
for (int i = 0; i<num; i++) { 
    QSqlRecord rec = model->record(i); 
    QString file_chron = rec.value(1).toString(); 
    QString file_age = get_file_agestring_from_chron(file_chron); 
    //model->setData(model->index(i,1), QVariant(file_age), Qt::EditRole); 
    rec.setValue(1,file_age); 

은이 두 기능은 루프

qDebug()<<rec.value(1).toString()+" "+rec.value(2).toString()+" "+rec.value(3).toString()+" "+rec.value(4).toString()+" "+rec.value(5).toString(); 
} 

하지만 외부에서 우리가 이전 값을 가지고 그들이 정상적으로 작동 것으로 보인다.

qDebug()<<model->data(model->index(3,1)).toString(); 
ui->search_results->setModel(model); 
ui->search_results->hideColumn(4); 

이 필드에는 값을 다시 구현해야합니다.

내가 액세스 오류라고 생각하지만 새로운 값을 설정하는 방법을 이해할 수 없습니다!

미안 해요, 난 당신이 QSqlRecord의 녹화에 작업입니다 태그 QSqlQueryModel

+0

해결 방법 : SqlQueryModel은 읽기 전용이기 때문에 SqlTableModel을 사용하십시오. – Denis

답변

0

를 추가 할 수 없습니다; 이는 사본이며 대신 레코드를 참조합니다. 데이터 설정 - 모델 참조 setData 함수

+0

이미 솔루션을 자체적으로 설립했습니다. 고마워) – Denis

관련 문제