求一个有右键菜单的Treeview控件

youmeiyoumeizhucede 2010-05-11 10:40:10
如题...各位高手帮忙想想招
我想要源码,
...全文
176 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
mengxj85 2010-05-15
  • 打赏
  • 举报
回复
treeview上事件
tn.text=<span onclik=''>text</span>

右键菜单是treeview
<div>treeview</div>
右键时显示DIV
辰爸 2010-05-14
  • 打赏
  • 举报
回复
楼主可以去看看JQuery的一个JSTree控件,好像有楼主想要的功能,都是写好的,引用到项目里设置下就可以使用
lester19872007 2010-05-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wosizy 的回复:]
右键菜单? 是在Treeview控件上点击右键菜单吗?

C# code
treeview.js

var menuskin = "skin";
var node = null;


//Calculate string length, one chinese char impropria……
[/Quote]
围观。。。楼主来CSDN尽量不要要源码。多要一些思想和方法!
wosizy 2010-05-11
  • 打赏
  • 举报
回复
右键菜单? 是在Treeview控件上点击右键菜单吗?
treeview.js   

var menuskin = "skin";
var node = null;


//Calculate string length, one chinese char impropriate two byte.
String.prototype.lenB = function()
{
return this.replace(/[^\x00-\xff]/g,"**").length;
}


function hideMenu()
{
popupMenu.style.visibility = "hidden";
}

function highlighItem()
{
if (event.srcElement.className == "menuitems")
{
event.srcElement.style.backgroundColor = "highlight";
event.srcElement.style.color = "white";
}
}

function lowlightItem()
{
if (event.srcElement.className == "menuitems")
{
event.srcElement.style.backgroundColor = "";
event.srcElement.style.color = "black";
window.status = "";
}
}

//Call pop menu function
function clickItem()
{
if (event.srcElement.className == "menuitems")
{
if(event.srcElement.getAttribute("func") == "add" && node != null)
{
var strNewNodeName;
strNewNodeName = prompt('请输入新的目录名字:','');
if(strNewNodeName.lenB() < 20 & strNewNodeName.lenB() > 0) {
window.document.getElementById("TBNewCatalogName").value = strNewNodeName;
document.all.Button1.click();
}
else
alert("目录名长度不对");
}
else if (event.srcElement.getAttribute("func") == "delete" && node != null)
{
if(confirm("确定要删除此目录吗?"))
{
if(window.document.getElementById("TBNodeIndex").value == "0")
alert("不能删除此目录.");
else
document.all.Button2.click();
}
}
else if (event.srcElement.getAttribute("func") == "modify" && node != null)
{
//User can't edit root node name
if(window.document.getElementById("TBNodeIndex").value != "0")
{
var strEditNodeName;
strEditNodeName = prompt('请输入新的目录名字:','');
if(strEditNodeName.lenB() < 20 & strEditNodeName.lenB() > 0) {
window.document.getElementById("TBNewCatalogName").value = strEditNodeName;
document.all.Button3.click();
}
else
alert("目录名长度不对");
}
else
alert("不能修改根结点");
}
}
}


function TreeView1.oncontextmenu()
{
var nodeindex = event.treeNodeIndex;
if (typeof(nodeindex) == "undefined")
{
node = null;
return;
}

node = TreeView1.getTreeNode(nodeindex);
window.document.getElementById("TBNodeIndex").value = nodeindex;


var rightedge = document.body.clientWidth-event.clientX;
var bottomedge = document.body.clientHeight-event.clientY;
if (rightedge <popupMenu.offsetWidth)
{
//old author code
//popupMenu.style.left = document.body.scrollLeft + event.clientX - popupMenu.offsetWidth;
popupMenu.style.left = 30;
}
else
{
//old author code
//popupMenu.style.left = document.body.scrollLeft + event.clientX;
popupMenu.style.left = 30;
}
if (bottomedge <popupMenu.offsetHeight)
{
popupMenu.style.top = document.body.scrollTop + event.clientY - popupMenu.offsetHeight;
}
else
{
popupMenu.style.top = document.body.scrollTop + event.clientY;
}
popupMenu.style.visibility = "visible";
return false;
}



不错的参考...
http://www.codeproject.com/aspnet/ClientSideTreeView.asp

62,072

社区成员

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

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

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

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