JSF + Primefaces を使用して、MySQL から取得したデータのリストを使用して Tree ウィジェットを構築しようとしています。私の問題は、ツリーの作成方法がわからないことです。
例として、MySQL に次のデータがあります。
ID | 名前 | クラス ID | fl_id ----------------------------------------------- 1 | マーケティング | 0 | 1 2 | コマーシャル | 0 | 1 3 | トレードマーケティング | 1 | 1 4 | セールス | 1 | 1 5 | リチャード | 1 | 2 6 | ロジャー | 1 | 3 7 | マリア | 2 | 4
次のようなツリー表示が表示されます。
マーケティング >トレードマーケティング >リチャード >>ロジャー 商業 >販売 マリア
お気づきのように、クラス ID から、親は 0 で、子は 1 です (これは通常、父親の場合は null ですが、データベースを変更することはできません)。
これまでにコーディングしたものは、次のようになります。
// Connection with MySQL, get result set, put all the data in my list and use a loop
// to count on that list. Then use an "if" condition to tell if 1 or 0, as child or
// father
for(count = 0, cont < rs.getString("class id").size(); count++)
if(rs.getInt("class id") == 1) {
}
else if(rs.getInt("class id") == 2) {
}
}
// Basically is wrong, because I can't tell what is the end, or leaf.
基本的に、私が概念化したコードですが、まだ完全にはテストされていません。すべてのコードを投稿できましたが、職場でログインできません (どういうわけかブロックされます)。
これを行う方法を見つけるために見つけたGoogleのすべてのページを調査しましたが、MySQLでツリーを作成する方法はかなり混乱しています。静的な表示ははるかに簡単です(Primefacesの例から)。私はJavaの初心者です。