treeview控件与数据库表绑定
我有如下一张表(Oracle):
create table TREEVIEWTABLE
(
NODEID CHAR(6) not null,
PARENTID CHAR(6),
NODENAME NVARCHAR2(50),
URL NVARCHAR2(100)
)
想在
protected void Page_Load(object sender, EventArgs e)
{
}
中把从Table中读出的内容绑定到TreeView1上去,一启动页面,就可以看到TreeView1上的值,请问如何用代码实现,可以不用讲数据库如何连接的问题,多谢!
我用了如下代码,但有两句通不过,请大家帮忙看看?
public void dbtree()
{
string str = "Data Source = DPGDB; User Id = TOM; PassWord = zte123;";
OracleConnection con = new OracleConnection(str);
try
{
con.Open();
OracleCommand oracleCmd = new OracleCommand();
oracleCmd.Connection = con;
oracleCmd.CommandText = "select * from TREEVIEWTABLE";
oracleCmd.CommandType = CommandType.Text;
OracleDataAdapter adp = new OracleDataAdapter(oracleCmd);
adp.Fill(ds);
}
catch (Exception ex)
{
throw (ex);
}
finally
{
con.Close();
}
AddTree(0, (TreeNode)null);
}
//从DataSet中取数据建树
public void AddTree(int ParentID, TreeNode pNode)
{
DataView dvTree = new DataView(ds.Tables[0]);
//过滤ParentID,得到当前的所有子节点
dvTree.RowFilter = "[PARENTID] = " + ParentID;
foreach(DataRowView Row in dvTree)
{
if (pNode == null)
{
//添加根节点
TreeNode Node = TreeViewMenu.Nodes.Add(Row["NODENAME"].ToString());//这句有错
//错误是:与“System.Web.UI.WebControls.TreeNodeCollection.Add
// (System.Web.UI.WebControls.TreeNode)”最匹配的重载方法具有一些无效参数
//参数“1”: 无法从“string”转换为“System.Web.UI.WebControls.TreeNode”
AddTree(Int32.Parse(Row["NODEID"].ToString()), Node);
}
else
{
//添加当前节点的子节点
TreeNode Node = pNode.ChildNodes.Add(Row["NODENAME"].ToString());//这句也是上面的错误
AddTree(Int32.Parse(Row["NODEID"].ToString()), Node);
}
}
}