asp.net帶的treeview有幾個缺點:
1,有的瀏覽器不能夠正確顯示樹,就是ie6有的也不能夠正常顯示
2,速度慢,老牛拉破車啊,慢的不得了
所以我就找了個js樹,數據庫版的,但那是asp的,沒辦法,把他改成aspx的吧!!!
梅花樹的資料:開發文檔: http://www.meizz.com/web/article.asp?id=436
控件下載: http://www.meizz.com/web/download/mztreeview10.rar
應用示例: http://www.meizz.com/web/demo/mztreeview10.htm
更多細節:http://community.csdn.net/expert/topic/3841/3841740.xml?temp=.3988459
特別感謝:久久的寶貝!!!!!
left.aspx代碼如下:
<script language="javascript" src="mztreeview10.js"></script>
<link href="menutree/menu.css" type="text/css" rel="stylesheet">
<style> a.mztreeview { padding-left: 3px; font-size: 12px } </style>
</head>
<body leftmargin="0" topmargin="2">
<script language="javascript">
window.tree = new mztreeview("tree");
tree.seticonpath("menutree/"); //可用相對路徑
<%=str%> //這里的str是在后臺定義的一個string,他包含了從數據庫取出來的所有節點信息,只能夠寫這里
//tree.seturl("catalog.asp");
//tree.settarget("mzmain");
document.write(tree.tostring()); //亦可用 obj.innerhtml = tree.tostring();
tree.focus(111); //讓id是111的節點獲得焦點,同時也展開了這個節點上的父節點!
//-->
</script>
</body>
現在是后臺cs文件:
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;
namespace hualong.bbs
{
/// <summary>
/// left 的摘要說明。
/// </summary>
public class left : system.web.ui.page
{
public string str;
private void page_load(object sender, system.eventargs e)
{
// 在此處放置用戶代碼以初始化頁面
string connectstring = system.configuration.configurationsettings.appsettings["connstr1"].tostring();
system.data.sqlclient.sqlconnection conn = new system.data.sqlclient.sqlconnection(connectstring);
system.data.sqlclient.sqldataadapter adapter = new system.data.sqlclient.sqldataadapter("select_treeview_pwqzc",conn);
try
{
system.text.stringbuilder node = new system.text.stringbuilder();
conn.open();
system.data.dataset dataset = new system.data.dataset();
dataset.tables.add("treeview");
adapter.fill(dataset,"treeview");
foreach(system.data.datarow row in dataset.tables[0].rows)
{
node.append("/r/n tree.nodes[/""+ row["parentid"].tostring() + "_" + row["id"] + "/"] = /"");
node.append("text:" + row["text"].tostring().replace("/0xe",";") + ";");
node.append(row["hint"] != dbnull.value && row["hint"].tostring() != string.empty ? "hint:" + row["hint"].tostring().replace("/0xe",";") + ";" : string.empty);
node.append(row["icon"] != dbnull.value && row["icon"].tostring() != string.empty ? "icon:" + row["icon"].tostring().replace("/0xe",";") + ";" : string.empty);
node.append(row["data"] != dbnull.value && row["data"].tostring() != string.empty ? "data:" + row["data"].tostring().replace("/0xe",";") +server.urlencode(row["text"].tostring())+ ";" : string.empty);
node.append(row["url"] != dbnull.value && row["url"].tostring() != string.empty ? "url:" + row["url"].tostring().replace("/0xe",";") + ";" : string.empty);
node.append(row["target"] != dbnull.value && row["target"].tostring() != string.empty ? "target:" + row["target"].tostring().replace("/0xe",";") + ";" : string.empty);
node.append(row["method"] != dbnull.value && row["method"].tostring() != string.empty ? "method:" + row["method"].tostring().replace("/0xe",";") + ";" : string.empty);
node.append("/"");
}
str = node.tostring();
dataset.dispose();
}
finally
{
conn.close();
}
}
#region web 窗體設計器生成的代碼
override protected void oninit(eventargs e)
{
//
// codegen: 該調用是 asp.net web 窗體設計器所必需的。
//
initializecomponent();
base.oninit(e);
}
/// <summary>
/// 設計器支持所需的方法 - 不要使用代碼編輯器修改
/// 此方法的內容。
/// </summary>
private void initializecomponent()
{
this.load += new system.eventhandler(this.page_load);
}
#endregion
}
}
存儲過程很簡單:
create proc select_treeview_pwqzc
as
select * from treeview order by id
go
最大的網站源碼資源下載站,
新聞熱點
疑難解答