web treeview控件如何实现移动节点?? 比如上移 下移 并同时移动子节点?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <asp:TreeView ID="TreeView1" runat="server" OnSelectedNodeChanged="TreeView1_SelectedNodeChanged"></asp:TreeView> TreeNode node = null; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { for (int i = 0; i < 10; i++) { node = new TreeNode("上移--> " + i, i.ToString()); TreeView1.Nodes.Add(node); } } } protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e) { node = TreeView1.SelectedNode; for (int i = 0; i < TreeView1.Nodes.Count; i++) { if (node.Value == TreeView1.Nodes[i].Value && i > 0) { TreeNode temp = TreeView1.Nodes[i - 1]; TreeView1.Nodes.AddAt(i - 1, node); TreeView1.Nodes.AddAt(i, temp); break; } } } 如有需要可以用AJAX做成无刷新的 实现上下移动的一个方法就是替换节点a下面有节点b节点b要上移那么就让a和b换个位置好了 给你个思路,可以用克隆的方法。将节点A及下面的子节点克隆。将节点B及下面的子节点克隆。然后位置互换。要做成无刷新的可以用ajax. 我要的思路不是源码 光说一个AJAX你能得到解决问题的思路?还有对于不明原理的人才问的,比如说用AJAX ,AJAX实现原理能否简单的事例介绍我是来寻求帮助的 不是来受教的我的想法移动 先获取所选节点 然后获取移动到的节点 把原有的添加一遍 再删除原有节点此方法的效率可见一般是否有更好的解决方案这是我想要知道谢谢 回 等待开刃的刀实现上下移动的一个方法就是替换 节点a下面有节点b 节点b要上移 那么就让a和b换个位置好了 数据库实现我倒是知道如何操作但在树中我就不知道如何替换位置了 private void button1_Click(object sender, EventArgs e) { TreeNode node = this.treeView1.SelectedNode.Clone() as TreeNode; int index = -1; for (int j = 0; j < this.treeView1.SelectedNode.Parent.Nodes.Count; j++) { if (this.treeView1.SelectedNode == this.treeView1.SelectedNode.Parent.Nodes[j]) { index = j; break; } } this.treeView1.BeginUpdate(); this.treeView1.SelectedNode.Parent.Nodes.Insert(index-1, node); this.treeView1.SelectedNode.Parent.Nodes.RemoveAt(index + 1); this.treeView1.EndUpdate(); this.treeView1.SelectedNode = node; this.treeView1.Select(); } private void button2_Click(object sender, EventArgs e) { TreeNode node = this.treeView1.SelectedNode.Clone() as TreeNode; int index = -1; for (int j = 0; j < this.treeView1.SelectedNode.Parent.Nodes.Count; j++) { if (this.treeView1.SelectedNode == this.treeView1.SelectedNode.Parent.Nodes[j]) { index = j; break; } } this.treeView1.BeginUpdate(); this.treeView1.SelectedNode.Parent.Nodes.Insert(index + 2, node); this.treeView1.SelectedNode.Parent.Nodes.RemoveAt(index); this.treeView1.EndUpdate(); this.treeView1.SelectedNode = node; this.treeView1.Select(); }怎么转成VS2008 c# 的代码 这个软件应该是你要的 WebTreeView是Intersoft公司最近ASP.NET服务器端控件,它是您可以轻松创建分级数据表述功能。WebTreeView.NET® 1.0拥有众多独特的功能特征,其灵活性和高自定义性可以完全满足您的设计需求;其独特的功能特征使其成为最优秀的树形展示控件之一。WebTreeView.NET中的特征包括:三态检验框,懒加载,精确拖拽性能,标准键盘导航控制,内置生动的节点展开及收缩效果。这个强大的控件对开发者创建强大的数据分级展示功能有很大的帮助,窗口到窗口导航同样也是架构导航。当然,它将帮助开发者更轻松将强大的树形列表控件交付给最终用户。WebTreeView.NET 1.0 / 2007 R2 SP1 版本更新信息 Repeater绑定值有引号的问题 GridView问题 高分!!如何让方法参数为objectdatasource的模版!! 安全登录的问题 求不错的ASP.NET视频教程,网上找了很多感觉都不好,下载和在线的都行! 高分求教一个小问题! 大家看看这段程序... 连接数的问题 求教!在aspx页面中,怎样写代码来实现指定某个控件获得焦点???????????????????????? 微信公众平台 接口配置一键绑定如何实现? 如何用程序判断一个友情链接是否已失效(链接对应的网站已不存在)? DataList显示样式
<asp:TreeView ID="TreeView1" runat="server" OnSelectedNodeChanged="TreeView1_SelectedNodeChanged"></asp:TreeView> TreeNode node = null;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
for (int i = 0; i < 10; i++)
{
node = new TreeNode("上移--> " + i, i.ToString());
TreeView1.Nodes.Add(node);
}
}
}
protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{
node = TreeView1.SelectedNode;
for (int i = 0; i < TreeView1.Nodes.Count; i++)
{
if (node.Value == TreeView1.Nodes[i].Value && i > 0)
{
TreeNode temp = TreeView1.Nodes[i - 1];
TreeView1.Nodes.AddAt(i - 1, node);
TreeView1.Nodes.AddAt(i, temp);
break;
}
}
}
如有需要可以用AJAX
做成无刷新的
节点a下面有节点b
节点b要上移那么就让a和b换个位置好了
将节点A及下面的子节点克隆。
将节点B及下面的子节点克隆。
然后位置互换。要做成无刷新的可以用ajax.
光说一个AJAX你能得到解决问题的思路?还有对于不明原理的人才问的,比如说用AJAX ,AJAX实现原理能否简单的事例介绍
我是来寻求帮助的 不是来受教的
我的想法移动 先获取所选节点 然后获取移动到的节点 把原有的添加一遍 再删除原有节点
此方法的效率可见一般是否有更好的解决方案这是我想要知道谢谢
节点a下面有节点b
节点b要上移 那么就让a和b换个位置好了
数据库实现我倒是知道如何操作但在树中我就不知道如何替换位置了
this.treeView1.BeginUpdate();
this.treeView1.SelectedNode.Parent.Nodes.Insert(index-1, node); this.treeView1.SelectedNode.Parent.Nodes.RemoveAt(index + 1);
this.treeView1.EndUpdate();
this.treeView1.SelectedNode = node; this.treeView1.Select();
} private void button2_Click(object sender, EventArgs e) { TreeNode node = this.treeView1.SelectedNode.Clone() as TreeNode; int index = -1; for (int j = 0; j < this.treeView1.SelectedNode.Parent.Nodes.Count; j++) { if (this.treeView1.SelectedNode == this.treeView1.SelectedNode.Parent.Nodes[j]) { index = j; break; } } this.treeView1.BeginUpdate(); this.treeView1.SelectedNode.Parent.Nodes.Insert(index + 2, node); this.treeView1.SelectedNode.Parent.Nodes.RemoveAt(index);
this.treeView1.EndUpdate();
this.treeView1.SelectedNode = node;
this.treeView1.Select();
}怎么转成VS2008 c# 的代码