DataTable
--
//result

//code
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//"SELECT [depID],[depName],[parentID] FROM [dep]", proc GetCategory
if (!IsPostBack)
{
using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["depConnectionString"].ToString()))
{
SqlCommand command = new SqlCommand();
command.Connection = connection;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "GetCategory";
SqlDataAdapter Adapter = new SqlDataAdapter();
Adapter.SelectCommand = command;
DataTable dataTable = new DataTable();
Adapter.Fill(dataTable);
BindTreeView(dataTable, TreeView1.Nodes, "0");
}
}
}
private void BindTreeView(DataTable dataTable, TreeNodeCollection TreeNodes, string parentId)
{
DataView dataView = new DataView(dataTable);
TreeNode node;
dataView.RowFilter = "funcparentid=" + "'" + parentId + "'";
foreach (DataRowView dataRowView in dataView)
{
node = new TreeNode();
node.Text = dataRowView["funcname"].ToString();
TreeNodes.Add(node);
BindTreeView(dataTable, node.ChildNodes, dataRowView["ID"].ToString());
}
}
}