C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: ツリービューからIDを取得するには


(過去ログ 105 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■62454 / inTopicNo.1)  ツリービューからIDを取得するには
  
□投稿者/ ネネイ (10回)-(2011/10/12(Wed) 14:30:08)

分類:[C#] 

http://bbs.wankuma.com/index.cgi?mode=al2&namber=62446
↑
この続きです。


AccessだとIDを下記のように、Node.Keyとすると簡単に取得出来ますが、
これをC#の場合、どのようにすればIDを取得出来るでしょうか?
Textは

e.Node.Text

とかやれば簡単に取得できるようですが。
こちらも悩んでいます。

考え方等教えて頂ければ幸いです。

宜しくお願いします。



【C#】

private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
    if (treeView1.SelectedNode.Level > 0)
    {
   
    /// IDを取得したい       
    }
}




【Access】

Private Sub LoadTreeView()
  Dim dbs  As Database
  Dim mrs  As DAO.Recordset
  
  Dim nodRoot As Node
  Dim objTree As TreeView

  DoCmd.TransferDatabase acLink, "Microsoft Access", "C:\db.mdb", acTable, "index_", "index_"

   Set dbs = CurrentDb()

   Set mrs = dbs.OpenRecordset("SELECT * FROM Index_ ORDER BY Level_,Vno", dbOpenDynaset, dbReadOnly)


  Set objTree = Me.treeview_ct.Object
  Me![treeview_ct].Nodes.Clear
  

     Set nodRoot = objTree.Nodes.Add(, , "root", "情報")
     
     Do Until mrs.EOF
      If mrs!ParentId <> -1 Then
        If "A00" = "A" & mrs!ParentId & mrs!Children_ Then
           Set nodRoot = objTree.Nodes.Add("root", tvwChild, "A" & mrs!Id, mrs!Name)
        Else
           If mrs![Children_] = 0 Then
              Set nodRoot = objTree.Nodes.Add("A" & mrs!ParentId, tvwChild, "A" & mrs!Id, mrs!Name)
           Else
              Set nodRoot = objTree.Nodes.Add("A" & mrs!ParentId, tvwChild, "A" & mrs!Id, mrs!Name)
           End If
        End If
       End If
      mrs.MoveNext
      Loop
     mrs.Close

objTree.Nodes(1).Expanded = True

End Sub

Private Sub treeview_ct_NodeClick(ByVal Node As Object)
    MsgBox Node.Key
End Sub

引用返信 編集キー/
■62455 / inTopicNo.2)  Re[1]: ツリービューからIDを取得するには
□投稿者/ ゼロワン (8回)-(2011/10/12(Wed) 15:28:30)
2011/10/12(Wed) 15:39:20 編集(投稿者)

No62454 (ネネイ さん) に返信

以下のいずれかの方法対応出来そうですが、どうでしょう。

・TreeNodeを継承したクラスを作成し、例えばIDプロパティを用意してNode.IDというようにアクセスできるようにする。

http://bbs.wankuma.com/index.cgi?mode=al2&namber=62446 で使用しているDictionaryを使い、
 (DictionaryのKeyがIDになると思いますので)DictionaryのFirstメソッド等で該当NodeのKeyを取得する。
引用返信 編集キー/
■62459 / inTopicNo.3)  Re[2]: ツリービューからIDを取得するには
□投稿者/ ネネイ (11回)-(2011/10/12(Wed) 15:58:11)
ゼロワンさん、回答ありがとうございます。
さっそく、頂いたコメントを参考にやってみたいと思います。

引用返信 編集キー/
■62464 / inTopicNo.4)  Re[3]: ツリービューからIDを取得するには
□投稿者/ ネネイ (13回)-(2011/10/12(Wed) 21:32:42)
ゼロワンさんのアドバイスより
>使用しているDictionaryを使い、
こちらはあまりネットに情報がありませんでしたので、諦めました。

>・TreeNodeを継承したクラスを作成し、
こちらの方法でやろうとクラス化してから、次どうしていいかわからず、途方にくれていると、


ノードのName プロパティを個々にIDを設定すればKeyの取得が出来るようなので、
AtterSelectのイベントで

e.Node.Name
で、取得出来そうなので、そちらの方向で考えています。

レス、ありがとうございました。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -