军长 0
师长 1
排长 2
treeview 可以排序的
师长 1
排长 2
treeview 可以排序的
解决方案 »
- 家里的WiFi无线路由器可模拟局域网环境吗?
- C#怎么让不同程序中的窗体一起同时显示和消失
- 小弟最近想学习一下开发C/S结构的UDP协议的网络通信 应用程序
- 多个控件绑定到一个方法时,如何传递发生事件的对象?
- C# 编写的windows service 中访问注册表问题
- 各位请问,哪里有DirectX 9.0 SDK的简体中文版下载阿?
- C#中,如何调用c程序封装的dll接口API?急。。。。
- 晕 等了一个钟 没人帮忙...哭
- 如何高亮度显示当前行(WinForm,DataGrid)
- Where are System.Net?
- 菜鸟提示,为什么我新建控制台应用程序,诺顿会弹出发现病毒的提示???
- 如何同时终止多个线程?
{
protected Microsoft.Web.UI.WebControls.TreeView TreeView1;
string strcn = "your Sqlconnectionstring"; private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
SqlConnection _Sqlconnection1 = new SqlConnection(strcn);
string str1 = "select * from t_tree";
_Sqlconnection1.Open();
SqlCommand _Sqlcommand1 = new SqlCommand(str1,_Sqlconnection1);
SqlDataAdapter dr=new SqlDataAdapter(_Sqlcommand1);
DataSet da1=new DataSet();
dr.Fill(da1);
//ViewState 获取状态信息的字典,
//这些信息使您可以在同一页的多个请求间保存和还原服务器控件的视图状态。
this.ViewState["ds"]=da1;
_Sqlconnection1.Close();
Gettreestruct(0,(TreeNode)null);
}
/// <summary>
/// 导航树的递归算法
/// </summary>
/// <param name="id"></param>
/// <param name="t1"></param>
public void Gettreestruct(int id,TreeNode t1)
{
DataSet da =(DataSet)this.ViewState["ds"];
DataView trr = new DataView(da.Tables[0]);
trr.RowFilter="[parentid]="+id;
foreach(DataRowView row in trr)
{
TreeNode nod=new TreeNode();
if(t1==null)
{
nod.Text=row["mytext"].ToString();
TreeView1.Nodes.Add(nod);
//Expanded属性决定是否展开树
nod.Expanded = true;
Gettreestruct(Int32.Parse(row["nodeid"].ToString()),nod);
}
else
{
nod.Text =row["mytext"].ToString();
t1.Nodes.Add(nod);
nod.Expanded = true;
Gettreestruct(Int32.Parse(row["nodeid"].ToString()),nod);
} } }