Q1:@setSelectedNodeDataでセットできるのはテーブルデータを格納するということも可能でしょうか?格納できるのかと思い使用してみたのですが、getSelectedNodeDataでの取得データがおかしくなってしまったため、利用方法があれば教えていただけますか?
A選択しているノードなどのIDを取得することはできますでしょうか?
A1:
> @ setSelectedNodeDataでセットできるのはテーブルデータを格納するということも可能でしょうか?格納できるのかと思い使用してみたのですが、getSelectedNodeDataでの取得データがおかしくなってしまったため、利用方法があれば教えていただけますか?
任意のデータを格納可能です。テーブルデータの設定・取得を行う簡単なサンプルを用意しましたので、ご覧ください。
> A 選択しているノードなどのIDを取得することはできますでしょうか?
getNetworkTables()で取得したネットワークテーブルにIDが記述されています。
そのIDを利用し、getNodeById(int)、getEdgeById(int)を用いてノードやエッジを取得することができます。ただし、このIDは永続的なものではなく、ノードやエッジの削除を行うと変更される可能性があります。
永続的なID番号を設定したい場合には、アプリケーションで固有のID番号を発行し、それをsetSelectedNodeData(Object)やsetNodeData(PFObjectNetworkNode,Object)を用いてデータとして格納するのが確実です。
一般には、マップ、テーブル、ラベル付リスト等にキーと関連付けたデータ(例えば、"ID"という文字列とID番号)を登録し、それをノードのデータとして格納するのがよろしいかと存じます。
関連ファイル:ネットワーク図ノードデータ.mzax