• ベストアンサー

TreeVeiwの使い方についてです

pulsaの回答

  • ベストアンサー
  • pulsa
  • ベストアンサー率57% (34/59)
回答No.1

VB2008が手元にないので返答を控えていましたが、回答が付いてないようなので判る範囲で回答します TreeVeiwは各フォルダ一つ一つを個別のNodesとして扱い、それぞれの関係を親・子・孫…と関連付けることで、構成を表示します 具体的には、TreeVeiwのプロパティを表示し、その中のNodesを選択[…]を押して、TreeNode エディタを表示します ルートノードに八百屋を設定します ルートの追加を押してTextを『八百屋』とします 次に、子の追加を押して同じようにTextを『果物』とします そして、果物ノードを選択した状態で、子の追加を押して、果物ノードのさらに子ノード(八百屋から見て孫)にバナナを追加します コードで実装する場合は、いわゆるAddで追加して行きます TreeVeiwでの各ノードは、TreeNodeと言う型で宣言した変数を使用します   Dim rootNode As New TreeNode '親   Dim childNode1 As New TreeNode’子1   Dim childNode2 As New TreeNode’子2   Dim grandChildNode1 As New TreeNode’孫1   Dim grandChildNode2 As New TreeNode’孫2   Dim grandChildNode3 As New TreeNode’孫3 ’実際使うのは親・子1・孫1 のみ   '親ノードの作成   rootNode.Text = "八百屋"   '子1ノードの作成   childNode1.Text = "果物"   '孫1ノードの作成   grandChildNode1.Text = "バナナ" ’各ノードの関係をTreeVeiw1に登録する   '八百屋をTreeView1に登録   TreeView1.Nodes.Add(rootNode)   '果物を八百屋に登録   rootNode.Nodes.Add(childNode1)   'バナナを果物に登録   childNode1.Nodes.Add(grandChildNode1) 概念&追加方法はこんな感じです あとは、データをどこから拾うかによりますが、ListBoxなどから拾うのであれば、For Each を使うとかしてループ内部で宣言と追加を行えば、動的に実行させる事が可能です どこに書いてある項目を、どのノードに追加するかをコードで設定するイメージです ループ中では宣言の代わりに New を使用します 基本はここが判りやすかった http://vbdotnet.fc2web.com/vbnet/control/TreeView01.htm ノードの追加は状況が色々あるので、これと言った例を示すのが難しいですね このあたりに、コードで追加する方法が載っていますので、見てみてください http://www.atmarkit.co.jp/fdotnet/dotnettips/259treeviewadd/treeviewadd.html XP/VB2005 応用利くのであれば、試して見てください

icevain
質問者

お礼

pulsaさん はじめまして 丁寧な回答に感謝です。 基本はよくわかりました。 最終的にやりたかったことは 複数のフォルダパスを取得して treeview表示したかったのですが それには2次元の動的配列を使って やるのかなーって漠然と考えています。 試行錯誤してみます。 行き詰ったらまたよろしくお願いします。 有難うございました。

関連するQ&A

  • メールの本文にテーブルのデータを書き込む

    ご質問させて頂きます。 access2000、ADOを使用しています。 Aテーブルに以下のようなデータがあります。 1 りんご 2 バナナ 3 みかん このデータを使って 以下のようなメールをお送りしたいのです。 ----------------- 件名 果物について 本文 お世話になっています。 果物について以下の通りです。 1 りんご 2 バナナ 3 みかん ----------------- ご教授して頂けたら幸いです。

  • リストボックスについて

    PHPをはじめて間もないのですが、質問します DB(MySql)のテーブルを使用してリストボックスの 選択肢をさせるようにしたいのですが、 同じ1つのリストボックスで選択するようにします テーブル CodeNo 商品名   分類 0001  バナナ   果物 0002  みかん   果物 0003  ピーマン  野菜 0004  トマト   果物 0005  もも    果物 0006  にんじん  野菜 のようなデータがあるとします (1)選択肢は分類のデータを表示します    果物    野菜 (2)(1)で選択された分類の商品名を選択肢にします    果物選択したとする    バナナ    みかん    トマト    もも (3) (2)で選択されたCodeNo,商品名を表示する    トマトを選択したとする 0004  トマト がテキストボックスに表示されるようにします。 以上のようなことをPHPですべてするにはどのようにすれば よいのか、ご教授いただけませんでしょうか? よろしくお願いいたします。    

    • 締切済み
    • PHP
  • Excel2003で困っています

    以下の表から投票数が多い順に果物を並べた別表を作りたいと思います。投票数はLarge関数を使い、果物はvlookup関数を使おうと考えましたが、vlookupでは検索値が重複していると最初に一致した果物を表示するようで、2のバナナが2つ出てしまいます。 重複した検索値がある場合に、合致する行をすべて表示するにはどうしたらよいでしょうか?  A   B 1 投票数 果物  2 0   りんご 3 2   バナナ 4 3   みかん 5 2   梨 6 5   ぶどう 7 0   スイカ

  • 初心者です。Access レポートで下記のように作成したいのですが、な

    初心者です。Access レポートで下記のように作成したいのですが、なんか重複データで引っかかってしまいました。 ※(1)作成したいレポート 分類   名前     地名    小計   合計   総合計 -------------------------------------------------- 果物   りんご   青森   100    170   1070               千葉    50               山梨   20      バナナ   千葉   450    450      みかん   栃木   300     450                     150 ---------------------------------------- ワイン   AAAA   ドイツ   500    800    1000            イタリア   300       BBBB    ドイツ   200   200 ↓↓   ↓↓   ↓↓   ↓↓   ↓↓  ↓↓ ※(2)クエリで下記のようなデータがあります。 分類   名前     地名    小計   合計   総合計 -------------------------------------------------- 果物    りんご    青森    100    170    1070 果物   りんご    千葉    50    170    1070 果物   りんご   山梨   20   170   1070 果物   バナナ   千葉   450    450    1070 果物   みかん   栃木   300   450    1070 果物   みかん    栃木   150   450    1070 -------------------------------------------------- ワイン  AAAA  ドイツ   500    800    1000 ワイン  AAAA  イタリア  300   800   1000 ワイン  BBBB  ドイツ   200   200   1000 ↓↓   ↓↓   ↓↓   ↓↓    ↓↓    ↓↓ (1)レポートで      フィールド[分類]:重複非表示 [はい]      フィールド[名前]:重複非表示 [はい]      フィールド[合計]:重複非表示 [はい]      フィールド[総合計]:重複非表示 [はい]にすると下記の様になってしまいしますが、 分類   名前     地名    小計   合計   総合計 -------------------------------------------------- 果物   りんご   青森   100    170   1070               千葉    50               山梨   20      バナナ   千葉   450    450      みかん   栃木   300                     150 ---------------------------------------- ワイン   AAAA   ドイツ   500    800    1000            イタリア   300       BBBB    ドイツ   200   200 ↓↓   ↓↓   ↓↓   ↓↓   ↓↓  ↓↓ 結果的に上記(1)の様にしたいです。名前のフィルドにバナナ、みかんなどの合計はそれぞれ450と450を表示させたいのですが、たれかその方法は教えて頂けないでしょうか。よろしくお願いします。

  • PHP CSVから条件にあう行を3行取りだしたい

    以下のようなCSVがあったとします。(data.csv)価格で降順にソートしてあります。 line0,line1,line2 1,ぶどう,200(円) 2,なし,150(円) 3,りんご,100(円) 4,バナナ,80(円) 5,みかん,50(円) ある果物を紹介するページがあったとして、 そのページには、他のオススメの果物として、csvからデータを読み込み、 その果物よりも安いもの3件を表示するという仕組みを作ろうと思っています。 ただ、安いものが3件無かった場合に、それよりも高いが、それに近い価格の果物を あわせて3件まで紹介したいと思っています。 今作っているPHPは以下の通りです。 ページに紹介されている果物=($fruits),価格=($price) です。 <?php $Data=file('/data.csv'); $j=0; for($i=0;$i<sizeof($Data);$i++){ $line=explode(",",$Data[$i]); #表示ページの果物とCSVのline1が違い、価格が$priceよりも小さいものを3件まで表示 if($fruits != line1 and $price >= line2 and $j<3 ){     echo $line1 $line2.' </br>'; $j++; } } ?> で、価格が低いものを3件まで表示することはできました。 ぶどう200円のページであれば、 2,なし,150(円) 3,りんご,100(円) 4,バナナ,80(円) が表示されるようにはできました。 りんご100円のページには、 4,バナナ,80(円) 5,みかん,50(円) の2件のみが表示されています。 上記りんごのように、安いものが3件なかった場合に、 それより価格が高いが一番近いものから順に3件になるまでデータを 取りだしたいと思っています。 今回のりんごであれば、リンゴより安い、バナナ80円、みかん50円、 それに加え、リンゴより高いがリンゴの価格に一番近い、なし150円を表示させたいです。 みかんの場合には、安いものがないため、高いがみかんに近いものから3つ 2,なし,150(円) 3,りんご,100(円) 4,バナナ,80(円) を表示させたいです。 一体どうしたら良いのか、検討も付かず、教えて頂きたいです。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • エクセルのピボット(文字)

    エクセル初心者です。 ピボットで表を作成したいのですが、文字を 表示させることができません。 Aのようなデータを使用してBを作成したいです。 A:元データ 日付     果物   入れ物 1月1日  りんご ダンボール 1月2日  バナナ 買い物袋 1月2日  りんご 買い物袋  1月3日  メロン ダンボール B:作成したい表 入れ物  果物  日付 ダンボール  りんご 1月1日          メロン  1月3日 買い物袋   バナナ 1月2日          りんご  1月2日 ピボットで作成しようとすると、果物のところが0や1と ”データの個数”であらわされてしまいます。 フィールドの設定で「値」に変更すればよいと友人から聞いたのですが 「値」がないです。 どのようにしたら文字を表示させることができるか、 教えてください!!

  • FRQUENCY関数と条件設定

    FREQUENCY関数なんですが、さらに条件をつけるやり方を教えてください。 名称 入数(個) いちご 2 いちご 12 いちご 13 いちご 3 みかん 3 バナナ 14 いちご 16 いちご 18 ・・・・と続くデータを 各果物にわけて、~10個、~15個、~20個の度数分布を・・・というのはどうしたらいいでしょうか。 例えば全部いちごで、入数の度数分布なら {=FRQUENCY(B2:B8、C1:C3)} にしてるだろうと思うんですけど いちご、バナナ、みかん と分けて度数分布を…という場合はどうすれば?という質問です。 よろしくお願いします。

  • エクセル関数 頻度順に並べる方法は?

    excel関数についてですが 度数の多い順に並べる方法はありますか? 例えば、果物名前がたくさん並んでいるデータを考えます。 1 りんご 2 バナナ 3 なし 4 りんご 5 メロン 6 もも 7 ぶどう 8 りんご 9 ぶどう 10 バナナ 11 りんご 12 ぶどう このデータから、度数の多い順に並べたいです。 [欲しい結果] 1 りんご 2 ぶどう 3 バナナ ...といった具合です。 同率で並ぶ場合は含めなくてもよいですが。。。 できれば、データ列を作らずに関数式で表示させたいのです。

  • 渋柿どこかに売ってませんか?

    干し柿を作りたいと思っています。どこか果物屋や八百屋などで、渋柿を売っているお店をご存じの方はいらっしゃいませんか? ちなみに大田区在住です。

  • エクセルでの集計に関して

    こんにちは。いつもお世話になっております。 例えばですが、以下のようなCVSのデータがあります。 (エクセルで開けます。) 昇順 降順に変更可能です。 これが、何週間分かあり、タブがあって日にちごとに見れますが、 30件ほどの品目の、200件ほどのデータが50件ずつにのみ表示されます。 4/1分データ    品名   売り上げ数   りんご1  100    りんご2  200    みかん1  300    みかん2   400    バナナ1  500             次の50件→ -------------------------------------------- 4/2分データ    品名   売り上げ数   りんご1  1000    りんご2  2000    みかん1  3000    みかん2   4000    バナナ1  5000   バナナ2  6000   アボガド  7000   いちご   8000     次の50件→      ↓続く これを、エクセルで下記のようにしたいのです。 ********************************************** ID  品名    4/1分集計 4/2集計  4/3集計  4/4集計  4/4集計~~ A   りんご1  100   1000    300 B   りんご2  200   2000    400  C   みかん1  300   3000    500 D  みかん2   400   4000    600 E   バナナ1  500    5000    700 D  バナナ2        6000    800 E  アボガド       7000    900 F  いちご       8000    1000 日にちによって当然、新たな項目、アボガドやいちごがあったりします。みなさんでしたら、最速で一番簡単に行う為にどうしますか? ちょっといそいでてお知恵をどなたか下さい! ご教授下さいますようお願い致します。