- - PR -
TreeNode変換エラー
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2003-01-29 17:39
はじめまして。
VB.NETでTreeViewを作成しています。 TreeNodeに親ノード、子ノードとセットしていく時に、変換エラーが出てしまいます。 ヘルプや他のサイトを参考にさせていただいているのですが、かなり初期で躓いています。 「型 'String' の値を 'Microsoft.Web.UI.WebControls.TreeNode' に変換できません。」 Me.TreeView1.Nodes.Add(rowA("Category").ToString)ソースの*部分の、 '(rowA("Category").ToString)' 部分で出ています。 お力をお貸しいただけますでしょうか。。 --- Imports Microsoft.Web.UI.WebControls Imports System.Data.OleDb Imports System.Data.SqlClient Dim rowA As DataRow Dim rowB As DataRow Dim nodX As TreeNode 'TypeAテーブルとTypeBテーブルをリレーションしてTypeListを作成しています。 親ノード=TypeA.Category 子ノード=関連付けされたTypeList.Name For Each rowA In myDataset.Tables("TypeA").Rows nodX = Me.TreeView1.Nodes.Add(rowA("Category").ToString) * For Each rowB In rowA .GetChildRows("TypeList") nodX .Nodes.Add(rowB ("Name").ToString) * Next Next |
|
投稿日時: 2003-01-30 08:41
ヘルプに書いてありますが・・・
>>「型 'String' の値を *'Microsoft.Web.UI.WebControls.TreeNode'* >> に変換できません。」 VS.NETの目次で、「Web開発→Web Development (英語)→WebControls→Platform Reference→Microsoft.Web.UI.WebControls Assembly Reference→Classes→TreeNodeCollection→Methods→Add」をたどってください。Addメソッドのオーバーライドに、Stringを受けるものはありません。くれぐれも、「Windows.Forms」のTreeNodeCollectionではありませんので、ご注意。 #私はMSDN Libraryをバインドしているので、パスが少し違うかもしれません。 #そのときはキーワードに「Microsoft.Web.UI.WebControls」を入れてください。 |
|
投稿日時: 2003-01-30 11:22
早速の返答ありがとうございました。
ヘルプを見て、検討したのですが理解できず、本当におはずかしい限りです。 String型が受けられないというところまではなんとなく解ったのですが、 パラメータに指定するTreeNodeオブジェクトをどのように指定するのか、検討が付きません。 度々恐れ入ります。 |
|
投稿日時: 2003-01-30 19:56
>>String型が受けられないというところまではなんとなく解ったのですが、
>>パラメータに指定するTreeNodeオブジェクトをどのように指定するのか、 >>検討が付きません。 ヘルプからはわかりませんね、ホント。先にTreeNodeオブジェクトを作っておいて、それをAddメソッドに渡せばいいのでしょうが、TreeNodeのコンストラクタに関する記述が見つかりませんor見つけられませんねぇ?? Microsoft.Web.UI.Controlsをプロジェクトに追加する方法がわからないので不確かなことしかいえませんが、 dim tn as new microsoft.web.ui.controls.treenode( と入れると、どんな候補が出てきますか? newがStringを受け入れるなら Add(New Web.UI.Controls.TreeNode("Label")) とやればいいし、受け入れないなら dim tn as new Web.UI.Controls.TreeNode() tn.NodeData = "Label" TreeNodeCollection.Add(tn) とやればいい、と思います。 |
|
投稿日時: 2003-01-31 11:10
Jittaさん、いつも返信をいただきまして、ありがとうございます。
newがStringを受け入れないようなので、こちらの方法で、検討しました。 dim tn as new Web.UI.Controls.TreeNode() tn.NodeData = "Label" TreeNodeCollection.Add(tn) Microsoft.Web.UI.WebControlsは、WebControls Version 1.0をMSのサイトからダウンロードして使っています。 助けていただいて、動くようになったソースは、 Imports Microsoft.Web.UI.WebControls Dim nodX As TreeNode Dim n1As TreeNode n1 = New TreeNode() n1.Text = nodX("Category").ToString TreeView1.Nodes.Add(n1) 大変参考になりました。ありがとうございます。 |
1