1

約600MBのログテキストファイル情報から大きなブロックのデータを読み取る方法について、以前に質問がありました。有用な情報を見つけるためにファイルを検索するとともに

データを表示するための最良の方法/効率的な方法は何でしょうか。以前は、約1 MBのログファイルデータについて、リストボックスを使用してファイル内の1エントリの文字列を表示していました。これにより、わずか1MBのデータに対して約7000のリストボックスエントリが入力されます。明らかに、600MBまでのログファイルに対してこれを行うことはできません。

ユーザーが1つのログエントリを「展開」して「ドリルダウン」し、特定の情報/デバッグ/エラーの詳細を確認できるようにしたいと思います。リストボックスは本質的にインデックスに基づく配列であるため、情報を表示するには別のコンテナを使用する必要がありますが、エントリを選択して詳細を展開する機能は維持されます。

4

3 に答える 3

1

ツリーは理にかなっています。ノードをフォールバックとして選択することで、賢くなり、バックグラウンドスレッドなどでノード/インデックスを遅延読み込みすることができます。

同じようなことですが、フィルターベースの選択のために複数のリストボックスがあることも可能です

ノードは、MonthYear、Date、Hour、Entryなどのソースまたはタイプ(そこにある場合)にすることができます。

最後に必要なのは、多数のエントリから選択できるリストボックスです。誰もそれを使用したくないし、誰もがそれを嫌うでしょう。

于 2012-10-05T18:07:37.260 に答える
0

私はこのように設計にアプローチします:

  1. 「今すぐ検索」ボタンなどを備えたログファイルの内容を分析することによって生成された上部のフィルターのセット。
  2. フィルタの中で、ページサイズを要求します(1ページあたり10、50、100の結果を表示するように)
  3. 下部にある検索結果ウィンドウには、選択したフィルター条件に一致する各ログノードの要約データのリストが含まれ、必要に応じて結果がページに分割されます。
  4. 特定のログノードを選択したときに表示される詳細ペイン
  5. 一致するレコードの数を示すフッターステータスバー

これにより、ユーザーは探しているものをすばやく検索できますが、見つかった結果の大きさに圧倒されることはなく、データセットのサイズを考慮して、表示する前にデータセットをフィルタリングする必要があります。ノード。

于 2012-10-05T18:24:18.093 に答える
0

600 MBのデータ、約7000 * 600(4.2M)行の場合、1つのウィンドウにすべてを表示することはできません。さまざまなページを参照する方法を使用することをお勧めします(各ページには100行しかない場合)。私があなたの場合は、ログファイルを前処理してから、ログをデータベースに挿入します。次に、ページネーションを使用してDBから行をロードします。このようにした場合でも、listviewまたはgridviewを使用できます。

于 2012-10-05T18:07:53.380 に答える