私はこのような階層構造を持っています:
Lot
|_Stages
|_Samples
例:
Lot1
|_Stage1
|_Sample11
|_Sample12
|_Stage2
|_Sample21
|_Sample22
ユーザーがLotIDを提供し、これに基づいて私のSQLクエリがすべてのステージと各ステージ内のすべてのサンプルを取得するという考え方です。
結果セットの各レコードをカスタムオブジェクトとして保存し、配列リストに追加します。
結果セット出力の例:
LotID || LotCondition || StageID || StageCondition || SampleID || SampleCondition
-------- || -------------- || ------------ || -------------------- || ------------ || --------------------------------
5001 || 処分|| 4001 || 完了|| 3001 || 承認済み
5001 || 処分|| 4001 || 完了|| 3002 || 承認済み
5001 || 処分|| 4002 || 完了|| 3003 || 承認済み
5001 || 処分|| 4002 || 完了|| 3004 || 承認済み
5002 || ReadyToRelease || 4003 || 完了|| 3005 || 承認済み
5003 || 処分|| 4004 || 完了|| 3006 || 承認済み
5004 || 処分|| 4004 || 完了|| 3007 || 承認済み
この配列リストから、DefaultMutableTreeNodeを使用してオブジェクトをツリーに追加します(つまり、新しいDefaultMutableTreeNode(custom_object.getLotID).. etc)。
現在、2つの問題があります。
一意のLotID=5001は1つだけですが、サンプルが4つあり、レコードが4つあるため、(上記の例から)4回表示されます。
私の目的は、最初にSampleIDを取得してそれぞれのStageIDに追加し、最後にすべてのStageIDをLotID(ルートノード)に追加することです。階層的に表示する方法がわかりません。
誰かが私を正しい方向に向けたり、いくつかのアイデアを教えてもらえますか?