Qt C++에서 QSqlTableModel
을 사용하고 있으며 QComboBox
에있는 텍스트가 포함 된 행만 표시하고 싶습니다. 예를 들어, 콤보 상자에서 "John"항목을 클릭하면 테이블보기에서 "John"으로 시작하는 이름 만 표시됩니다. 어떻게해야할지 모르겠다. 사용자의 요구에콤보 상자 텍스트를 사용하여 QSqlTableModel의 특정 행만 표시하는 방법?
1
A
답변
2
클래스는 QSortFilterProxyModel입니다 :
QSortFilterProxyModel* proxyModel = new QSortFilterProxyModel(this);
proxyModel->setSourceModel(yourQSqlTableModel);
yourView->setModel(proxyModel);
그런 다음 정렬하거나 그 모델을 필터링 할 수 있습니다 (체크 :
이보다는 직접 QSqlTableModel 표시는 모델과 뷰 사이에 QSortFilterProxyModel를 넣어 상단의 링크에 Sorting
및 Filtering
섹션).
1
그런데 SQL을 통해 필터링 유형을 쉽게 제공 할 수 있다면 QSqlTableModel의 setFilter()
메서드를 사용할 수 있습니다.
감사합니다. Tim.Now는 정렬 및 필터링을 찾을 것입니다. – user2521257