表
BigClassID(标识列)
PBigClassID(判断是否根接点要根据这列,为0就是根点)
BigClassName(TREEVIEW要绑定的字段)代码如下:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
PopulateTreeView();
}
} private void PopulateTreeView()
{
DataTable treeViewData = GetTreeViewData();
AddTopTreeViewNodes(treeViewData);
} private DataTable GetTreeViewData()
{
string cmd = "select BigClassID,PBigClassID,BigClassName from BigClassStru";
string cn = "server=192.168.1.179;database=sky3;uid=sa;pwd=hp1502...";
SqlDataAdapter dad = new SqlDataAdapter(cmd,cn);
DataTable dtblBigClassStru = new DataTable();
dad.Fill(dtblBigClassStru);
return dtblBigClassStru;
} private void AddTopTreeViewNodes(DataTable treeViewData)
{
DataView view = new DataView(treeViewData);
view.RowFilter = "PBigClassID is 0";
foreach (DataView row in view)
{
TreeNode newNode = new TreeNode(row["BigClassName"].ToString(),row["PBigClassID"].ToString());
TreeView1.Nodes.Add(newNode);
AddChildTreeViewNodes(treeViewData,newNode);
}
} private void AddChildTreeViewNodes(DataTable treeViewData,TreeNode parentTreeViewNode)
{
DataView view = new DataView(treeViewData);
view.RowFilter = "PBigClassID=" + parentTreeViewNode.Value;
foreach (DataRowView row in view)
{
TreeNode newNode = new TreeNode(row["BigClassName"].ToString(),row["BigClassID"].ToString());
parentTreeViewNode.ChildNodes.Add(newNode);
AddChildTreeViewNodes(treeViewData, newNode);
}
}
BigClassID(标识列)
PBigClassID(判断是否根接点要根据这列,为0就是根点)
BigClassName(TREEVIEW要绑定的字段)代码如下:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
PopulateTreeView();
}
} private void PopulateTreeView()
{
DataTable treeViewData = GetTreeViewData();
AddTopTreeViewNodes(treeViewData);
} private DataTable GetTreeViewData()
{
string cmd = "select BigClassID,PBigClassID,BigClassName from BigClassStru";
string cn = "server=192.168.1.179;database=sky3;uid=sa;pwd=hp1502...";
SqlDataAdapter dad = new SqlDataAdapter(cmd,cn);
DataTable dtblBigClassStru = new DataTable();
dad.Fill(dtblBigClassStru);
return dtblBigClassStru;
} private void AddTopTreeViewNodes(DataTable treeViewData)
{
DataView view = new DataView(treeViewData);
view.RowFilter = "PBigClassID is 0";
foreach (DataView row in view)
{
TreeNode newNode = new TreeNode(row["BigClassName"].ToString(),row["PBigClassID"].ToString());
TreeView1.Nodes.Add(newNode);
AddChildTreeViewNodes(treeViewData,newNode);
}
} private void AddChildTreeViewNodes(DataTable treeViewData,TreeNode parentTreeViewNode)
{
DataView view = new DataView(treeViewData);
view.RowFilter = "PBigClassID=" + parentTreeViewNode.Value;
foreach (DataRowView row in view)
{
TreeNode newNode = new TreeNode(row["BigClassName"].ToString(),row["BigClassID"].ToString());
parentTreeViewNode.ChildNodes.Add(newNode);
AddChildTreeViewNodes(treeViewData, newNode);
}
}
错误提示:编译错误
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 编译器错误信息: CS1502: 与“System.Data.DataView.this[int]”最匹配的重载方法具有一些无效参数源错误:
private void AddTopTreeViewNodes(DataTable treeViewData)
{
DataView view = new DataView(treeViewData);
view.RowFilter = "PBigClassID is 0";
foreach (DataView row in view)
{
TreeNode newNode = new TreeNode(row["BigClassName"].ToString(),row["PBigClassID"].ToString());
TreeView1.Nodes.Add(newNode);
AddChildTreeViewNodes(treeViewData,newNode);
}
protected void Page_Load(object sender, EventArgs e)
{
TreeBing();
} /// <summary>
/// 树控件的绑定
/// </summary>
public void TreeBing()
{ DataSet ds = srBll.TreeBing(Convert.ToInt32(LoginUser.CurrentUser.UserId), 0);
DataTable dt = ds.Tables[0];
foreach (DataRow row in dt.Rows)
{
TreeNode node = new TreeNode();
node.Text = row["MenuName"].ToString();
node.Target = "Main";
node.Value = row["URL"].ToString();
string sid = row["MenuID"].ToString();
this.TVMenu.Nodes.Add(node); TravelTree(node, sid); }
}
/// <summary>
/// 显示数据
/// </summary>
/// <param name="nodes"></param>
/// <param name="id"></param>
private void TravelTree(TreeNode nodes, string id)
{
DataTable dt = ds.Tables[0];
foreach (DataRow row in dt.Rows)
{
TreeNode node = new TreeNode();
node.Text = row["MenuName"].ToString();
node.Target = "Main";
node.Value = row["URL"].ToString();
string sid = row["MenuID"].ToString(); nodes.ChildNodes.Add(node);
TravelTree(node, sid);
} }
1 中国 0
2 日本 0
3 湖南 1
4 湖北 1
5 东京 2
6 长崎 2
他不让我转型,我要转STRING 他提示无法转换成INT
这个实在让我无解TreeNode.TreeNode(string text,string value)
这个没有错吧
foreach (DataRowView row in view)
{
TreeNode newNode = new TreeNode(row["BigClassName"].ToString(),row["PBigClassID"].ToString());
TreeView1.Nodes.Add(newNode);
AddChildTreeViewNodes(treeViewData,newNode);
}
我实在很奇怪!我根节点用了你的方法 就OK 了
我子节点还是延用我自己的方法
TreeNode newNode = new TreeNode(row["BigClassName"].ToString(),row["BigClassID"].ToString());
上面通不过,居然下面能通过,让我感到很神奇。