2012-03-04 34 views
0

私は少しJsTreeとMVC3で遊んでいます。私は正常にMVC3メソッドを呼び出すことができますし、私は非常に基本を行うことができますので、基本的なJsTreeを読み込むJSONを取得します。私が理解していないことは、主にノードで必要な余分なデータを待つことや、そのデータの一部にツリーを作用させるために使う、より複雑なデータ構造です。jsTree、JSON、およびMVC3オブジェクト。データを構造化する方法

私のデータがある NodeText(文字列) - テキストが

ItemStatus(列挙型)を表示する - 上にドラッグ&ドロップとすることができるかを制御 -

itemTypeに(列挙型)は、ツリー上の色などを設定するために使用します何

RelatedIDs(下記のリストIDが構造体である) - 右クリックメニューやDB項目の識別に使用して情報を適用する - アイテムが

PrimaryItemID(IDおよび構造体である)ドロップされたときに使用ドロップされたアイテムからの関連ID。

SecondaryItemID(IDと構造体です) - 右クリックメニューとDBアイテムの識別と、ドロップされたアイテムからの関連IDの情報の適用に使用されます。私は、JSONデータのレイアウトが変更された可能性があるだけでなく、属性データとメタデータがありましたが、私はどこで、私はシリアル化するために作成すべきかMVC3モデルオブジェクト行くべきかに非常に明確ではありませんよ理解し、私の読書から

ID struct is 
ID (long) 
IDType (enum) 

このデータをツリーが理解できるJSONに変換します。私は本当に初めてベースデータ構造を取得したいので、コードのヒープを書き直す必要はありません。

私は必要な情報を残しておいてください。

答えて

1

これは私がJSTreeに使用していたデータモデルです。それをjsonの形式にする必要があります。

node.data.attr.href   <a> tag within <li> href 
       .other-a-attr any other attribute you want on the <a> 
     .title    visible title of node 
     .icon    optional image_file for icon 
    .state     controls icon, "open", "closed" or "" = default 
    .arrt.id     node id on the <li> 
     .nType    type_attr for UI and types plug ins - MUST SET using type_attr in Types plugin default is ref 
     .title    node title (not visible) 
     .other-li-attr  any other attritubes you want on the <li> 

私はJSTreeは非常に急な学習曲線を持っており、文書のうち、これを得ることは全く私たちnewbeesは容易ではありません同意する必要があります。

node.arrt.titleの対象はまだわかりません。それはあなたが木に見るタイトルではありません。 node.data.titleは、ツリーに表示されるものです。

私がまだ理解していない人がいるかもしれません。あなたがそれらを理解するかどうか私に教えてください。

+0

ありがとう!それは私が見てきたすべてのタグと価値の最良の記述であり、私は昨夜自分自身の大部分を自分で作業するのに多くの時間を費やしました。私はこの投稿を見て欲しいです。また、イベントの.arrt.other-li-attrにアクセスするのも非常に簡単です。私はまだデータの下で同じことを誓う方法を考えていません。 – Seer

+0

@seer私は多くの人が私たちの髪を引き出す時間を費やしてきたと思います。 JSTreeは素晴らしいリソースですが、使い方の詳細を知るにはかなりの時間がかかります。 –

+0

少し話題がありますが、あなたはDNDでプレーしましたか? 1つのツリーがアイテムであり、他のツリーがコマンドである2つのツリーを持つことを試みる。その項目に対してそのコマンドを実行するには、項目にコマンドをドロップします。コマンドは移動またはコピーされません。私は試行の間に話をしたノードの移動を試しましたが、常にノードをコピーまたは移動するので、DNDを試みようとしています。それが私の望むように働くかどうか知っていますか?ちょうどjavascript関数をトリガーしたい。私はそれがすべきだと思うが、それは私にテストの時間を節約することができると知っている:) – Seer

1

バックエンドに使用する言語は問われません。あなたの応答では、JSONは特定の方法で見なければなりません。 JSON形式の基本的なJSON形式は次のとおりです。

[ 
    { 
     "data" : { 
     "icon" : "/path/to/icon.png", 
     "title" : "name of the node" 
     }, 
     "attr" : { 
     "rel" : "type defined by types", 
     "title" : "node title", 
     "id" : "Node id" 
     }, 
     "state" : "closed" 
    } 
] 

明らかに、これはあなたの周りで遊ぶことができる例です。当然、nullをアイコンに入れたり、完全に削除したりすることができます。 reltypesプラグインで定義する必要がありますが、オプションでもあります。タイトルも同様です。

+0

もちろん、これは配列なので、必要な数のオブジェクトを追加することができます。 – Amir

+0

それでは、データと属性をどのように入れるべきかをどのように知っていますか?それは私がDND、型、コンテキストメニューなどのものを入れて、必要な情報を渡したり、ノード全体を返すようにする必要がある場所を探し出す作業に問題があります。 – Seer

+0

データは固定されています、タイトルはノードのタイトルです。 attrでは、あなたが望むものを置くことができます。人々が広く使う一般的なオプションは 'rel' /' id'/'title'ですが、必要に応じて追加することができます。 各プラグについてのドキュメントを読み、それを動作させる方法を理解する必要があります。通常は、データオブジェクト( 'data.rslt.o')を手に入れて操作し、サーバーに送り返したいものを送ります。 – Amir

関連する問題