62,242
社区成员




using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
namespace WebApplication1
{
public partial class WebForm3 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
CategoryNodeBind();
}
}
private void CategoryNodeBind()
{
//string sqlCommand = "SELECT * FROM DBO.Category WHERE ID=PARENTID";
DataTable parentData = createdb();//GetCategories(sqlCommand);
for (int i = 0; i < parentData.Rows.Count; i++)
{
TreeNode parentNode = new TreeNode();
parentNode.Text = parentData.Rows[i]["Name"].ToString();
parentNode.Value = parentData.Rows[i]["Id"].ToString();
//parentNode.NavigateUrl = parentData.Rows[i]["CatalogEditUrl"].ToString();
this.TreeView1.Nodes.Add(parentNode);
SubCategoryNodeBind(parentNode);
}
}
private void SubCategoryNodeBind(TreeNode parentNode)
{
//string sqlCommand = "SELECT * FROM DBO.CATEGORY WHERE PARENTID='" + parentNode.Value + "'";
DataTable childData = createsubdb();//GetCategories(sqlCommand);
for (int i = 0; i < childData.Rows.Count; i++)
{
TreeNode childNode = new TreeNode();
childNode.Text = childData.Rows[i]["Name"].ToString();
childNode.Value = childData.Rows[i]["Id"].ToString();
//childNode.NavigateUrl = childData.Rows[i]["CatalogEditUrl"].ToString();
parentNode.ChildNodes.Add(childNode);
}
}
public DataTable createdb()
{
DataTable db = new DataTable();
DataColumn dc;
dc = new DataColumn("Name", System.Type.GetType("System.String"));
db.Columns.Add(dc);
dc = new DataColumn("Id", System.Type.GetType("System.Int32"));
db.Columns.Add(dc);
DataRow dr;
for (int i = 0; i < 3; i++)
{
dr = db.NewRow();
dr[0] = "name" + i;
dr[1] = 1 + i;
db.Rows.Add(dr);
}
return db;
}
public DataTable createsubdb()
{
DataTable db = new DataTable();
DataColumn dc;
dc = new DataColumn("Name", System.Type.GetType("System.String"));
db.Columns.Add(dc);
dc = new DataColumn("Id", System.Type.GetType("System.Int32"));
db.Columns.Add(dc);
DataRow dr;
for (int i = 0; i < 3; i++)
{
dr = db.NewRow();
dr[0] = "sub"+ i;
dr[1] = 1+i;
db.Rows.Add(dr);
}
return db;
}
protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{
TreeNode aaa = TreeView1.SelectedNode;
string aa = aaa.Value;
}
}
}
照LZ改的,完全OK通过private void CategoryNodeBind()
{
string sqlCommand = "SELECT * FROM DBO.Category WHERE ID=PARENTID";
DataTable parentData = GetCategories(sqlCommand);
for (int i = 0; i < parentData.Rows.Count; i++)
{
TreeNode parentNode = new TreeNode();
parentNode.Text = parentData.Rows[i]["Name"].ToString();
parentNode.Value = parentData.Rows[i]["Id"].ToString();
parentNode.NavigateUrl = parentData.Rows[i]["CatalogEditUrl"].ToString();
this.CategoryView.Nodes.Add(parentNode);
SubCategoryNodeBind(parentNode);
}
}
private void SubCategoryNodeBind(TreeNode parentNode)
{
string sqlCommand = "SELECT * FROM DBO.CATEGORY WHERE PARENTID='" + parentNode.Value + "'";
DataTable childData = GetCategories(sqlCommand);
for (int i = 0; i < childData.Rows.Count; i++)
{
TreeNode childNode = new TreeNode();
childNode.Text = childData.Rows[i]["Name"].ToString();
childNode.Value = childData.Rows[i]["Id"].ToString();
childNode.NavigateUrl = childData.Rows[i]["CatalogEditUrl"].ToString();
parentNode.ChildNodes.Add(childNode);
}
}
父节点和子节点的绑定方式是一样的,如果出问题那父节点怎么不出问题啊