__在asp.net2.0下treeview怎么做的和csdn左边树一样啊?
要单击节点后,加载子节点数据,要无刷新。
怎么做啊,大家有用2.0做过没??
谢谢!~~
------解决方案--------------------SF!
------解决方案--------------------1.数据库结构你有了没。
2.asp.net ajax 你懂了没有。
------解决方案--------------------// MSDN
/*
下面的代码示例演示如何使用 PopulateNodesFromClient 属性启用 TreeView 控件中节点的客户端填充。请注意,启用了客户端节点填充后,会在客户端上自动填充节点,无需回发到服务器。
*/
<%@ Page Language= "C# " %>
<%@ Import Namespace= "System.Data " %>
<%@ Import Namespace= "System.Data.SqlClient " %>
<script runat= "server ">
void PopulateNode(Object sender, TreeNodeEventArgs e)
{
// Call the appropriate method to populate a node at a particular level.
switch(e.Node.Depth)
{
case 0:
// Populate the first-level nodes.
PopulateCategories(e.Node);
break;
case 1:
// Populate the second-level nodes.
PopulateProducts(e.Node);
break;
default:
// Do nothing.
break;
}
}
void PopulateCategories(TreeNode node)
{
// Query for the product categories. These are the values
// for the second-level nodes.
DataSet ResultSet = RunQuery( "Select CategoryID, CategoryName From Categories ");
// Create the second-level nodes.
if(ResultSet.Tables.Count > 0)
{
// Iterate through and create a new node for each row in the query results.
// Notice that the query results are stored in the table of the DataSet.
foreach (DataRow row in ResultSet.Tables[0].Rows)
{
// Create the new node. Notice that the CategoryId is stored in the Value property
// of the node. This will make querying for items in a specific category easier when
// the third-level nodes are created.
TreeNode newNode = new TreeNode();
newNode.Text = row[ "CategoryName "].ToString();
newNode.Value = row[ "CategoryID "].ToString();
// Set the PopulateOnDemand property to true so that the child nodes can be
// dynamically populated.
newNode.PopulateOnDemand = true;
// Set additional properties for the node.
newNode.SelectAction = TreeNodeSelectAction.Expand;
// Add the new node to the ChildNodes collection of the parent node.
node.ChildNodes.Add(newNode);
}
}
}
void PopulateProducts(TreeNode node)
{
// Query for the products of the current category. These are the values
// for the third-level nodes.
DataSet ResultSet = RunQuery( "Select ProductName From Products Where CategoryID= " + node.Value);
// Create the third-level nodes.
if(ResultSet.Tables.Count > 0)
{
// Iterate through and create a new node for each row in the query results.
// Notice that the query results are stored in the table of the DataSet.
foreach (DataRow row in ResultSet.Tables[0].Rows)
{
// Create the new node.
TreeNode NewNode = new TreeNode(row[ "ProductName "].ToString());
// Set the PopulateOnDemand propert