首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 网页制作
带右键菜单的树形控件(1)-ASP教程,ASP应用
作者:网友供稿 点击:307
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 
用户自定义控件代码如下:
using system;
using system.web.ui;
using system.web.ui.webcontrols;
using system.componentmodel;
using system.io;

namespace ewfs.cl
{
public struct stutreenodes
{
public string strkey;
public string strdispval;
public string strparentkey;
public string strjavascriptcmd;
}

public struct stutreenodesicons
{
public string strtreecaptionicon;
public string strtreecontentopenicon;
public string strtreecontentcloseicon;
}

public struct stutreepopmenu
{
public string strmenuitemimg;
public string strmenuitemtext;
public string strmenuitemcmd;
}


[defaultproperty("text"),
toolboxdata("<{0}:treeview runat=server></{0}:treeview>")]
public class treeview : system.web.ui.webcontrols.webcontrol
{
private string m_treecaption; //标题
private stutreenodes[] m_stutreenodes; //节点内容
private stutreenodesicons m_stutreenodesicons; //节点图标
private string m_treechangedposturl; //修改后的树传送的地址
private bool m_treeadddir;
private bool m_treerendir;
private bool m_treedeldir;
private stutreepopmenu[] m_stutreepopmenu;
private string m_gotoid;
private bool m_treerootpopmenu;
private system.data.dataset m_dstreenodes;


protected system.web.ui.webcontrols.table treetable;

public string treegotoid //定位id
{
get{return m_gotoid;}
set{m_gotoid=value;}
}

[bindable(true),
category("appearance"),
defaultvalue(true)]
public bool treerootpopmenu
{
get{return m_treerootpopmenu;}
set{m_treerootpopmenu=value;}
}

[bindable(true),
category("appearance"),
defaultvalue("")]
public bool treeadddir
{
get{return m_treeadddir;}
set{m_treeadddir=value;}
}

public bool treerendir
{
get{return m_treerendir;}
set{m_treerendir=value;}
}

public bool treedeldir
{
get{return m_treedeldir;}
set{m_treedeldir=value;}
}



public stutreepopmenu[] stutreepopmenu
{
get{return m_stutreepopmenu;}
set{m_stutreepopmenu=value;}
}


public string treechangedposturl
{
get{return m_treechangedposturl;}
set{m_treechangedposturl=value;}
}

public stutreenodesicons stutreenodesicons
{
get {return m_stutreenodesicons;}
set {m_stutreenodesicons = value;}
}

public stutreenodes[] stutreenodes
{
get
{
return m_stutreenodes;
}
set
{
m_stutreenodes=value;
}
}

public string treecaption
{
get
{
return m_treecaption;
}

set
{
m_treecaption = value;
}
}

/// <summary>
/// 获取节点内容
/// </summary>
public system.data.dataset dstreenodes
{
get{return this.m_dstreenodes;}
set
{
this.m_dstreenodes=value;
settreenodes();
}
}

private void settreenodes()
{
this.m_stutreenodes =new stutreenodes[m_dstreenodes.tables[0].rows.count];
for(int i=0;i<m_dstreenodes.tables[0].rows.count;i++)
{
this.m_stutreenodes[i].strkey=m_dstreenodes.tables[0].rows[i][0].tostring();
this.m_stutreenodes[i].strparentkey=m_dstreenodes.tables[0].rows[i][1].tostring()=="0"?"":m_dstreenodes.tables[0].rows[i][1].tostring();
this.m_stutreenodes[i].strdispval=m_dstreenodes.tables[0].rows[i][2].tostring();
this.m_stutreenodes[i].strjavascriptcmd=m_dstreenodes.tables[0].rows[i][3].tostring();
}
}
/// <summary>
/// 将此控件呈现给指定的输出参数。
/// </summary>
/// <param name="output"> 要写出到的 html 编写器 </param>
protected override void createchildcontrols()
{
system.web.ui.webcontrols.table otb=new table();
system.web.ui.webcontrols.table otb1=new table();
system.web.ui.webcontrols.tablerow otr=new tablerow ();
system.web.ui.webcontrols.tablecell otd=new tablecell ();
system.web.ui.webcontrols.unit ou=new unit("98%");
system.web.ui.controlcollection occ=null;
system.web.ui.control oc1=null;
int i;

//输出js文件
string scr="";//"<script language=javascript src=buildtree.js></script>\r\n";
//scr+="<script language=javascript src=popmenu.js></script>\r\n";
scr+="<script>\r\n";
//设置右键菜单
scr+="var menuitemarray=new array( ";
if(m_treeadddir)
{
scr+="[<img src=images/mycomputer.gif>,增加目录,treeadddir()],";
}
if(m_treedeldir)
{
scr+="[<img src=images/mycomputer.gif>,删除目录,treedeldir()],";
}
if(m_treerendir)
{
scr+="[,重命名,treerendir()],";
}

//通过外部增加菜单内容
if(!(m_stutreepopmenu==null))
{
for(i=0;i<m_stutreepopmenu.length ;i++)
{
scr+="["+m_stutreepopmenu[i].strmenuitemimg +","
+""+m_stutreepopmenu[i].strmenuitemtext +","
+""+m_stutreepopmenu[i].strmenuitemcmd.replace("","\\") +"],";
}
}

//scr+="[,,]);\n";
scr=scr.substring(0,scr.length-1);
scr+=");\n";

scr+="var oimgs=new array(3);\r\n";
scr+="for(i=0;i<3;i++)\r\n";
scr+="{\r\n";
scr+=" oimgs[i]=new image;\r\n";
scr+="}\r\n";
scr+="oimgs[0].src="+m_stutreenodesicons.strtreecaptionicon+"\r\n"; //头部图形
scr+="oimgs[1].src="+m_stutreenodesicons.strtreecontentcloseicon +"\r\n"; //未选中
scr+="oimgs[2].src="+m_stutreenodesicons.strtreecontentopenicon +"\r\n"; //选中
scr+="document.body.onclick=hiddenpopmenu();\r\n";

scr+="function treeselectstart(){if(event.srcelement.tagname==input){return true;}else{return false;}}\n";
scr+=tabletreemove();
scr+="</script>";
scr+="<script language=vbscript>\r\n";
scr+="call document.body.attachevent(\"onclick\",getref(\"treeviewaddbodyonclick\"))\r\n";
scr+="sub treeviewaddbodyonclick()\r\n";
scr+=" hiddenpopmenu\r\n end sub \r\n</script>\r\n";
scr+="<script>var eisotreeviewpostaction="
+m_treechangedposturl+"</script>\r\n"; //指定修改后传送的url

scr+="</form><iframe src= name=eisotreeviewframe style=\"display:none\"></iframe>\r\n";
scr+="<form name=treechangedform action="+m_treechangedposturl
+" target=eisotreeviewframe style=\"display:none\"><input type=text name=changedvalue ></form><from>\r\n";


this.controls.add (new literalcontrol(scr));


//this.parent.page.controls[0].controls.add

//建立根目录
treetable=new table ();
treetable.borderwidth =0;
treetable.cellpadding =0;
treetable.cellspacing =0;
treetable.id="treetable";
treetable.style.add ("font-size","12px");
treetable.style.add ("width","100%");

otr=new tablerow ();
otr.id ="treeviewroot";
otd=new tablecell ();
otd.width =20;
otd.text ="<img src="+m_stutreenodesicons.strtreecaptionicon+" width=16 heigth=16>";
otr.cells.add (otd);

otd=new tablecell ();
otd.style.add ("width","99%");
otd.style.add ("cursor","hand");
otd.text ="<span>"+m_treecaption+"</span>";
otd.style.add ("padding-left","4px");
otr.cells.add (otd);

treetable.rows.add (otr);

otr=new tablerow ();
otd=new tablecell ();
otd.columnspan =2;
otr.cells.add (otd);

treetable.rows.add (otr);
this.controls.add (treetable);

stutreenodes[] stn =m_stutreenodes;

treetable.attributes.add ("onclick","treenodeclick()");
treetable.attributes.add ("onselectstart","return treeselectstart();");
treetable.attributes.add ("oncontextmenu","treepopmenu();return false;");
// treetable.attributes.add ("onmousemove","tabletreemv()");
// treetable.attributes.add ("onmousedown","tabletreemd()");
// treetable.attributes.add ("onmouseup","tabletreemu()");


for(i=0;i<stn.length ;i++)
{
occ=null;
otr=new tablerow ();
otd=new tablecell ();
otd.width =20;
otd.text ="<img src=croend.gif width=20 height=18>";
otr.cells.add(otd);

otd=new tablecell ();
otd.width =16;
otd.text ="<img src="+m_stutreenodesicons.strtreecontentcloseicon +" width=15 height=15>";
otd.verticalalign =verticalalign.top;
otr.cells.add(otd);
otd.style.add ("padding-left","4px");

otd=new tablecell ();
otd.width =ou;
otd.style.add ("padding-left","4px");

otd.text ="<span style=\"cursor:hand\">"+stn[i].strdispval+"</span>" ;
otd.attributes.add("nowrap","");

otr.cells.add(otd);
otr.attributes.add ("cmd",stn[i].strjavascriptcmd);

otb=new table() ;
otb.rows.add(otr);
otb.cellpadding =0;
otb.cellspacing =0;
otb.style.add ("width","100%");
otb.style.add ("font-size","12px");
otb.id =stn[i].strkey ;

if(stn[i].strparentkey =="")
{
occ=treetable.rows[1].cells[0].controls;
}
else
{
oc1=this.page.findcontrol(stn[i].strparentkey);
otb1=(table) oc1;
//有子节点增加一行
if(otb1.rows.count==1)
{
addtablerow(otb1);
}
occ=otb1.rows[1].cells[otb1.rows[1].cells.count -1].controls;
}

if(occ.count >0)
{
otb1=(table)occ[occ.count-1];
if(otb1.rows[0].cells[0].text.indexof ("croend.gif")>=0)
otb1.rows[0].cells[0].text ="<img src=cro.gif width=20 height=18>";
}
occ.addat(occ.count,otb);
}
//treetable.rows[1].cells.add(treetable.rows[0].cells[0]);
for(i=0;i<stn.length ;i++)
{
oc1=page.findcontrol(stn[i].strkey);
otb1=(table) oc1;
if(otb1.rows.count ==2)
{
if(otb1.rows[0].cells[0].text.indexof ("end.gif")==-1)
{
otb1.rows[1].cells[0].attributes.add ("background","lin.gif");
}
otb1.rows[0].cells[0].text ="<img src=clo.gif width=20 height=18>";
otb1.rows[0].cells[0].style.add ("cursor","hand");
otb1.rows[1].style.add("display","none");

createimages();

}
}
this.controls.add(new literalcontrol (addtreejs()));
this.controls.add(new literalcontrol (addpopmenujs()));

}

#region 增加表行 addtablerow(table otb2)
private void addtablerow(table otb2)
{
system.web.ui.webcontrols.tablerow otr=new tablerow ();
system.web.ui.webcontrols.tablecell otd=new tablecell ();
for(int i=0;i<otb2.rows[0].cells.count-1;i++)
{
otd=new tablecell ();
if(i==otb2.rows[0].cells.count-2)
otd.columnspan =2;
otr.cells.add (otd);
}
otb2.rows.add (otr);
}
#endregion


#region 增加右键弹出式菜单 addpopmenujs()
private string addpopmenujs()
{
string strpopmenu="<script language=javascript>\r\n//gdx\r\n";
strpopmenu+="htmlpopmenu=<div id=\"opopmenu\" style=\"left: 20px; visibility: hidden; position: absolute; top: 30px\">;\r\n\r\n";
strpopmenu+="htmlpopmenu+=<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\r\n";
strpopmenu+="htmlpopmenu+=<tr>\r\n";
strpopmenu+="htmlpopmenu+=<td height=\"1\" bgcolor=\"white\" style=\"border-right: black 1px solid; border-top: black 1px solid; border-left: black 1px solid; border-bottom: black 1px solid; background-color: #ebf5f7\">\r\n";
strpopmenu+="//menu item area\r\n";
strpopmenu+="htmlpopmenu+=<table id=\"opopmenutb\" border=\"0\" style=\"cursor:hand;font-size:12px\" onmousemove=\"dispmenuitem()\" onmouseout=\"if(!(objmenuitem==\\\\)){objmenuitem.parentelement.style.backgroundcolor=\\\\;objmenuitem.style.color=\\\\;}\" oncontextmenu=\"return false\" onclick=\"execmenucmd(event.srcelement.parentelement.getattribute(\\cmd\\));\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\">\r\n";
strpopmenu+="htmlpopmenu+=</table>\r\n";
strpopmenu+="//menu item area\r\n";
strpopmenu+="htmlpopmenu+=</td>\r\n";
strpopmenu+="htmlpopmenu+=<td width=\"3\">\r\n";
strpopmenu+="htmlpopmenu+=<table width=\"100%\" height=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" id=\"table2\">\r\n";
strpopmenu+="htmlpopmenu+=<tr>\r\n";
strpopmenu+="htmlpopmenu+=<td height=\"3\"></td>\r\n";
strpopmenu+="htmlpopmenu+=<tr>\r\n";
strpopmenu+="htmlpopmenu+=<td>\r\n";
strpopmenu+="htmlpopmenu+=<div style=\"filter: progid:dximagetransform.microsoft.basicimage( rotation=0,mirror=0,invert=0,xray=0,grayscale=0,opacity=0.25);background-color: gray;height:100%; width:3px\">\r\n";
strpopmenu+="htmlpopmenu+=<img src=\"\" width=\"1\" height=\"1\">\r\n";
strpopmenu+="htmlpopmenu+=</div>\r\n";
strpopmenu+="htmlpopmenu+=</td>\r\n";
strpopmenu+="htmlpopmenu+=</tr>\r\n";
strpopmenu+="htmlpopmenu+=</table>\r\n";
strpopmenu+="htmlpopmenu+=</td>\r\n";
strpopmenu+="htmlpopmenu+=</tr>\r\n";
strpopmenu+="htmlpopmenu+=<tr style=\"height:3px\">\r\n";
strpopmenu+="htmlpopmenu+=<td colspan=\"2\">\r\n";
strpopmenu+="htmlpopmenu+=<table width=\"100%\" height=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" id=\"table3\">\r\n";
strpopmenu+="htmlpopmenu+=<tr>\r\n";
strpopmenu+="htmlpopmenu+=<td width=\"3\"></td>\r\n";
strpopmenu+="htmlpopmenu+=<td><div style=\"filter: progid:dximagetransform.microsoft.basicimage( rotation=0,mirror=0,invert=0,xray=0,grayscale=0,opacity=0.25);background-color: gray;height:3px\">\r\n";
strpopmenu+="htmlpopmenu+=<img src=\"\" width=\"1\" height=\"1\"></div>;\r\n";
strpopmenu+="htmlpopmenu+=</td>;\r\n";
strpopmenu+="htmlpopmenu+=</tr>;\r\n";
strpopmenu+="htmlpopmenu+=</table>;\r\n";
strpopmenu+="htmlpopmenu+=</td>;\r\n";
strpopmenu+="htmlpopmenu+=</tr>;\r\n";
strpopmenu+="htmlpopmenu+=</table>;\r\n";
strpopmenu+="htmlpopmenu+=</div>;\r\n";
strpopmenu+="\r\n";
strpopmenu+="var objmenuitem=;\r\n";
strpopmenu+="var objbeforepop=;\r\n";
strpopmenu+="function dispmenuitem()\r\n";
strpopmenu+="{\r\n";
strpopmenu+=" if(event.srcelement.tagname==td)\r\n";
strpopmenu+=" {\r\n";
strpopmenu+=" if(!(objmenuitem==))\r\n";
strpopmenu+=" {\r\n";
strpopmenu+=" objmenuitem.parentelement.style.backgroundcolor=;\r\n";
strpopmenu+=" objmenuitem.style.color=black;\r\n";
strpopmenu+=" }\r\n";
strpopmenu+=" objmenuitem=event.srcelement;\r\n";
strpopmenu+=" objmenuitem.parentelement.style.backgroundcolor=blue;\r\n";
strpopmenu+=" objmenuitem.style.color=white;\r\n";
strpopmenu+=" }\r\n";
strpopmenu+="}\r\n";
strpopmenu+="\r\n";
strpopmenu+="function execmenucmd(cmd)\r\n";
strpopmenu+="{\r\n";
strpopmenu+=" if(!cmd== && cmd.indexof(()>0 && cmd.indexof())>0)\r\n";
strpopmenu+=" {\r\n";
strpopmenu+=" eval(cmd);\r\n";
strpopmenu+=" hiddenpopmenu();\r\n";
strpopmenu+=" }\r\n";
strpopmenu+=" hiddenpopmenu();\r\n";
strpopmenu+="}\r\n";
strpopmenu+="\r\n";
strpopmenu+="function displaymenu(arraymenuitem)\r\n";
strpopmenu+="{\r\n";
strpopmenu+=" //window.opopmenutb.removenode(false);\r\n";
strpopmenu+=" while(opopmenutb.rows.length>0)\r\n";
strpopmenu+=" {\r\n";
strpopmenu+=" opopmenutb.rows[0].removenode(true);\r\n";
strpopmenu+=" }\r\n";
strpopmenu+=" for(i=0;i<arraymenuitem.length-1;i++)\r\n";
strpopmenu+=" {\r\n";
strpopmenu+=" myrow=window.opopmenutb.insertrow();\r\n";
strpopmenu+=" mycel=myrow.insertcell();\r\n";
strpopmenu+=" mycel.height=19\r\n";
strpopmenu+=" mycel.style.paddingleft=4px;\r\n";
strpopmenu+=" mycel.style.paddingright=2px;\r\n";
strpopmenu+=" mycel.style.paddingtop=2px;\r\n";
strpopmenu+=" mycel.style.paddingbottom=2px;\r\n";
strpopmenu+=" mycel.innerhtml=arraymenuitem[i][0];\r\n";
strpopmenu+=" mycel=myrow.insertcell();\r\n";
strpopmenu+=" mycel.style.paddingleft=2px;\r\n";
strpopmenu+=" mycel.style.paddingright=4px;\r\n";
strpopmenu+=" mycel.style.paddingtop=2px;\r\n";
strpopmenu+=" mycel.style.paddingbottom=2px;\r\n";
strpopmenu+=" mycel.innerhtml=arraymenuitem[i][1];\r\n";
strpopmenu+=" mycel.nowarp=true;\n";
strpopmenu+=" myrow.setattribute(cmd,arraymenuitem[i][2]); \r\n";
strpopmenu+=" }\r\n";
strpopmenu+="}\r\n";
strpopmenu+="\r\n";
strpopmenu+="function popmenu()\r\n";
strpopmenu+="{\r\n";
strpopmenu+=" \r\n";
strpopmenu+=" objbeforepop=event.srcelement; //弹出菜单前的对象\r\n";
strpopmenu+=" \r\n";
strpopmenu+=" if((opopmenu.clientheight+event.y)>document.body.clientheight)\r\n";
strpopmenu+=" {\r\n";
strpopmenu+=" opopmenu.style.postop =event.y-opopmenu.clientheight+document.body.scrolltop;\r\n";
strpopmenu+=" }\r\n";
strpopmenu+=" else\r\n";
strpopmenu+=" {\r\n";
strpopmenu+=" opopmenu.style.postop =event.y+document.body.scrolltop;\r\n";
strpopmenu+=" }\r\n";
strpopmenu+=" if((opopmenu.clientwidth+event.x)>document.body.clientwidth )\r\n";
strpopmenu+=" {\r\n";
strpopmenu+=" opopmenu.style.posleft =event.x-opopmenu.clientwidth+document.body.scrollleft ;\r\n";
strpopmenu+=" }\r\n";
strpopmenu+=" else\r\n";
strpopmenu+=" {\r\n";
strpopmenu+=" opopmenu.style.posleft =event.x+document.body.scrollleft;\r\n";
strpopmenu+=" }\r\n";
strpopmenu+=" opopmenu.style.visibility =visible;\r\n";
strpopmenu+=" //alert(opopmenu.clientheight );\r\n";
strpopmenu+="}\r\n";
strpopmenu+="function hiddenpopmenu()\r\n";
strpopmenu+="{\r\n";
strpopmenu+=" opopmenu.style.visibility =hidden;\r\n";
strpopmenu+="}\r\n";
strpopmenu+="document.write(htmlpopmenu);\r\n</script>";

strpopmenu="<script language=javascript src=/egms/web/js/popmenu.js></script>";
return strpopmenu;
}
#endregion

private string addtreejs()
{
string strtree="<script language=javascript>\r\n";
strtree+="var strtreeundeletedir=子目录不为空,不能删除;\n";
strtree+="var strtreenewitem=新建目录;\n";

strtree+="treehtml1=<div id=\"treeinputparent\" style = \"visibility: hidden;position:absolute\">\r\n";
strtree+="treehtml1+=<input type=\"text\" name=\"treeinput\" id=\"treeinput\" style=\"border-right: 1px solid; border-top: 1px solid; font-size: 12px; z-index: 9; border-left: 1px solid; border-bottom: 1px solid;\" onkeypress=\"treeinputkey();\" onblur=\"treeinputblur();\">\r\n";
strtree+="treehtml1+=<input type=\"hidden\" id=\"treeinput1\" id=\"treeinput1\">\r\n";
strtree+="treehtml1+=</div>\r\n";
strtree+="\r\n";
strtree+=" document.write(treehtml1);\r\n";
strtree+="\r\n";
strtree+="var objselected=\r\n";

//快速定位
strtree+="function tmpgotoid(id)\n";
strtree+="{\n";
strtree+=" obj=document.all.tags(table);\n";
strtree+=" for(i=0;i<obj.length;i++)\n";
strtree+=" {\n";
strtree+=" if(obj[i].id==id)\n";
strtree+=" {\n";
strtree+=" obj=obj[i];\n";
strtree+=" break;\n";
strtree+=" }\n";
strtree+=" }\n";
strtree+=" obj.rows[0].cells[1].innerhtml=<img width=16 height=16 border=0 src=+oimgs[2].src+>;\n";
strtree+=" //obj.rows[0].cells[2].childnodes[0].style.backgroundcolor=blue;\n";
strtree+=" //obj.rows[0].cells[2].childnodes[0].style.color=white;\n";
strtree+=" objselected=obj.rows[0].cells[2].childnodes[0];\n";
strtree+=" \n";
strtree+=" obj=obj.parentelement.parentelement.parentelement.parentelement;\n";
strtree+=" while(!(obj.id==treetable))\n";
strtree+=" {\n";
strtree+=" obj.rows[1].style.display=inline;\n";
strtree+=" obj.rows[0].cells[0].childnodes[0].src=ope.gif;\n";
strtree+=" obj=obj.parentelement.parentelement.parentelement.parentelement;\n";
strtree+=" }\n";
strtree+=" \n";
strtree+="}\n";

string mm=m_gotoid+"";
if(!(mm.trim()=="")) //快速定位
strtree+="tmpgotoid("+mm+");\n";

//右键弹出菜单
strtree+="function treepopmenu()\r\n";
strtree+="{\r\n";
strtree+=" if(event.srcelement.tagname==span)\r\n";
strtree+=" {\r\n";
//根节点禁止右键菜单
if(m_treerootpopmenu==false)
{
strtree+=" if(event.srcelement.parentelement.parentelement.id==treeviewroot)\n";
strtree+=" return;\n";
}
strtree+=" if (!(objselected==))\r\n";
strtree+=" {\r\n";
strtree+=" loc=objselected.parentelement.parentelement.cells.length-2\r\n";
strtree+=" objselected.style.backgroundcolor=;\r\n";
strtree+=" objselected.style.color=;\r\n";
strtree+=" if(!(objselected.parentelement.parentelement.parentelement.parentelement.id==treetable))\n";
strtree+=" objselected.parentelement.parentelement.cells[loc].innerhtml=oimgs[1].outerhtml\r\n";
strtree+=" }\r\n";
strtree+=" objselected=event.srcelement;\r\n";
strtree+=" loc=objselected.parentelement.parentelement.cells.length-2\r\n";
strtree+=" objselected.style.backgroundcolor=blue;\r\n";
strtree+=" objselected.style.color=white\r\n";
strtree+=" displaymenu(menuitemarray);\r\n";
strtree+=" popmenu();\r\n";
strtree+=" }\r\n";
strtree+="}\r\n";

strtree+="function treenodeclick()\r\n";
strtree+="{\r\n";
strtree+=" \r\n";
strtree+=" if(event.srcelement.tagname==span)\r\n";
strtree+=" {\r\n";
strtree+=" if (!(objselected==))\r\n";
strtree+=" {\r\n";
strtree+=" loc=objselected.parentelement.parentelement.cells.length-2\r\n";
strtree+=" objselected.style.backgroundcolor=;\r\n";
strtree+=" objselected.style.color=;\r\n";
strtree+=" if(!(objselected.parentelement.parentelement.parentelement.parentelement.id==treetable))\n";
strtree+=" objselected.parentelement.parentelement.cells[loc].innerhtml=oimgs[1].outerhtml\r\n";
strtree+=" }\r\n";
strtree+=" objselected=event.srcelement;\r\n";
strtree+=" loc=objselected.parentelement.parentelement.cells.length-2\r\n";
strtree+=" objselected.style.backgroundcolor=blue;\r\n";
strtree+=" objselected.style.color=white\r\n";
strtree+=" if(!(objselected.parentelement.parentelement.parentelement.parentelement.id==treetable))\n";
strtree+=" objselected.parentelement.parentelement.cells[loc].innerhtml=oimgs[2].outerhtml\r\n";
strtree+=" cmdstr=objselected.parentelement.parentelement.cmd;\r\n";
strtree+=" if(!(cmdstr==))\r\n";
strtree+=" eval(cmdstr);\r\n";
strtree+=" return;\r\n";
strtree+=" }\r\n";
strtree+=" \r\n";
strtree+=" if(event.srcelement.tagname==img)\r\n";
strtree+=" {\r\n";
strtree+=" obj=event.srcelement;\r\n";
strtree+=" if(obj.src.indexof(clo.gif)>0)\r\n";
strtree+=" {\r\n";
strtree+=" obj.src=\"ope.gif\"\r\n";
strtree+=" obj.parentelement.parentelement.parentelement.rows[1].style.display=inline;\r\n";
strtree+=" return\r\n";
strtree+=" }\r\n";
strtree+=" if(obj.src.indexof(ope.gif)>0)\r\n";
strtree+=" {\r\n";
strtree+=" obj.src=\"clo.gif\"\r\n";
strtree+=" obj.parentelement.parentelement.parentelement.rows[1].style.display=none;\r\n";
strtree+=" return;\r\n";
strtree+=" }\r\n";
strtree+=" }\r\n";
strtree+="}\r\n";

strtree+="function treepostchange(v1){" ;
strtree+=" document.treechangedform.changedvalue.value=v1;";
strtree+=" document.treechangedform.submit();}\n";


//删除目录
strtree+="function treedeldir(){\n";
strtree+=" objnode=objbeforepop.parentelement.parentelement.parentelement.parentelement;\r\n";
strtree+=" objnodeparent=objnode.parentelement;\r\n";
strtree+=" if(objnode.rows.length>1)\r\n";
strtree+=" {\r\n";
strtree+=" objnode.rows[1].style.display=inline;\r\n";
strtree+=" objnode.rows[0].cells[0].childnodes[0].src=ope.gif\r\n";
strtree+=" objnode.rows[0].cells[1].childnodes[0].src=oimgs[2].src;\r\n";
strtree+=" alert(strtreeundeletedir)\r\n";
strtree+=" return;\r\n";
strtree+=" }\r\n";
strtree+=" treepostchange(delete?+objnode.id);}\n";

strtree+="function treedeldirenabled()\r\n";
strtree+="{\r\n";
strtree+=" objnode=objbeforepop.parentelement.parentelement.parentelement.parentelement;\r\n";
strtree+=" objnodeparent=objnode.parentelement;\r\n";
strtree+=" if(objnode.rows.length>1)\r\n";
strtree+=" {\r\n";
strtree+=" objnode.rows[1].style.display=inline;\r\n";
strtree+=" objnode.rows[0].cells[0].childnodes[0].src=ope.gif\r\n";
strtree+=" objnode.rows[0].cells[1].childnodes[0].src=oimgs[2].src;\r\n";
strtree+=" alert(strtreeundeletedir)\r\n";
strtree+=" return;\r\n";
strtree+=" }\r\n";
strtree+=" treepostchange(del?+objnode.id);";
strtree+=" objnodeparent.removechild(objnode);\r\n";
strtree+=" if(objnodeparent.childnodes.length==0)\r\n";
strtree+=" {\r\n";
strtree+=" //空子目录\r\n";
strtree+=" obj1=objnodeparent.parentelement.parentelement.parentelement\r\n";
strtree+=" obj1.deleterow(1);\r\n";
strtree+="obj1.rows[0].cells[0].childnodes[0].src=cro.gif;\r\n";
strtree+=" obj1p=obj1.parentelement;\r\n";
strtree+=" \r\n";
strtree+=" if(obj1p.childnodes[obj1p.childnodes.length-1]==obj1)\r\n";
strtree+=" {\r\n";
strtree+=" //目录底部\r\n";
strtree+=" obj1.rows[0].cells[0].childnodes[0].src=croend.gif;\r\n";
strtree+=" obj1.rows[0].cells[0].style.cursor=;\r\n";
strtree+=" }\r\n";
strtree+=" return\r\n";
strtree+=" }\r\n";
strtree+=" \r\n";
strtree+=" //设置上层目录类型\r\n";
strtree+=" obj1=objnodeparent.childnodes[objnodeparent.childnodes.length-1];\r\n";
strtree+=" if(obj1.rows.length==2)\r\n";
strtree+=" {\r\n";
strtree+=" obj1.rows[1].cells[0].background=;\r\n";
strtree+=" }\r\n";
strtree+=" else\r\n";
strtree+=" {\r\n";
strtree+=" obj1.rows[0].cells[0].childnodes[0].src=croend.gif;\r\n";
strtree+=" }\r\n";
strtree+="}\r\n";

//重命名
strtree+="//重命名\r\n";
strtree+="var otreeinpt=treeinputparent.childnodes[0];\r\n";
strtree+="var otreeinpt1=treeinputparent.childnodes[1];\r\n";

//查询是否能够rename
strtree+="function treerendir()\r\n";
strtree+="{\r\n";
strtree+=" objren=objbeforepop;\r\n";
strtree+=" treepostchange(rename?+objren.parentelement.parentelement.parentelement.parentelement.id);}\n";

strtree+="function treerendirenabled()\r\n";
strtree+="{\r\n";
strtree+=" objren=objbeforepop;\r\n";
strtree+=" if(objren.parentelement.parentelement.parentelement.parentelement.id==treetable)\n";
strtree+=" return;\n";
strtree+=" otreeinpt.value =objren.innertext;\r\n";
strtree+=" otreeinpt1.value =objren.innertext;\r\n";
strtree+=" objren.innertext=;\r\n";
strtree+=" objren.appendchild (otreeinpt);\r\n";
strtree+=" otreeinpt=objren.childnodes[0];\r\n";
strtree+=" otreeinpt.focus();\r\n";
strtree+="}\r\n";
strtree+="\r\n";

strtree+="var newitem=0;\r\n";
strtree+="var lnewitem=false;\n";

strtree+="function treeadddir()\r\n";
strtree+="{\r\n";
strtree+=" objnode=objbeforepop.parentelement.parentelement.parentelement.parentelement;\r\n";
strtree+=" objbeforepop.style.backgroundcolor=;\r\n";
strtree+=" objbeforepop.style.color=;\r\n";
strtree+=" treecreattable(newitem+newitem,objnode.id);\r\n";
strtree+=" treepostchange(newitem?+objnode.id);}\n";

strtree+="function treeadddirenabled()\r\n";
strtree+="{\r\n";
strtree+=" objnode=objbeforepop.parentelement.parentelement.parentelement.parentelement;\r\n";
strtree+=" objbeforepop.style.backgroundcolor=;\r\n";
strtree+=" objbeforepop.style.color=;\r\n";
strtree+=" treecreattable(newitem+newitem,objnode.id);\r\n";
strtree+=" newitem++;\r\n";
strtree+=" \r\n";
strtree+=" if(objnode.rows.length==1)\r\n";
strtree+=" {\r\n";
strtree+=" //建立下一行\r\n";
strtree+=" otr=objnode.insertrow();\r\n";
strtree+=" for(m=0;m<objnode.rows[0].cells.length-1;m++)\r\n";
strtree+=" {\r\n";
strtree+=" otd=otr.insertcell();\r\n";
strtree+=" }\r\n";
strtree+=" otd.colspan=2\r\n";
strtree+="\r\n";
strtree+=" if(!(objnode.parentelement.childnodes[objnode.parentelement.childnodes.length-1]==objnode))\r\n";
strtree+=" {\r\n";
strtree+=" objnode.rows[1].cells[0].background=lin.gif;\r\n";
strtree+=" }\r\n";
strtree+=" objnode.rows[0].cells[0].innerhtml=\"<img src=ope.gif width=20 height=18>\";\r\n";
strtree+=" objnode.rows[0].cells[0].style.cursor=hand;\r\n";
strtree+=" }\r\n";
strtree+=" else\r\n";
strtree+=" {\r\n";
strtree+=" if(!(objnode.id==treetable)){\n";
strtree+=" objnode.rows[1].style.display=inline;\r\n";
strtree+=" objnode.rows[0].cells[0].innerhtml=\"<img src=ope.gif width=20 height=18>\";\r\n";
strtree+=" if(!(objnode.parentelement.childnodes[objnode.parentelement.childnodes.length-1]==objnode))\r\n";
strtree+=" objnode.childnodes[objnode.childnodes.length-1].rows[1].cells[0].background=lin.gif;\r\n";
strtree+=" }\n}\r\n";
strtree+=" \r\n";
strtree+=" obj1=objnode.rows[1].cells[objnode.rows[1].cells.length-1];\r\n";
strtree+=" if(obj1.childnodes.length>0)\r\n";
strtree+=" {\r\n";
strtree+=" obj=obj1.childnodes[obj1.childnodes.length-1];\r\n";
strtree+=" if(obj.rows[0].cells[0].innerhtml.indexof(croend.gif)>-1)\r\n";
strtree+=" obj.rows[0].cells[0].innerhtml=\"<img src=cro.gif>\";\r\n";
strtree+=" else\r\n";
strtree+=" obj.rows[1].cells[0].background=lin.gif;\r\n";
strtree+=" \r\n";
strtree+=" }\r\n";
strtree+=" obj1.insertadjacentelement(beforeend,otb);\r\n";
strtree+=" objbeforepop=otb.rows[0].cells[2].childnodes[0];\r\n";
strtree+=" lnewitem=true;\n treerendirenabled();\r\n";
strtree+="}\r\n";
strtree+="\r\n";

strtree+="function treecreattable(id,parid)\r\n";
strtree+="{\r\n";
strtree+=" otb=document.createelement (\"table\")\r\n";
strtree+=" otb.width=100%;\r\n";
strtree+=" otb.border=0;\r\n";
strtree+=" otb.cellpadding =0;\r\n";
strtree+=" otb.cellspacing =0;\r\n";
strtree+=" otb.id=id;\r\n";
strtree+=" otb.style.fontsize=12px;\r\n";
strtree+=" \r\n";
strtree+=" otr=otb.insertrow();\r\n";
strtree+=" otr.setattribute(cmd,\"\");\r\n";
strtree+=" \r\n";
strtree+=" otd=otr.insertcell();\r\n";
strtree+=" otd.width=20;\r\n";
strtree+=" otd.height=18;\r\n";
strtree+=" otd.innerhtml=\"<img src=croend.gif width=20 height=18>\"\r\n";
strtree+=" \r\n";
strtree+=" otd=otr.insertcell();\r\n";
strtree+=" otd.width=16;\r\n";
strtree+=" otd.innerhtml=oimgs[1].outerhtml;\r\n";
strtree+=" otd.align=center\r\n";
strtree+=" otd.style.paddingleft=4px;\r\n";
strtree+=" \r\n";
strtree+=" otd=otr.insertcell();\r\n";
strtree+=" otd.width=98%\r\n";
strtree+=" otd.innerhtml=<span>+strtreenewitem +newitem+</span>;\r\n";
strtree+=" otd.style.cursor=hand;\r\n";
strtree+=" otd.style.paddingleft=4px;\r\n";
strtree+="}\r\n";
strtree+="\r\n";

strtree+="//重命名键判断\r\n";
strtree+="function treeinputkey()\r\n";
strtree+="{\r\n";
strtree+=" if(event.keycode==13)\r\n";
strtree+=" {\r\n";
strtree+=" treeinputblur();\r\n";
strtree+=" }\r\n";
strtree+=" if(event.keycode==27)\r\n";
strtree+=" {\r\n";
strtree+=" o1=otreeinpt.parentelement;\r\n";
strtree+=" treeinputparent.appendchild (otreeinpt);\r\n";
strtree+=" o1.innertext =otreeinpt1.value;\r\n";
strtree+=" }\r\n";
strtree+="}\r\n";
strtree+="\r\n";

strtree+="//判断新内容\r\n";
strtree+="function treeinputblur()\r\n";
strtree+="{\r\n";
strtree+=" if(otreeinpt.value==)\r\n";
strtree+=" {\r\n";
strtree+=" alert(名称不能为空);\r\n";
strtree+=" otreeinpt.focus ();\r\n";
strtree+=" return;\r\n";
strtree+=" }\r\n";
strtree+=" o3=otreeinpt.parentelement.parentelement.parentelement.parentelement.parentelement\r\n";
strtree+=" o2=o3.parentelement\r\n";
strtree+=" for(i=0;i<o2.childnodes.length;i++)\r\n";
strtree+=" {\r\n";
strtree+=" //alert(o2.childnodes[i].rows[0].cells[2].innertext)\r\n";
strtree+=" if(o2.childnodes[i].rows[0].cells[2].innertext==otreeinpt.value)\r\n";
strtree+=" {\r\n";
strtree+=" alert(名称重复);\r\n";
strtree+=" otreeinpt.focus ();\r\n";
strtree+=" return;\r\n";
strtree+=" }\r\n";
strtree+=" }\r\n";
strtree+="if(!lnewitem){";
strtree+="treepostchange(ren?+o3.id+?+otreeinpt.value);}\n";
strtree+="else{\n";
strtree+="treepostchange(new?+o3.id+?+otreeinpt.value+?+o2.parentelement.parentelement.parentelement.id);lnewitem=false;}\n";
strtree+=" o1=otreeinpt.parentelement;\r\n";
strtree+=" treeinputparent.appendchild (otreeinpt);\r\n";
strtree+=" o1.innertext =otreeinpt.value;\r\n";
strtree+="}\r\n</script>";
return strtree;
}


private void createimages()
{
string fp=this.parent.page.server.mappath(".")+"\\";

string strope="r0lgodlhfaasajecaaaaaicagp///waaach5baeaaaialaaaaaauabiaaainli+pk8epy5muhotxdio/j4clajcja6tp5ltnumgw/gvzhxf5rj8fads=";
saveimage(strope,fp+"ope.gif");

string strcro ="r0lgodlhfaasaiabaicagp///yh5baeaaaealaaaaaauabiaaaicji+pg8apy5o0uorfzry5p4edti1cawjosq1iaqa7";
saveimage(strcro,fp+"cro.gif");

string strcroend="r0lgodlhfaasaiabaicagp///yh5baeaaaealaaaaaauabiaaaiyji+pg8apy5o0uorfzry5p4hdsjbmiuofads=";
saveimage(strcroend,fp+"croend.gif");

string strlin="r0lgodlhfaasaiabaicagp///yh5baeaaaealaaaaaauabiaaaiyji+pg8apy5o0uorfzrzt3n1gjo6wguifads=";
saveimage(strlin,fp+"lin.gif");

string strclo="r0lgodlhfaasajecaaaaaicagp///waaach5baeaaaialaaaaaauabiaaaiqli+pk8epy5muhotxdio/dxwea4qbaktp5lrjaywlpfnzlmxv3vf+/ygaads=";
saveimage(strclo,fp+"clo.gif");
}


private void saveimage(string strfileb64,string strfilename)
{
filestream ofs=new filestream (strfilename,filemode.create);
byte[] bdes=convert.frombase64string (strfileb64);
ofs.write(bdes,0,bdes.length );
ofs.close ();
}
/// <summary>
/// 生成目录移动脚本
/// </summary>
/// <returns></returns>
private string tabletreemove()
{
return "var lmousedown=false;\n"
+"var createspan=;\n"
+"var redobj=;\n"
+"var selectednode=\n"
+"function tabletreemv()\n"
+"{\n"
+" if(lmousedown==false)\n"
+" return;\n"
+" createspan.style.left=event.x;\n"
+" createspan.style.top=event.y;\n"
+" if(event.srcelement.tagname==span && event.srcelement.style.cursor==hand)\n"
+" {\n"
+" event.srcelement.style.color=red;\n"
+" if(redobj!= && redobj!=event.srcelement && redobj.style.color==red )\n"
+" {\n"
+" redobj.style.color=;\n"
+" \n"
+" }\n"
+" redobj=event.srcelement;\n"
+" \n"
+" }\n"
+"}\n"
+"function tabletreemu()\n"
+"{\n"
+" if(lmousedown==false)\n"
+" return;\n"
+" lmousedown=false;\n"
+" if(createspan !=)\n"
+" {\n"
+" document.body.removechild(createspan);\n"
+" createspan=;\n"
+" }\n"
+" if(event.srcelement.tagname==span && event.srcelement.style.cursor==hand)\n"
+" {\n"
+" if(event.srcelement.parentelement.parentelement.parentelement.parentelement.rows.length==1)\n"
+" {\n"
+" tr=event.srcelement.parentelement.parentelement.parentelement.parentelement.insertrow();\n"
+" tr.insertcell();\n"
+" td=tr.insertcell();td.colspan=2;\n"
+" }\n"
+" event.srcelement.parentelement.parentelement.parentelement.parentelement.rows[1].cells[1].appendchild(selectednode);\n"
+" }\n"
+"}\n"
+"function tabletreemd()\n"
+"{\n"
+" if(event.srcelement.tagname==span && event.srcelement.style.cursor==hand)\n"
+" {\n"
+" lmousedown=true;\n"
+" //event.srcelement.innerhtml=aaa;\n"
+" selectednode=event.srcelement.parentelement.parentelement.parentelement.parentelement;\n"
+" tabletreecreateobject();\n"
+" }\n"
+"}\n"
+"function tabletreecreateobject()\n"
+"{\n"
+" o1=document.createelement(span);\n"
+" o1.innertext=selectednode.innertext;\n"
+" //\n"
+" //o1.style.position=absloute;\n"
+" o1.style.top=event.y;\n"
+" o1.style.left =event.x;\n"
+" document.body.appendchild(o1);\n"
+" o1.style.position=absolute;\n"
+" createspan=o1;\n"
+"}\n";
}

}


}




文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·中文字符从jsp传送到servlet的处理-JSP教程,Jsp/Servlet
·带右键菜单的树形控件(1)-ASP教程,ASP应用
·RSA加密解密及RSA签名和验证-.NET教程,安全和优化
·VB中String的用法及原理-.NET教程,VB.Net语言
·ASP Forum2.0学习笔记之二---了解Master Pages库-ASP教程,数据库相关
·使用ImageList时候发生运行错误提示资源问题的解决方法-.NET教程,评论及其它
·web.config点滴:更改login控件对密码安全性的要求-.NET教程,组件控件开发
·基于h.323协议的ip视频会议质量技术
·框架(javascript)-JSP教程,Java技巧及代码
·讲一讲ASP处理数据用的组件ADO (ActiveX Data Object)-ASP教程,数据库相关
最新文章
·从两方面看ajax与b/s_ajax教程
·google adsense for content新的广告样式_google推广
·flash as代码简单实现动态文本包边效果_flash教程
·我做gg广告从0到每月1000美元详细全过程_网赚技巧
·google adsense 中文高价关键词一览_网赚技巧
·谁说小网站赚不到钱!_网赚技巧
·什么样的网站才算是高质量网站呢?_站长心得
·经验:搜索引擎的页面各个元素的权重比例参考_站长心得
·搜索引擎google排名优化全攻略_google推广
·月入千美金不是梦--adsense高收入实战及分_google推广
相关主题
西部数码虚拟主机

友情链接
CNNIC 西部数码
万网 自助建站
虚拟主机 asp空间
域名注册 域名
域名申请 主页空间
论坛空间 网站空间
国际域名 虚拟空间
空间租用 DDOS防火墙
成都主机托管 四川主机托管
主机租用 服务器租用
网站目录 自助建站
虚拟主机 网址大全
软件下载
自助链接
虚拟主机资讯 特价虚拟主机
版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
发表评论 打印  刷新     关闭