0

これは、データベースからデータを取得してツリー コントロールに表示するためのコードです。

String empid = ValueBox1.Text;
string constr = System.Configuration.ConfigurationManager.ConnectionStrings["EmployeeDatabase"].ConnectionString;
SqlConnection con = new SqlConnection(constr);
con.Open();
SqlCommand cmd = new SqlCommand("ReportingManagers", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@EmpID",SqlDbType.Int,0).Value =  empid;

SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
                //Here "Node" Means It Will Add Nodes As All Root Nodes...
                TreeView1.Nodes.Add(dr.GetValue(0).ToString());
 }
 dr.Close();

この行でエラーが発生しています:

 TreeView1.Nodes.Add(dr.GetValue(0).ToString());

エラー: 'System.Web.UI.WebControls.TreeNodeCollection.Add(System.Web.UI.WebControls.TreeNode)' に最適なオーバーロードされたメソッドの一致には、無効な引数がいくつかあります。

エラー: 引数 1: 'string' から 'System.Web.UI.WebControls.TreeNode' に変換できません

この問題を解決するのを手伝ってください..

4

2 に答える 2

2

あなたが得たエラーメッセージはかなり自明です。以下の行では、TreeNode オブジェクトがコレクションに追加されることを想定しています。

TreeView1.Nodes.Add(dr.GetValue(0).ToString());

これを試して:

TreeView1.Nodes.Add(new TreeNode(dr.GetValue(0).ToString()));
于 2012-12-20T06:24:27.120 に答える
0

String 値を直接追加するのではなく、TreeNode クラスの新しいインスタンスを作成する必要があります。

例については、このリンクを参照してください http://msdn.microsoft.com/en-us/library/system.windows.forms.treeview.nodes.aspx

于 2012-12-20T06:24:53.313 に答える