問題タブ [hierarchical]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - MySQL での階層データの管理
この記事http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/に出くわしましたが、「新しいノードの追加」の部分がわかりませんでした。
新しいノードを追加するためにこれを行うことができると言われています:
- 実行時に、兄弟ではなく親がわかります。
- ノードに兄弟がまったくない場合、どうすれば追加できますか?
- 新しいルート ノードを追加するにはどうすればよいですか?
asp.net-mvc-3 - チェックボックスとラジオボタンを備えたMVC3階層ビューモデル
過去数か月にわたって MVC を学習してきたので、多くのことをカバーしてきましたが、比較的新しいものです...
比較的複雑なビュー モデルでチェック ボックスとラジオ ボタンを出力しようとすると問題が発生します。
次のビューがあります(無関係なフィールドは削除されています):
階層ビュー モデルは次のようになります。
メタデータの各部分には単一のタイプがあります。タイプは、メタ データの編集方法と表示方法 (およびデータ レイヤー内のデータの格納場所) を定義します。物事の表示側は完全に正常に機能しています。
タイプが「SELECTION」の場合、1つだけ選択できるラジオボタンのセットを1つ表示したい。タイプが「MULTISELECTION」の場合、複数選択できるチェックボックスのセットを表示したい。これはできますが、選択した値をモデルに正常にバインドできました。
現時点では、次のようなリストを表示するためにエディター テンプレートを使用しています。
これは、この問題が解決したときに拡張されますが、今のところ、すべてが期待どおりに出力されます。SELECTION タイプのラジオ ボタン リストと MULTISELECTION タイプのチェックボックス リストが表示されますが、モデルに適切にバインドされていません。アクションを送信します。
私は少し頭がおかしくなっています。私が間違っていることが明らかな人はいますか?
余談として:
MetaDataOption クラスのエディター テンプレートも作成しようとしましたが、テンプレート名が指定されている場合 (Html.EditorFor(m => m.Options , "MetaDataOptionsSingle") および Html.EditorFor(m => m.Options, "MetaDataOptionsMulti")) - エディター テンプレートの名前を指定しない場合、テンプレートは MetaDataOption モデルを持つことができますが、名前を指定する場合、リストが必要です。
アップデート
OK、なんとかこれを機能させましたが、目立たないチェックボックスの検証に問題があります。修正は次のとおりです。
メタデータ エディター テンプレートは次のようになります。
MULTISELECTION EditorFor 用に別の EditorTemplate を追加しました。
MetaDataOption クラスは次のとおりです。
送信時にモデルが正しく入力されるようになりました。ただし、エディター テンプレートによってレンダリングされたすべてのチェックボックスで検証が行われますが (クライアント検証をまだ実装していないため、ポスト アクション メソッドで)、MetaDataOption クラスの「選択済み」メンバーにはデータ注釈がありません。
注意事項 - チェックボックスが選択されていない場合、MetaData クラスの「Options」メンバーは null です。
Selected プロパティを null 許容 bool (bool?) に設定しようとしましたが、MetaDataOption エディター テンプレートの CheckBoxFor() ヘルパーが null 許容 bool を受け入れないという問題に遭遇しました。
これは私を夢中にさせています...私は、ASP.Netでやり遂げたであろう何かを機能させるために2日間を費やしました!
python - Pythonでウィジェットの階層グループを表現する良い方法は何ですか?
これはPythonスタイルの質問です。私のPythonコードは機能します。コードを読みやすく、理解しやすく、デバッグしやすくするためのコーディング規約の提案を探しています。
具体的には、呼び出し元がカスタムGUIにウィジェットを追加できるようにするPythonクラスに取り組んでいます。GUIを設定するには、ユーザーはウィジェット(名前付きまたは匿名)をウィジェット領域に追加して、ウィジェットがツリーを形成するようにするメソッドを作成します(GUIで一般的です)。
ユーザーがすべてのコンテナウィジェットに名前を付けることなくウィジェットのツリーを設定できるようにするため(そして、子ウィジェットが追加されるたびにその親ウィジェットを明示的に参照するため)、私のAPIは「親ウィジェット」の概念をサポートしています。スタック"。コンテナウィジェットを宣言するとき、ユーザーはそのウィジェットをこのスタックにプッシュするように指定できます。その後、デフォルトで、スタックの一番上にある親にさらにウィジェット(親を明示的に指定しない)が追加されます。これが私が意味することの簡単な例です:
これは便利ですが、GUI階層がより複雑になると、self.PopParentWidget()のどの呼び出しがどのコンテナーウィジェットに対応するかを判断するのが難しくなり始めます。1つが多すぎたり少なすぎたりするのは簡単で、GUIで非常に面白いが意図しない結果になってしまいます。
だから私の質問は、PopParentWidget()に明示的なウィジェット名を強制することを除いて(すべてのコンテナウィジェットに名前を付ける必要がないので避けたい)、push/を作成するためにできることはありますか?コード内のポップペアリングは、目に見えますか?
C / C ++ではインデントを使用してそれを行いますが、Pythonではそれを行うことは許可されていません。たとえば、私はこれができるようになりたいです:
...しかし、私がそのように創造的になると、PythonはIndentationErrorをスローします。
oracle - oracle階層クエリnocycleおよびrootによる接続
誰かがオラクルの階層クエリでnocycleとconnectbyroot句の使用を説明できますか?また、「start with」を使用しない場合、行を取得する順序は何ですか?つまり、「startwith」を使用しない場合は多くを取得します多くの行、誰でもnocycleを説明し、単純なempテーブルを使用してrootで接続できます(最初とはどのように異なりますか?)、助けてくれてありがとう
oracle - OBIEE 11g 階層列。ユニオンレポートで通常行うことをどのように達成するか
したがって、プロセスのフェーズには次のような階層関係があります。
次に、これらのフェーズを通過する多くのオブジェクトがあります。これらのオブジェクトは、いくつかの異なるタイプの 1 つに属しており、それらを A、B、および C と呼びましょう。したがって、次のようなピボット レポートを作成して、異なるタイプごとに各フェーズで費やされた合計 (または平均) 時間を示します。
ここで重要なことは、各フェーズにはそれに関連付けられた目標があり、実際の目標と簡単に比較できるようにすることです。それぞれの異なるタイプの列とペアになった目標列がある場所でそれを行うことができると思いますが、代わりに、次のように最後に目標のみを表示したい場合はどうでしょうか:
最初に考えたのはユニオン レポートを作成することでしたが、これは階層列ではサポートされていません。階層を展開または折りたたむと 2 つの同期が失われるため、別個のレポートを作成しても機能しません。これは私たちにとって新しい分野であり、そのようなことをどのように処理するかについて、概念的な空白を描いています。これを達成するために何をする必要があるかについてのアイデアはありますか?
現在の (簡略化された) テーブル構造は次のようなものです。
c# - 動的結合 階層データ
ms sql を使用して階層データについて調査しています。ここに私の db 値があります
このようなものになるためにテーブルに参加するにはどうすればよいですか
さらに入れ子にすることができます。テーブルを動的に結合して上記の結果を表示するにはどうすればよいですか?
mysql - mysql に階層データを保存する
私のアプリケーションでは、階層構造を持つエンティティ「Department」があります。
そして、ページに部門をリストするときに、階層ツリーのレベルとしてインデントしたいのでdeep
、現在の部門の場所を識別する列を追加します。
これはテーブルです:
私は次のように表示します。
次に、新しいレコードを挿入するたびに、その値を計算するdeep
必要があります。どの方法が最も効率的か知りたいですか?
例えば:
新しい部門が作成された場合、その paren_id は2
、この部門が挿入される場合の深さは「23」である必要があります。値を計算する方法を知りたいのですが23
、何か提案はありますか?
アップデート:
質問は現在、SQLに関連付けられているようです:
特定の親によって最大長のディープ フィールドを選択したい。
テーブル全体で最大長の深い値しか取得できません。
しかし、与えられた親の下にいる場合はどうでしょうか?
wordpress - 'hierarchical' => true 親セレクターを表示しない
レイアウト目的で親を選択できるように、親選択を表示したい。
これは、WordPress フォーラムで回答がありませんでした。これは、欠落している機能または今後追加される機能である可能性があります。誰かがこれを機能させましたか?
php - Symfony2 で階層型 ACL/ACE を構築するには?
Symfony2 で階層型 ACL を構築する方法はありますか? 単純なカテゴリ/記事の 1 対多の関係を持つ管理領域を構築する必要があります。記事で追加の ACE が指定されていない場合、カテゴリのすべての ACE が関連する記事に伝播するように ACL を構築する方法はありますか?
いくつかのカテゴリと記事を作成し、User1 用に次の ACL を作成するとします。
最終的には次のようになります。
php - ネストするか、ネストしないか? MVC コントローラー (CodeIgniter)
バックグラウンド:
MVC アーキテクチャでコントローラーを最適に使用する方法を正確に理解するのに苦労しています。
この URL スキームに従う webapp があります。
/
- メインインデックス/static-page
- 静的ページ/categories
- 特定のカテゴリのインデックス/categories/users
- 特定のカテゴリのユーザーのインデックス/categories/users/id#/user-name
- 特定のカテゴリの特定のユーザー/categories/event-type-A
特定のカテゴリに関連するイベントのインデックス/categories/event-type-A/id#/event-name
- 特定のカテゴリの特定のイベント/categories/event-type-B
特定のカテゴリに関連するイベントのインデックス/categories/event-type-B/id#/event-name
- 特定のカテゴリの特定のイベント
*注意: この URL 構造は、不正な URL (間違った URL event-name
) が存在する場合に自動的に修正されるという点で、StackOverflow の構造に似ていid#
ます。
質問:
、categories
、users
およびevent-type
はそれぞれ独自の機能 (つまり、ユーザーの編集、イベントの操作など) を持っているため、それらはすべて独自のコントローラーです (そうですか?)。とは非常に似ているためevent-type-A
、クラスevent-type-B
から拡張された共通の機能を共有しています。events
OOP および MVC 設計の「標準的な慣行」に従うようにコントローラーを編成することをどのように提案しますか?
現在Pages
、静的ページ用のクラスがあり、categories
クラスを呼び出すusers
クラスevent-type-A
とevent-type-B
、(上記のように) クラスの拡張であるevents
クラスがあることを期待していました...続行。
単純な/疑似コードの例は大歓迎です。
追加情報:
参考までに、私は PHP/MySQL を使用しています。独自のフレームワークを作成して MVC を学ぼうとしてきましたが、最近 CodeIgniter に切り替えました。そうは言っても、CodeIgniter 固有のソリューションまたは一般的な MVC ソリューションで十分です。
アップデート:
Ako が以下で述べたように、1events
つのコントローラーに組み合わせて、そこから 2 つtype
の s を生成することは間違いありません。各コントローラーを実際にどのように設定するか (どのメソッドを定義するかなど)、それらを適切に連携させるために混乱しています。