• ベストアンサー

ツリーコントロールとツリー構造のデータとのリンク

terra5の回答

  • terra5
  • ベストアンサー率34% (574/1662)
回答No.2

今までそのケースは経験ありませんが、 多分GUIを含まないツリー構造のデータのクラスを作り、 それを継承してGUI依存部を実装すると思います。 こうすればGUI不要なら元のクラスを使えばいいし、 別のGUI環境下ならGUI依存部のみ書き換えればいいんじゃないかと。

pugoo
質問者

お礼

ご回答ありがとうございます。 他の掲示板にも同じ質問を書き込んでいたのですが、 (マルチポストは嫌われるとご指摘がありましたが) 同じような意見をいただきました。 ぜひ参考にさせていただきます。

関連するQ&A

  • ツリー構造の比較のアルゴリズムを教えてください

    ディレクトリ構造の変更前と変更後の比較を行って、 どのフォルダがどこへ行ったかを判別するプログラムを作成したいのですが、どんなアルゴリズムにすればよいでしょうか? 変更前と変更後でディレクトリは1:1に対応しません。n:mや削除、追加など色んなパターンがあります。 ツリー構造(ディレクトリ構造)とは、以下のようなイメージのものです。 C:. ├─Acrobat │ ├─ActiveX │ ├─Browser │ ├─FileInfo │ ├─HowTo │ │ ├─ENU │ │ │ └─Images │ │ └─JPN │ │ └─Images │ ├─Javascripts

  • C#のツリービューでツリーノードとデータの関連付け

    こんにちは。 C#でツリービューの操作をしています。 すでに階層構造を持つデータがあります。これをツリービューに表示させようとしています。 TreeNode treeNodeFruits = new TreeNode("果物"); としてツリービューに追加してあげると普通に表示できますが、このままだと独自データと関連付けがされていないため、ノードをクリックした際に何もできません。 C++ではHTREEITEMのlParamにユーザーデータのポインタをセットできますが、C#ではツリーノードに関連付けできそうな項目が見当たりません。 C#ではツリーノードと独自に持つデータとの関連付けをどのようにすればよろしいのでしょうか?

  • プログラム中のツリー形式のデータの保存方法について

    こんにちは。 趣味で、VC#2010を使ってウィンドウズプログラミングを行なっております。 カテゴリは、VBが最もVC#に近そうだったので、 VBとさせていただきました。 今回は、データの保存方法について質問させてください。 .NETでは、2次元の表に表せるようなデータであれば、 DataSetクラスで保存するのが便利だと思いますが、 ツリーになっているようなデータはどのように保存するのが定石でしょうか? ツリーになっているデータというのは、 TreeViewコントロールで表示するようなデータで、 このサイトのカテゴリもそれの一つだと思います。 ライフ ├恋愛・人生相談 |├恋愛相談 |├夫婦・家族 |… … このような3階層のものに限らず、より深いツリーのデータの保存形式の定石もあればご指導頂けると幸いです。 以上です。 よろしくお願い致します。

  • マスタデータ更新

    こんにちは。 システム開発の基礎的なところがわからないので、教えていただきたく、投稿させていただきます。 システム開発をほとんどやったことがないので、言葉が変なところもあるかと思いますが、宜しくお願いいたします。 サーバー上に、AというSQLServerのDBがあります。 今までは、システム管理者のみがAccessからA.DBのリンクテーブルを使い、マスタデータの更新/追加/削除を行っていましたが、今後、リーダークラスの人もできるようにしたい!という要望があり、そのインターフェース部分を作成しています。 いろいろと考え、フロントエンド側にAccessでB.mdbを作成し、そこには、A.DBと同じテーブル構造の一時TBLを作成し、B.mdbを開いた時にA.DBから全データを取得することにしました。(取得するところまではできています) ここから、設定するための画面作成をしますが、最終的に、更新/追加/削除されたデータは、どのようにA.DBにUPすればいいのでしょうか? 考えた方法として (1)B.mdb内に、一時テーブルとは別に、更に同じ構造の変更用テーブルを作成。 設定画面から更新/追加/削除されたデータは変更用テーブルに保存し、全ての処理が終了したら、変更用テーブルにあるデータを1つづつ見て、A.DBへ更新/追加/削除をかける (2)一時テーブルのデータを直接更新/追加/削除し、全ての処理が終了したら、全テーブルのレコードを1件づつ比較し、A.DBへ更新/追加/削除をかける というくらいしか思いつかないのです。 その他に思ったのが、一時テーブルもしくは変更用のテーブルに、レコード毎に「更新/追加/削除」がわかるようにフラグを設けて、そのフラグに従ったSQL文を発行する というくらいです。。。 根本的に、マスタデータに対する更新/追加/削除のやり方が間違っていたりしますか? 誰も聞ける人がいないので、どうぞ宜しくお願いいたします!!!

  • ドコモデータリンクをアンイストールできない。

    Windows7の64ビット版に誤ってドコモデータリンクのアプリをダンロードしました。このアプリは64ビット版に対応していないことがわかったため、コントロールパネルからアンインストールしようとした所、アンインストールできません。ドコモのHPを見たら、改めてこのアプリをダウンロードしてからアンインストールしてくださいとの記述があり、そのようにしたところ、アプリのダウンロードの途中で「インストールされようとしているバージョンより新しいバージョンがすでにインストールされています。セットアップを続行することはできません。」とのダイアログが出てきて前に進みません。コンピュータCのプログラムファイル内にはデータリンク関係のファイルは既にありません。コントロールパネルの表示だけにデータリンクが存在し、これを削除できない状態です。不都合はありませんが、コントロールパネルからこの表示を削除する方法を教えてください。回りくどい説明でごめんなさい。よろしくお願いします。

  • ツリービューの使い方が・・・

    VBのカスタムコントロールはほとんどさわったことがないので、ぜんぜんわからないです。 初心者っぽい質問で申し訳ないのですが、プロセスとプロセスがもっているスレッドを、プロセスID&スレッドIDをキーにツリー構造を持たせたいのですが、ツリービューのツリーへのアクセスのしかたがわかりません。 MSDNライブラリが壊れているようで、ヘルプが出ないのです。 新しいMSDNライブラリ入れてから、トラブル続き。 TreeView1.Nodes.Add , , "キー", "値" TreeView1.Nodes.Add , , "キー\サブキー", "値" じゃなさそうみたいです。 かといってそれぞれのノードが小枝への参照をもっているわけでもないし、小枝を追加するメソッドをもっているわけでもないし。 単純に小枝への追加のしかたが知りたいだけなんですけど・・・。 だれか教えてください。

  • 圧縮せずにディレクトリ構造をメールで送るには?

    海外の同僚があるソフトのデータがほしいと言ってきました。しかしそのソフトのデータはディレクトリツリー構造になっています。  1.彼はLHAなどの圧縮ソフトがないので圧縮して送れません。  2.自己解凍で送ると向こうの会社のサーバーがウィルスと勘違いして削除してしまいます。  3.しかもパソコンは素人に毛が生えたような初心者です。  4.私が持っているメールソフトではディレクトリーツリー構造をそのまま送れません。 何か良い方法はないでしょうか? お願いします。

  • PHPで開発効率をあげる方法。

    初めまして、ラブ・ザ・ゲームといいます。 初めて質問するのですが、独学でPHPを勉強しています。 自作のプログラムを作ったり、オブジェクト指向がなんとなくわかってきた・・・と思います。 そこで、みなさんが実践している開発効率を上げる方法を教えてください。 私は、どのプログラムでも使う基本のデータと、個々のプログラムで使用するデータを分けたいのですが、こういう方法が正しいのかが、わかりません。 多くのプログラム使う、 『No,oya,res(ツリー構造のため),名前、タイトル、コメント、日付、IP』 で、データをまとめる、サブルーチンなりクラスにします。 それを追加・変更サブルーチンや、クラスの継承で、 『No,oya,res(ツリー構造のため),名前、タイトル、コメント、日付、IP』 に、『アドレス、画像』 を付け加えたいのです。 こうすれば、バグや修正するときに、楽だと思うのですが。 この方法は、どうでしょうか? サブルーチンなのでしょうか? オブジェクト指向は、データ中心だと読んだので、こういう方法は少し地が浮きもするのですが。 クラス・オブジェクト指向でも可能なのでしょうか? また、ほかに、開発効率を挙げる方法がありましたら、お教えください。

    • ベストアンサー
    • PHP
  • データ構造で悩んでます

    以下の構造体があります。 struct Test {   string name;   int no;// 1~100   int age;// 1~100 }; stlのvectorに頻繁に動的に追加、削除されるとします。これをnoやageをキーに効率よく検索する方法を教えてください。 私が思いついたのは、 ・multisetを別に用意する。問題点は追加、削除毎にソートされてしまう。 ・no,age分vectorを用意する。速いけど汎用性が無い。 boostや他のライブラリは無しでお願いします。

  • データ構造の保存法について

    データ構造のメモリ上の状態、つまりポインターによるノード間のつながりをファイルに保存して、そのファイルを読み込むとコンピュータ上で前回のデータ構造を再現(ポインターによるつながりを再現)できる方法を探しています。 現在バイナリーツリーで上記の保存法を色々探したり考えたりしているのですが、いい方法が見つかりません。 各ノードに番号をふってファイルに保存し、次回読み込んだときに上手く工夫してやればできるかな、といった程度です。 ご存知の方がおられたら教えていただけないでしょうか? よろしくお願いいたします。