문제

이것은 내 문제입니다 : 나는 보관해야한다 많은 로그 메시지와 쉽게 검색하고 필터링 할 수 있도록 SQLITE3 데이터베이스에 보관하는 것이 현명하다고 생각했습니다.

표준 목록 위젯에 로그 메시지를 표시합니다 (WXWidgets 사용). 목록에는 여러 열이 있으며 사용자가 정렬하고 필터링 할 수 있습니다.

이제 이것을 처리하는 가장 좋은 방법이 무엇인지 잘 모르겠습니다. 가능한 몇 가지 해결책에 대해 생각하고 있습니다.

  1. 모든 메시지를 메모리로 읽으십시오. 새 로그 메시지 또는 변경된 로그 메시지가 있으면 (목록의 임의 위치에) 전체 목록을 새로 고쳐야합니다. 사용자가 목록을 필터링하거나 다른 열에서 정렬하려고 할 때도 마찬가지입니다.
  2. 모든 ID를 배열로 읽고 주문시 전체 로그 메시지를 검색합니다 (사용자가 목록을 스크롤하여 표시되도록).
  3. SQL-Interface를 사용하여 SQL을 사용하여 필요한 결과를 가져와 필요한 정확한 하위 저술을 선택하십시오.

그러나 실제로, 나는 이런 종류의 문제로 작업하는 데 익숙하지 않으므로 모든 팁에 감사드립니다!

도움이 되었습니까?

해결책

Pagination을 사용하는 것은 어떻습니까?

SELECT *
FROM logs
WHERE ...
ORDER BY ...
LIMIT offset, count

오프셋 및 카운트가 선택할 수있는 값이있는 경우. 이것을 사용하여 많은 로그 항목을 얻을 수 있습니다. 그런 다음 다음 버튼을 추가하여 사용자가 다음 페이지의 항목을 볼 수 있도록합니다. 필터 및 정렬 기능과 결합하여 로그 검색이 더 쉬울 수는 없습니다.

다른 팁

나디아의 답변에 대한 의견으로 이것을 쓰기 시작했지만 나는 끔찍한 일을 시작했고 너무 길어졌다 :)

로그 항목의 수가 매우 커짐에 따라 스크롤 막대는 쓸모가 없다는 점을 명심하십시오. 두루마리에서 가장 작은 움직임은 목록을 크게 이동하게됩니다. 따라서 사용자가 목록을 검색하는 데 사용하는 것이 비현실적입니다.

왜 사용자가 실제로 이러한 항목을 살펴보고 그 주변의 디자인을 살펴볼 것인지 생각해보십시오. 매우 큰 목록은 코드에서 작업하기가 어렵지 않고 사용자와 함께 작업하기가 어렵습니다. 나는 아마 그들에게 몇 가지 필터 기준과 PAGED 결과를 줄 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top