//--选择操作 最好是用checkbox直观..
//--treeview绑定例子
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
{
private string connstring = ConfigurationManager.ConnectionStrings["ConnStr"].ToString();
private bool isHaveCheckBox = false;
private bool isExpanded = false;
private DataTable dtTree = null;
protected void Page_Load(object sender, EventArgs e)
{
//Response.Write("tttttttttt");
if (!IsPostBack)
{
AreaTree.Nodes.Add(getRootAreaTreeNode(false, false));
}
}
/// <summary>
/// 获取包含全部子节点的根节点数据
/// </summary>
/// <param name="haveCheckBox">节点是否产生CheckBox</param>
/// <param name="expanded">节点是否展开</param>
/// <returns></returns>
public TreeNode getRootAreaTreeNode(bool haveCheckBox, bool expanded)
{
//drPeng.HS.BR.AreaTree brTree = new drPeng.HS.BR.AreaTree();
string rootID = "0001";//brTree.getRootAreaTreeID();
string rootName = "中国";//brTree.getRootAreaTreeName();
//ds = brTree.getAllAreaTree();
isHaveCheckBox = haveCheckBox;
isExpanded = expanded;
#region populate root node
TreeNode rootNode = new TreeNode();
rootNode.Text = rootName;
rootNode.Value = rootID;
//rootNode. = rootName;
// rootNode.NodeData = "0001";
rootNode.Expanded = true;
// rootNode.CheckBox = isHaveCheckBox;
#endregion
DataSet dsTree = SqlHelper.ExecuteDataset(connstring, CommandType.Text, "select * from TB_Area");
dtTree = dsTree.Tables[0];
this.populateAreaTree(rootID, rootNode);
return rootNode;
}
private void populateAreaTree(string parentID, TreeNode pNode)
{
DataRow[] dRows = dtTree.Select("ParentAreaCode='" + parentID +"'");
if (dRows.Length > 0)
{
TreeNode Node = null;
foreach (DataRow drow in dRows)
{
Node = new TreeNode();
Node.Text = drow["AreaName"].ToString();
Node.Value = drow["AreaCode"].ToString();
//Node.DataItem = Node.Text + "|" + Node.Value;
Node.Expanded = isExpanded;
pNode.ChildNodes.Add(Node);
populateAreaTree(Node.Value, Node); //递归
}
}
}
}
//--treeview绑定例子
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
{
private string connstring = ConfigurationManager.ConnectionStrings["ConnStr"].ToString();
private bool isHaveCheckBox = false;
private bool isExpanded = false;
private DataTable dtTree = null;
protected void Page_Load(object sender, EventArgs e)
{
//Response.Write("tttttttttt");
if (!IsPostBack)
{
AreaTree.Nodes.Add(getRootAreaTreeNode(false, false));
}
}
/// <summary>
/// 获取包含全部子节点的根节点数据
/// </summary>
/// <param name="haveCheckBox">节点是否产生CheckBox</param>
/// <param name="expanded">节点是否展开</param>
/// <returns></returns>
public TreeNode getRootAreaTreeNode(bool haveCheckBox, bool expanded)
{
//drPeng.HS.BR.AreaTree brTree = new drPeng.HS.BR.AreaTree();
string rootID = "0001";//brTree.getRootAreaTreeID();
string rootName = "中国";//brTree.getRootAreaTreeName();
//ds = brTree.getAllAreaTree();
isHaveCheckBox = haveCheckBox;
isExpanded = expanded;
#region populate root node
TreeNode rootNode = new TreeNode();
rootNode.Text = rootName;
rootNode.Value = rootID;
//rootNode. = rootName;
// rootNode.NodeData = "0001";
rootNode.Expanded = true;
// rootNode.CheckBox = isHaveCheckBox;
#endregion
DataSet dsTree = SqlHelper.ExecuteDataset(connstring, CommandType.Text, "select * from TB_Area");
dtTree = dsTree.Tables[0];
this.populateAreaTree(rootID, rootNode);
return rootNode;
}
private void populateAreaTree(string parentID, TreeNode pNode)
{
DataRow[] dRows = dtTree.Select("ParentAreaCode='" + parentID +"'");
if (dRows.Length > 0)
{
TreeNode Node = null;
foreach (DataRow drow in dRows)
{
Node = new TreeNode();
Node.Text = drow["AreaName"].ToString();
Node.Value = drow["AreaCode"].ToString();
//Node.DataItem = Node.Text + "|" + Node.Value;
Node.Expanded = isExpanded;
pNode.ChildNodes.Add(Node);
populateAreaTree(Node.Value, Node); //递归
}
}
}
}