网页编程TreeView方法收集,最好能有代码,见者有"分"(用C#的请进)。

wuenming 2003-08-21 07:26:46
1,初始化树
private void intiTree(TreeNodeCollection Nds , int parentId)
{
DataView dv=new DataView() ;
TreeNode tmpNd;
int strId;
dv.Table = objDataSet.Tables["TREE_INFO"];
dv.RowFilter = "PARENTID='" + parentId + "'";
foreach(DataRowView objRow in dv)
{
tmpNd=new TreeNode();
strId=(int)objRow["NODEID"];
tmpNd.ID=strId.ToString();
tmpNd.Text=objRow["NODENAME"].ToString();
tmpNd.ExpandedImageUrl =objRow["ImgEx"].ToString();
tmpNd.ImageUrl=objRow["Img"].ToString() ;
tmpNd.NavigateUrl =objRow["Adderss"].ToString() ;
Nds.Add(tmpNd);
intiTree(Nds[Nds.Count-1].Nodes,strId);
}
}
这是别人的代码。
但我的treeView的TreeNode里除TEXT,ID外,根本没有其他属性。
还有,帮助里面,web控件treenode有很多属性我这里也没有啊,为什么?
2)如果将AutoPostBack设为true,每次刷新执行pageLoad里面的代码树就会重新加载,就会恢复到原始状态,无法保存各个节点的选中状态,是否展开等,只有将AutoPostBack设为false,但是有没有事件响应。
3)能不能像Windows编程一样,右键点击后弹出快捷菜单的方法,有的话就要屏蔽windows自身的快捷菜单,如何实现呢?
4)能不能提供树节点增删修改等的实例,点击某一节点然后读取被选中的节点,再进行修改
5)高手能介绍一下treeView的基本用法吗?
...全文
82 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
map1827 2003-08-30
  • 打赏
  • 举报
回复
mark
likika 2003-08-27
  • 打赏
  • 举报
回复
up
zhuliqiufeng 2003-08-27
  • 打赏
  • 举报
回复
("alert", "<script language='javascript'> alert('修改失败,编码描述重复!')</script>");
TextBox1.Text="";
TextBox2.Text="";
}
else
{
string updateCmd="";
if(tt==0)
{
updateCmd="update dbo.GZB_CODE2 set DESCRIBE='"+TextBox1.Text+"' where ID='"+(string)ViewState["ss"]+"'";
}
else
{
updateCmd="update dbo.GZB_CODE2 set DESCRIBE='"+TextBox1.Text+"' , STD_CODE= '"+TextBox2.Text+"' where ID='"+(string)ViewState["ss"]+"'";
}
myCommand=new SqlDataAdapter(updateCmd,myConnection);
myConnection.Open();
myCommand.SelectCommand.ExecuteNonQuery();
myConnection.Close();
Page.RegisterStartupScript("alert", "<script language='javascript'> alert('修改成功!')</script>");
}
Treeview1.Nodes.Clear();
reintiTree(Treeview1.Nodes,-1);
this.TextBox1.Text="";
this.TextBox2.Text="";
}
Button4.Visible=false;
Button7.Visible=false;
Label3.Visible=false;
Label4.Visible=false;
TextBox1.Visible=false;
TextBox2.Visible=false;
ViewState["ss"]="";
Button1.Enabled=true;
Button2.Enabled=true;
Button3.Enabled=true;
Button5.Enabled=true;
Button6.Enabled=true;
if(Treeview1.Nodes.Count==0)
ViewState["ss"]="";
else
{
ViewState["ss"]=Treeview1.GetNodeFromIndex("0").ID;
}
}


private void Button1_Click(object sender, System.EventArgs e)
{

if((string)ViewState["ss"]!="")
{
int tt;
tt=this.readHasnum();
Label3.Visible=true;
TextBox1.Visible=true;
if(tt==1)
{
Label4.Visible=true;
TextBox2.Visible=true;
}
Button4.Visible=true;
Button7.Visible=true;
ViewState["sss"]=1;
Button1.Enabled=false;
Button2.Enabled=false;
Button3.Enabled=false;
Button5.Enabled=false;
Button6.Enabled=false;
}
else
{
Page.RegisterStartupScript("alert", "<script language='javascript'> alert('未选中父节点!')</script>");

}


}

private void Button2_Click(object sender, System.EventArgs e)
{

if((string)ViewState["ss"]!="")
{

SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["sqlConnectString"]);
SqlDataAdapter myCommand1 = new SqlDataAdapter("dbo.sp_wrkSysUpdCode2Parent",myConnection);
myCommand1.SelectCommand.CommandType = CommandType.StoredProcedure;
myCommand1.SelectCommand.Parameters.Add("@id",SqlDbType.Char);
myCommand1.SelectCommand.Parameters["@id"].Value = (string)ViewState["ss"];
myConnection.Open();
try
{
myCommand1.SelectCommand.ExecuteNonQuery();
}
catch(System.Data.SqlClient.SqlException ev)
{

}
myConnection.Close();
Page.RegisterStartupScript("alert", "<script language='javascript'> alert('删除成功!')</script>");

}
else
{
Page.RegisterStartupScript("alert", "<script language='javascript'> alert('未选中要删除的节点!')</script>");
}
Treeview1.Nodes.Clear();
reintiTree(Treeview1.Nodes,-1);
ViewState["ss"]="";
Button1.Enabled=true;
Button2.Enabled=true;
Button3.Enabled=true;
Button5.Enabled=true;
Button6.Enabled=true;
if(Treeview1.Nodes.Count==0)
ViewState["ss"]="";
else
{
ViewState["ss"]=Treeview1.GetNodeFromIndex("0").ID;
}

}

private void Button5_Click(object sender, System.EventArgs e)
{

if((string)ViewState["ss"]!="")
{
SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["sqlConnectString"]);
SqlDataAdapter myCommand1 = new SqlDataAdapter("dbo.sp_wrkSysSetCode2Invalid",myConnection);
myCommand1.SelectCommand.CommandType = CommandType.StoredProcedure;
myCommand1.SelectCommand.Parameters.Add("@id",SqlDbType.Char);
myCommand1.SelectCommand.Parameters["@id"].Value = (string)ViewState["ss"];
myConnection.Open();
try
{
myCommand1.SelectCommand.ExecuteNonQuery();
}
catch(System.Data.SqlClient.SqlException ev)
{

}
myConnection.Close();
Page.RegisterStartupScript("alert", "<script language='javascript'> alert('删除成功!')</script>");
}
else
{
Page.RegisterStartupScript("alert", "<script language='javascript'> alert('未选中要删除的节点!')</script>");
}
Treeview1.Nodes.Clear();
reintiTree(Treeview1.Nodes,-1);
ViewState["ss"]="";
Button1.Enabled=true;
Button2.Enabled=true;
Button3.Enabled=true;
Button5.Enabled=true;
Button6.Enabled=true;
if(Treeview1.Nodes.Count==0)
ViewState["ss"]="";
else
{
ViewState["ss"]=Treeview1.GetNodeFromIndex("0").ID;
}
}

private void Button3_Click(object sender, System.EventArgs e)
{

if((string)ViewState["ss"]!="")
{
int tt;
tt=this.readHasnum();
Label3.Visible=true;
TextBox1.Visible=true;
if(tt==1)
{
Label4.Visible=true;
TextBox2.Visible=true;
}
Button4.Visible=true;
Button7.Visible=true;
ViewState["sss"]=3;
Button1.Enabled=false;
Button2.Enabled=false;
Button3.Enabled=false;
Button5.Enabled=false;
Button6.Enabled=false;
}
else
{
Page.RegisterStartupScript("alert", "<script language='javascript'> alert('未选中要修改的节点!')</script>");
}


}

private void Button7_Click(object sender, System.EventArgs e)
{
ViewState["ss"]="";
Label3.Visible=false;
Label4.Visible=false;
TextBox1.Visible=false;
TextBox2.Visible=false;
Button4.Visible=false;
Button7.Visible=false;
Button1.Enabled=true;
Button2.Enabled=true;
Button3.Enabled=true;
Button5.Enabled=true;
Button6.Enabled=true;
Treeview1.Nodes.Clear();
reintiTree(Treeview1.Nodes,-1);
}

private void Treeview1_Load(object sender, System.EventArgs e)
{

}

}
}



zhuliqiufeng 2003-08-27
  • 打赏
  • 举报
回复
bool mark2=false;
mark2=isAlike(this.TextBox1.Text,3,1);
if(TextBox1.Text=="")
{

Page.RegisterStartupScript("alert", "<script language='javascript'> alert('错误:编码描述不能为空!')</script>");

TextBox1.Text="";
TextBox2.Text="";

}
else if(mark==true)
{
Page.RegisterStartupScript("alert", "<script language='javascript'> alert('添加失败,编码重复!')</script>");

TextBox1.Text="";
TextBox2.Text="";
}
else if(mark2==true)
{
Page.RegisterStartupScript("alert", "<script language='javascript'> alert('添加失败,编码描述重复!')</script>");

TextBox1.Text="";
TextBox2.Text="";
}
else
{
myCommand = new SqlDataAdapter(insertCmd,myConnection);
myCommand.SelectCommand.Parameters.Add(new SqlParameter("@DESCRIBE",SqlDbType.VarChar,50));
myCommand.SelectCommand.Parameters["@DESCRIBE"].Value=TextBox1.Text;
myCommand.SelectCommand.Parameters.Add(new SqlParameter("@VALID",SqlDbType.VarChar,50));
myCommand.SelectCommand.Parameters["@VALID"].Value='1';
myCommand.SelectCommand.Parameters.Add(new SqlParameter("@GCO1_ID",SqlDbType.VarChar,50));
myCommand.SelectCommand.Parameters["@GCO1_ID"].Value=ListBox1.SelectedItem.Value.ToString();
myCommand.SelectCommand.Parameters.Add(new SqlParameter("@TYPE_SEQ",SqlDbType.VarChar,50));
myCommand.SelectCommand.Parameters["@TYPE_SEQ"].Value="0";////////////
myCommand.SelectCommand.Parameters.Add(new SqlParameter("@STD_CODE",SqlDbType.VarChar,50));
myCommand.SelectCommand.Parameters["@STD_CODE"].Value=TextBox2.Text;
Page.RegisterStartupScript("alert", "<script language='javascript'> alert('添加成功!')</script>");
myConnection.Open();
try
{
myCommand.SelectCommand.ExecuteNonQuery();
}
catch(System.Data.SqlClient.SqlException ev)
{

}
myConnection.Close();
}
Treeview1.Nodes.Clear();
reintiTree(Treeview1.Nodes,-1);
Button1.Enabled=true;
Button2.Enabled=true;
Button3.Enabled=true;
Button5.Enabled=true;
Button6.Enabled=true;

}
else if((int)ViewState["sss"]==1)
{
SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["sqlConnectString"]);
string insertCmd="insert into dbo.GZB_CODE2 values(@DESCRIBE,@VALID,@GCO1_ID,@TYPE_SEQ,@STD_CODE,@GCO2_ID)";
SqlDataAdapter myCommand = new SqlDataAdapter(insertCmd,myConnection);
TextBox1.Text=this.Verify(TextBox1.Text);
TextBox2.Text=this.Verify(TextBox2.Text);
bool mark=false;
string selectAl="select STD_CODE from dbo.GZB_CODE2 WHERE VALID=1 AND GCO1_ID="+ListBox1.SelectedItem.Value;
myCommand = new SqlDataAdapter(selectAl,myConnection);
DataSet ds=new DataSet();
myCommand.Fill(ds,"table4");
if(this.readHasnum()==1)
for(int i=0;i<ds.Tables["table4"].Rows.Count;i++)
{

if(TextBox2.Text==ds.Tables["table4"].Rows[i][0].ToString())
{
mark=true;
}
}
bool mark2=false;
mark2=isAlike(this.TextBox1.Text,3,1);
if(TextBox1.Text=="")
{

Page.RegisterStartupScript("alert", "<script language='javascript'> alert('错误:编码描述不能为空!')</script>");

TextBox1.Text="";
TextBox2.Text="";

}
else if(mark==true)
{
Page.RegisterStartupScript("alert", "<script language='javascript'> alert('添加失败,编码重复!')</script>");

TextBox1.Text="";
TextBox2.Text="";
}
else if(mark2==true)
{
Page.RegisterStartupScript("alert", "<script language='javascript'> alert('添加失败,编码描述重复!')</script>");

TextBox1.Text="";
TextBox2.Text="";
}
else
{
myCommand = new SqlDataAdapter(insertCmd,myConnection);
myCommand.SelectCommand.Parameters.Add(new SqlParameter("@DESCRIBE",SqlDbType.VarChar,50));
myCommand.SelectCommand.Parameters["@DESCRIBE"].Value=TextBox1.Text;
myCommand.SelectCommand.Parameters.Add(new SqlParameter("@VALID",SqlDbType.VarChar,50));
myCommand.SelectCommand.Parameters["@VALID"].Value='1';
myCommand.SelectCommand.Parameters.Add(new SqlParameter("@GCO1_ID",SqlDbType.VarChar,50));
myCommand.SelectCommand.Parameters["@GCO1_ID"].Value=ListBox1.SelectedItem.Value.ToString();
myCommand.SelectCommand.Parameters.Add(new SqlParameter("@TYPE_SEQ",SqlDbType.VarChar,50));
myCommand.SelectCommand.Parameters["@TYPE_SEQ"].Value="0";////////////
myCommand.SelectCommand.Parameters.Add(new SqlParameter("@STD_CODE",SqlDbType.VarChar,50));
myCommand.SelectCommand.Parameters["@STD_CODE"].Value=TextBox2.Text;
myCommand.SelectCommand.Parameters.Add(new SqlParameter("@GCO2_ID",SqlDbType.VarChar,50));/////char型会有问题吗?
myCommand.SelectCommand.Parameters["@GCO2_ID"].Value=(string)ViewState["ss"];

myConnection.Open();
try
{
myCommand.SelectCommand.ExecuteNonQuery();

}
catch(System.Data.SqlClient.SqlException ev)
{

}
myConnection.Close();
Page.RegisterStartupScript("alert", "<script language='javascript'> alert('添加成功!')</script>");

}
Treeview1.Nodes.Clear();
reintiTree(Treeview1.Nodes,-1);
}
else if((int)ViewState["sss"]==3)
{
SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["sqlConnectString"]);
int tt;
tt=this.readHasnum();
TextBox1.Text=this.Verify(TextBox1.Text);
TextBox2.Text=this.Verify(TextBox2.Text);
bool mark1=false;
mark1=isAlike(this.TextBox2.Text,1,3);
bool mark2=false;
mark2=isAlike(this.TextBox1.Text,2,3);
if(TextBox1.Text=="")
{
Page.RegisterStartupScript("alert", "<script language='javascript'> alert('错误:编码描述不能为空!')</script>");
TextBox2.Text="";

}
else if(mark1==true&&(TextBox2.Visible==true))
{
Page.RegisterStartupScript("alert", "<script language='javascript'> alert('修改失败,编码重复!')</script>");
TextBox2.Text="";
TextBox1.Text="";
}

else
if(mark2==true)
{
Page.RegisterStartupScript
zhuliqiufeng 2003-08-27
  • 打赏
  • 举报
回复
private int readHasnum()
{
string getid=ListBox1.SelectedItem.Value.ToString();
SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["sqlConnectString"]);
string myChooseQuery = "SELECT ID,DESCRIBE,HASNUM FROM GZB_CODE1 where VALID=1";
SqlDataAdapter myCommand = new SqlDataAdapter(myChooseQuery,myConnection);
DataSet dsds=new DataSet();
myCommand.Fill(dsds,"table2");
int t=2;
for(int i=0;i<dsds.Tables["table2"].Rows.Count;i++)
{
string s=dsds.Tables["table2"].Rows[i][0].ToString();
if(dsds.Tables["table2"].Rows[i][0].ToString()==getid)
{

if(dsds.Tables["table2"].Rows[i][2].ToString()=="False")
t=0;
else
t=1;
}

}
return t;
}
private void reintiTree(Microsoft.Web.UI.WebControls.TreeNodeCollection Nds , int parentId)
{
string getid=ListBox1.SelectedItem.Value;
int tt;
tt=this.readHasnum();
SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["sqlConnectString"]);
string myChooseQuery;
myChooseQuery = "SELECT * FROM GZB_CODE2 where VALID=1 and GCO1_ID="+getid;
SqlDataAdapter myCommand = new SqlDataAdapter(myChooseQuery,myConnection);
DataSet dsds=new DataSet();
myCommand.Fill(dsds,"table0");
DataView dv=new DataView() ;
Microsoft.Web.UI.WebControls.TreeNode tmpNd;

int strId;
dv.Table = dsds.Tables["table0"];
if(parentId==-1)
dv.RowFilter="IsNull(GCO2_ID,-1) = -1";
else
dv.RowFilter = "GCO2_ID='" + parentId+ "'";
foreach(DataRowView objRow in dv)
{
tmpNd=new Microsoft.Web.UI.WebControls.TreeNode();
strId=(int)objRow["ID"];
if(tt==0)
{
tmpNd.Text=objRow["DESCRIBE"].ToString();
tmpNd.ID=objRow["ID"].ToString();
}
if(tt==1)
{
string st=objRow["STD_CODE"].ToString()+objRow["DESCRIBE"].ToString();
tmpNd.Text=st.ToString();
tmpNd.ID=objRow["ID"].ToString();
}
Nds.Add(tmpNd);
reintiTree(Nds[Nds.Count-1].Nodes,strId);

}


}

private void TextBox1_TextChanged(object sender, System.EventArgs e)
{

}

private void Treeview1_Expand(object sender, Microsoft.Web.UI.WebControls.TreeViewClickEventArgs e)
{
ViewState["ss"]=Treeview1.GetNodeFromIndex(Treeview1.SelectedNodeIndex).ID.ToString();
}

private void Treeview1_Collapse(object sender, Microsoft.Web.UI.WebControls.TreeViewClickEventArgs e)
{

ViewState["ss"]=Treeview1.GetNodeFromIndex(Treeview1.SelectedNodeIndex).ID.ToString();

}
public bool isAlike(string ss,int t,int t1)
{
bool mark0=false;
ss=this.Verify(ss);
SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["sqlConnectString"]);
string selectAl;
if(t==1)
selectAl="select STD_CODE,ID from dbo.GZB_CODE2 WHERE VALID=1 AND GCO1_ID="+ListBox1.SelectedItem.Value;
else
selectAl="select DESCRIBE,ID from dbo.GZB_CODE2 WHERE VALID=1 AND GCO1_ID="+ListBox1.SelectedItem.Value;
SqlDataAdapter myCommand = new SqlDataAdapter(selectAl,myConnection);
DataSet ds=new DataSet();
myCommand.Fill(ds,"table5");
for(int i=1;i<=ds.Tables["table5"].Rows.Count;i++)
{
if(t1==1||t1==2)
{
if(ss==ds.Tables["table5"].Rows[i-1][0].ToString())
{
mark0=true;
}
}
if(t==1||t==2)
{
string t2;
t2=(string)ViewState["ss"];
if(ss==ds.Tables["table5"].Rows[i-1][0].ToString()&&ds.Tables["table5"].Rows[i-1][1].ToString()!=t2)
{
mark0=true;
}

}

}
return mark0;
}

private void ListBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
Treeview1.Nodes.Clear();
reintiTree(Treeview1.Nodes,-1);
ViewState["ss"]="";
Label3.Visible=false;
Label4.Visible=false;
TextBox1.Visible=false;
TextBox2.Visible=false;
Button4.Visible=false;
Button7.Visible=false;
Button1.Enabled=true;
Button2.Enabled=true;
Button3.Enabled=true;
Button5.Enabled=true;
Button6.Enabled=true;
if(Treeview1.Nodes.Count==0)
ViewState["ss"]="";
else
{
ViewState["ss"]=Treeview1.GetNodeFromIndex("0").ID;
}
}

private void Treeview1_SelectedIndexChange(object sender, Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs e)
{
ViewState["ss"]=Treeview1.GetNodeFromIndex(e.NewNode).ID.ToString();
Label3.Visible=false;
Label4.Visible=false;
TextBox1.Visible=false;
TextBox2.Visible=false;
Button4.Visible=false;
Button7.Visible=false;
Button1.Enabled=true;
Button2.Enabled=true;
Button3.Enabled=true;
Button5.Enabled=true;
Button6.Enabled=true;
TextBox3.Text=Treeview1.SelectedNodeIndex.ToString();
}

private void Button6_Click(object sender, System.EventArgs e)
{


int tt;
tt=this.readHasnum();
Label3.Visible=true;
TextBox1.Visible=true;
if(tt==1)
{
Label4.Visible=true;
TextBox2.Visible=true;
}
Button4.Visible=true;
Button7.Visible=true;
ViewState["sss"]=6;
ViewState["ss"]="";
Button1.Enabled=false;
Button2.Enabled=false;
Button3.Enabled=false;
Button5.Enabled=false;
Button6.Enabled=false;

}
private void Button4_Click(object sender, System.EventArgs e)
{
if((int)ViewState["sss"]==6)
{
SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["sqlConnectString"]);
string insertCmd="insert into dbo.GZB_CODE2 values(@DESCRIBE,@VALID,@GCO1_ID,@TYPE_SEQ,@STD_CODE,null)";
SqlDataAdapter myCommand = new SqlDataAdapter(insertCmd,myConnection);
TextBox1.Text=this.Verify(TextBox1.Text);
TextBox2.Text=this.Verify(TextBox2.Text);
bool mark=false;
string selectAl="select STD_CODE from dbo.GZB_CODE2 WHERE VALID=1 AND GCO1_ID="+ListBox1.SelectedItem.Value;
myCommand = new SqlDataAdapter(selectAl,myConnection);
DataSet ds=new DataSet();
myCommand.Fill(ds,"table4");
if(this.readHasnum()==1)
for(int i=0;i<ds.Tables["table4"].Rows.Count;i++)
{

if(TextBox2.Text==ds.Tables["table4"].Rows[i][0].ToString())
{
mark=true;
}
}
goody9807 2003-08-27
  • 打赏
  • 举报
回复
up
zhuliqiufeng 2003-08-27
  • 打赏
  • 举报
回复
看个例子你就知道了,虽然代码写的不好
但是一定有帮助
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Reflection;
using System.Data.SqlClient;
using System.Configuration;
using System.Security;
using Microsoft.Web.UI.WebControls;


namespace ssc.webUI
{
/// <summary>
/// WebForm4 的摘要说明。
/// </summary>
public class CodeManagement : System.Web.UI.Page
{
protected System.Data.SqlClient.SqlDataAdapter sqlDataAdapter1;
protected System.Data.SqlClient.SqlConnection sqlConnection1;
protected System.Data.SqlClient.SqlDataAdapter myCommand;
protected System.Data.SqlClient.SqlDataAdapter myCommand1;
protected System.Data.SqlClient.SqlDataAdapter myCommand2;
protected System.Data.SqlClient.SqlConnection myConnection;
protected System.Data.DataSet ds;
public DataSet dsds;
protected System.Web.UI.WebControls.ListBox ListBox1;
protected System.Web.UI.WebControls.TextBox TextBox1;
protected System.Web.UI.WebControls.TextBox TextBox2;
protected System.Web.UI.WebControls.TextBox TextBox3;
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.WebControls.Button Button2;
protected System.Web.UI.WebControls.Button Button3;
protected System.Web.UI.WebControls.Label Label3;
protected System.Web.UI.WebControls.Button Button4;
protected System.Web.UI.WebControls.Label Label4;
protected System.Web.UI.WebControls.Button Button5;
protected System.Web.UI.WebControls.Button Button6;
protected System.Web.UI.WebControls.Button Button7;
protected Microsoft.Web.UI.WebControls.TreeView Treeview1;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面

// if (!this.IsPostBack)
// {
//
// Treeview1.DataBind();
//
// }
if (!this.IsPostBack)
{
readList();
ListBox1.Items[0].Selected=true;
reintiTree(Treeview1.Nodes,-1);
if(Treeview1.Nodes.Count==0)
ViewState["ss"]="";
else
{
ViewState["ss"]=Treeview1.GetNodeFromIndex("0").ID;
}

}



}

#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.sqlDataAdapter1 = new System.Data.SqlClient.SqlDataAdapter();
this.sqlConnection1 = new System.Data.SqlClient.SqlConnection();
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Button6.Click += new System.EventHandler(this.Button6_Click);
this.Button2.Click += new System.EventHandler(this.Button2_Click);
this.Button5.Click += new System.EventHandler(this.Button5_Click);
this.Button3.Click += new System.EventHandler(this.Button3_Click);
this.Button4.Click += new System.EventHandler(this.Button4_Click);
this.Button7.Click += new System.EventHandler(this.Button7_Click);
this.ListBox1.SelectedIndexChanged += new System.EventHandler(this.ListBox1_SelectedIndexChanged);
this.Treeview1.Load += new System.EventHandler(this.Treeview1_Load);
this.Treeview1.Expand += new Microsoft.Web.UI.WebControls.ClickEventHandler(this.Treeview1_Expand);
this.Treeview1.SelectedIndexChange += new Microsoft.Web.UI.WebControls.SelectEventHandler(this.Treeview1_SelectedIndexChange);
this.Treeview1.Collapse += new Microsoft.Web.UI.WebControls.ClickEventHandler(this.Treeview1_Collapse);
//
// sqlDataAdapter1
//
this.sqlDataAdapter1.TableMappings.AddRange(new System.Data.Common.DataTableMapping[] {
new System.Data.Common.DataTableMapping("Table", "GZB_CODE2", new System.Data.Common.DataColumnMapping[] {
new System.Data.Common.DataColumnMapping("ID", "ID"),
new System.Data.Common.DataColumnMapping("DESCRIBE", "DESCRIBE"),
new System.Data.Common.DataColumnMapping("VALID", "VALID"),
new System.Data.Common.DataColumnMapping("GCO1_ID", "GCO1_ID"),
new System.Data.Common.DataColumnMapping("TYPE_SEQ", "TYPE_SEQ"),
new System.Data.Common.DataColumnMapping("STD_CODE", "STD_CODE")})});
//
// sqlConnection1
//
this.sqlConnection1.ConnectionString = "data source=DEVELOPER;initial catalog=gzb;persist security info=False;user id=WLL" +
";workstation id=HELENA;packet size=4096";
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion


private string Verify(string sss)
{
int i;
sss=sss.Trim();
int n=sss.Length;
if(n>0)
{
for(i=1;i<n-1;i++)
while(sss[i+1]==' '&&i<n-1)
{
if(sss[i]==' ')
{
sss=sss.Remove(i+1,1);
n=sss.Length;
}
else
i++;

}
}
return sss;
}

public void readList()
{
SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["sqlConnectString"]);
string myChooseQuery = "SELECT DESCRIBE,HASNUM,ID FROM GZB_CODE1 where VALID=1";
SqlDataAdapter myCommand = new SqlDataAdapter(myChooseQuery,myConnection);
DataSet ds=new DataSet();
myCommand.Fill(ds,"table3");
DataTable dt0 = ds.Tables["table3"];
DataView dv=new DataView(dt0);
ListBox1.DataSource=dv;
ListBox1.DataTextField="DESCRIBE";
ListBox1.DataValueField="ID";
ListBox1.DataBind();
ListBox1.SelectedIndex=-1;

}


gweidian 2003-08-22
  • 打赏
  • 举报
回复
UP
aloxy 2003-08-22
  • 打赏
  • 举报
回复
terry2003 2003-08-22
  • 打赏
  • 举报
回复
学习……收藏
mgan 2003-08-22
  • 打赏
  • 举报
回复
1.下载地址
http://msdn.microsoft.com/downloads/samples/internet/ASP_DOT_NET_ServerControls/WebControls/default.asp
安装后,通过“自定义工具箱”->“.net框架组件”把TreeView添加到工具箱里

2.运行时无法显示
一般是TreeView的版本问题,最好下载英文版自动安装版本重新安装,安装前应该先到添加删除程序里卸掉原版本

3.显示格式出错(非树状显示)
TreeView要求客户端浏览器版本为IE5.5及以上,最好要求客户端升级为IE6.0

4.框架里使用TreeView
设置NavigateUrl、Target属性,可更新另外的Frame

5.找不到TreeNode类
使用TreeView,最好添加namespace:using Microsoft.Web.UI.WebControls;

6.遍历TreeView节点(递归算法)
private void Page_Load(object sender, System.EventArgs e)
{
GetAllNodeText(TreeView1.Nodes);
}
void GetAllNodeText(TreeNodeCollection tnc)
{
foreach(TreeNode node in tnc)
{
if(node.Nodes.Count!=0)
GetAllNodeText(node.Nodes);
Response.Write(node.Text + " ");
}
}

7.得到node结点的父节点
TreeNode pnode;
if(node.Parent is TreeNode)
pnode=(TreeNode)node.Parent;
else
//node is root node

8.修改TreeView样式(示例)
<iewc:TreeView id="TreeView1" runat="server" HoverStyle="color:blue;background:#00ffCC;"

DefaultStyle="background:red;color:yellow;" SelectedStyle="color:red;background:#00ff00;">
用代码:
TreeView1.DefaultStyle["font-size"] = "20pt";

9.TreeView展开无闪烁的解决方法
http://expert.csdn.net/Expert/topic/1300/1300576.xml



就是这个啊
——————————@_@————————
good good study
day day up
___________________^@^_________________

stpangpang 2003-08-22
  • 打赏
  • 举报
回复
可以指定 TreeNodesrc 对应的 xml文件 ,可以实现 局部无刷新的 页面
salonwang 2003-08-22
  • 打赏
  • 举报
回复
gz
lwgj 2003-08-22
  • 打赏
  • 举报
回复
学习
asam2183 2003-08-22
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/1525/1525202.xml?temp=.7069361
jlhdlj 2003-08-22
  • 打赏
  • 举报
回复
>>4)能不能提供树节点增删修改等的实例,点击某一节点然后读取被选中的节点,再进行修改
I would suggest you modify the treeview.htc file

when the user double clicks on a node, replace the node with a textbox, when the onchange event for the textbox occurs, do a postback and modify the node/xml file on the server side

>>但我的treeView的TreeNode里除TEXT,ID外,根本没有其他属性。
还有,帮助里面,web控件treenode有很多属性我这里也没有啊,为什么?
不会这样吧,要不你重新下载TREEVIEW,再安装一下试试
libjprayerlibj 2003-08-21
  • 打赏
  • 举报
回复
有“分”啊
panyee 2003-08-21
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/2122/2122006.xml?temp=.909466
CMIC 2003-08-21
  • 打赏
  • 举报
回复
看看这贴不错:
http://expert.csdn.net/Expert/topicview.asp?id=1382892
wacle 2003-08-21
  • 打赏
  • 举报
回复
there are many resources in csdn ,if you search "treeview"
see
http://expert.csdn.net/Expert/topic/1525/1525202.xml?temp=.9796106

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧