有谁用过《SoftArtisans》一个Treeview控件吗? 我研究了一下该控件的原码,结果什么都没改就编译出错,像这样的TreeView,不如自己写代码来实现比较好一点。。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在C#的WebForm下做TreeView是现在很多公司头痛的事。如果有人能用C#做出来,谁告诉我([email protected])一声,我给分。呵。另:我看了一下WinForm的TreeView,好象也不支持直接用数据表中取数据呀。不过,还没他细看。有人知道的也请发表一下,谢谢。 我完全按照微软的例子做的treeview运行时都不断的出错,只能采取静态设计的方法。 其实这个控件也不是那么坏的,我试了几下还可以凑户用的,只不过确实不是那么地灵活大家可以试试这个代码:<%@ Page Language="C#" trace="false" debug="true"%><%@ Import Namespace="System.Data" %><%@ Import Namespace="System.Data.OleDb" %><%@ Import Namespace="System.Xml" %><%@ Import Namespace="System.Web" %><%@ Import Namespace="System.Web.UI" %><%@ Import Namespace="System.Web.UI.WebControls" %><%@ Register TagPrefix="SA" Assembly="SATreeView" Namespace="SoftArtisans" %><html><script language="JavaScript">var _console = null;function debug(msg){ if((_console == null) || (_console.closed)) { _console = window.open("", "console", "scrollbars, resizable", "width=600, height=300, resizable"); _console.document.open("text/plain"); } _console.document.writeln(msg);} function Leaf_Click(thisItem) {// var eLeaf = eval("document.all('" + this.id + "')"); alert('this.name = ' + thisItem.name);alert('this.link = ' + thisItem.link); } </script><script language="C#" runat="server"> OleDbDataReader dr; CNode name1; public void Page_Load(object sender, EventArgs arts) { //连接语句 string MyConnString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\\Inetpub\\wwwroot\\aspbook.mdb;"; //查询语句 string strSel = "Select * from FCST_FUNLIST"; OleDbConnection MyConn = new OleDbConnection(MyConnString); OleDbCommand MyComm = new OleDbCommand(strSel,MyConn); MyComm.Connection.Open(); //注意下面一句 dr = MyComm.ExecuteReader(); CNode nodeOne = satree.AddNode("根节点", null, XmlNodeType.Element); while(dr.Read()) { if (dr["funcode"].ToString()=="100") name1 =nodeOne.AddNode(dr["funname"].ToString(), null, XmlNodeType.Element); else { if ((dr["funname"].ToString()!="a")&&(dr["upperfun"].ToString()=="100")) name1.AddNode(dr["funname"].ToString(), null, XmlNodeType.Text); } } dr.Close(); } private void NodeClick(Object sender, TreeClickEventArgs args) {//string.Format("You clicked the node: {0}", args.ToString()) Page.Response.Write(string.Format("You clicked the Node: {0}", args.Node.Text)); } private void LeafClick(Object sender, TreeClickEventArgs args) { Page.Response.Write(string.Format("You clicked the leaf: {0}", args.Node .ToString())); } </script><body><form method="POST" action="SATreeView.aspx" runat=server><asp:Panel id="Panel1" runat="server" Height="313px" Width="280px" BorderColor="Red" BorderStyle="Solid" Font-Size="xx-small" Font-Names="宋体"> <SA:SATreeView id="satree"OnLeafClick="LeafClick"OnNodeClick="NodeClick"CachedLevels=-1CssFile=""ViewType=SADhtmlTreeDataType=SAProgSizeUnit = pxOverflow=autoMenuOpenImgSource = "images/down.gif"MenuClosedImgSource = "images/tri.gif"LeafImgSource="images/services.gif"Img1OpenSource = "images/minus.gif" Img1ClosedSource = "images/plus.gif"Img2OpenSource = "images/bo.gif" Img2ClosedSource = "images/bc.gif"runat=server></SA:SATreeView></asp:Panel></form></body></html> wpf 控件自动宽度,不能马上得到实际宽度问题 问个正则死循环的问题 这个存储过程怎样简化? treeview的根节点选中事件不触发? 小妹求教!WinFrom如何扑获窗体并且输出为BMP图片 关于自定义控件资源回收的问题 C#请人帮我把这个网页的源代码采集出来 100分在线等 解决马上给分 C# WinForm 导出Excel速度优化! 程序员基本问题:正则表达式?内存池?回调?钩子?句柄?red black tree?.net的程序集? 在datagrid中如何格式化数字字段 编好的c#程序(.exe)在没有.net的环境下没法运行为什么呀? 小生无知,请问水晶报表是WHAT
另:我看了一下WinForm的TreeView,好象也不支持直接用数据表中取数据呀。不过,还没他细看。有人知道的也请发表一下,谢谢。
大家可以试试这个代码:
<%@ Page Language="C#" trace="false" debug="true"%>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<%@ Import Namespace="System.Xml" %>
<%@ Import Namespace="System.Web" %>
<%@ Import Namespace="System.Web.UI" %>
<%@ Import Namespace="System.Web.UI.WebControls" %>
<%@ Register TagPrefix="SA" Assembly="SATreeView" Namespace="SoftArtisans" %><html><script language="JavaScript">var _console = null;
function debug(msg)
{
if((_console == null) || (_console.closed))
{
_console = window.open("", "console", "scrollbars, resizable", "width=600, height=300, resizable");
_console.document.open("text/plain");
}
_console.document.writeln(msg);
} function Leaf_Click(thisItem)
{
// var eLeaf = eval("document.all('" + this.id + "')");
alert('this.name = ' + thisItem.name);
alert('this.link = ' + thisItem.link);
} </script><script language="C#" runat="server">
OleDbDataReader dr;
CNode name1;
public void Page_Load(object sender, EventArgs arts)
{
//连接语句
string MyConnString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\\Inetpub\\wwwroot\\aspbook.mdb;";
//查询语句
string strSel = "Select * from FCST_FUNLIST";
OleDbConnection MyConn = new OleDbConnection(MyConnString);
OleDbCommand MyComm = new OleDbCommand(strSel,MyConn);
MyComm.Connection.Open();
//注意下面一句
dr = MyComm.ExecuteReader();
CNode nodeOne = satree.AddNode("根节点", null, XmlNodeType.Element);
while(dr.Read())
{
if (dr["funcode"].ToString()=="100")
name1 =nodeOne.AddNode(dr["funname"].ToString(), null, XmlNodeType.Element);
else
{
if ((dr["funname"].ToString()!="a")&&(dr["upperfun"].ToString()=="100"))
name1.AddNode(dr["funname"].ToString(), null, XmlNodeType.Text);
}
}
dr.Close();
}
private void NodeClick(Object sender, TreeClickEventArgs args)
{//string.Format("You clicked the node: {0}", args.ToString())
Page.Response.Write(string.Format("You clicked the Node: {0}", args.Node.Text));
}
private void LeafClick(Object sender, TreeClickEventArgs args)
{
Page.Response.Write(string.Format("You clicked the leaf: {0}", args.Node .ToString()));
}
</script><body>
<form method="POST" action="SATreeView.aspx" runat=server>
<asp:Panel id="Panel1" runat="server" Height="313px" Width="280px" BorderColor="Red" BorderStyle="Solid" Font-Size="xx-small" Font-Names="宋体">
<SA:SATreeView id="satree"
OnLeafClick="LeafClick"
OnNodeClick="NodeClick"
CachedLevels=-1
CssFile=""
ViewType=SADhtmlTree
DataType=SAProg
SizeUnit = px
Overflow=auto
MenuOpenImgSource = "images/down.gif"
MenuClosedImgSource = "images/tri.gif"
LeafImgSource="images/services.gif"
Img1OpenSource = "images/minus.gif"
Img1ClosedSource = "images/plus.gif"
Img2OpenSource = "images/bo.gif"
Img2ClosedSource = "images/bc.gif"
runat=server>
</SA:SATreeView>
</asp:Panel>
</form>
</body>
</html>