目前,我正在使用RadTreeView Telerik控件显示分层数据以及每个节点的添加/编辑/删除功能。使用TreeView -上下文菜单已经实现了这一点,但我正在尝试实现它,如下所示:

它的工作方式如下: a)当节点通过单击"+“图标展开时,"Add Group”按钮在其上一个子节点的底部可见。当一个节点被选中时,会出现“编辑”和“删除”图标。
在单击任何这些图标时,都会打开相应操作的对话框。
因此,我需要将上下文菜单替换为模拟中所示的显示。我尝试使用NodeTemplate,如下所示:
<NodeTemplate>
<div>
<span>Test</span>
</div>
</NodeTemplate>但是,它将所有节点的文本设置为“测试”。
有人能帮帮我吗?
发布于 2020-02-24 11:46:47
<script type="text/javascript">
function OnClientContextMenuItemClicking(sender, args)
{
var menuItem = args.get_menuItem();
var treeNode = args.get_node();
menuItem.get_menu().hide();
switch (menuItem.get_value())
{
case "edit":
treeNode.startEdit();
break;
}
}
</script>希望这能帮上忙
发布于 2020-02-25 04:09:12
我在服务器端实现了RadTreeView。我认为在服务器端很容易管理,特别是在绑定和处理事件时。
,这是我的Default.aspx.cs
using Telerik.Web.UI;
public partial class Default : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
}
protected void RadTreeView1_NodeEdit(object sender, RadTreeNodeEditEventArgs e)
{
// This is the serverside event that is triggered on Edit
RadTreeNode nodeEdited = e.Node; // This is the current node that is clicked
string newText = e.Text;
nodeEdited.Text = newText;
}
//
//.........
//.........
}这是额外的东西。在服务器端,您还可以找到这样一个节点,
RadTreeNode node = RadTreeView1.FindNodeByText("TestOne");
// now edit and change any test
node.Text = "Test"; 我希望这能帮到你。
https://stackoverflow.com/questions/60190932
复制相似问题