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 版本更新信息 aspnet web形式的柱图、饼图、用什么画? 求匹配特定字符串的正则表达式! 读取数据 如何实现行列不定分组,这个问题我也不知道该怎么叫好 按地区分类收索信息 采用asp.net 的forms认证,采用身份验证票验证登录,设置保存期为1年,但是30分钟以后验证票就不好使了,为什么? cookie 为什么总也不过期 如何取到当月的第一天和最后一天? 求一简单正则表达式, 关于aspx页面调用ajax的问题 如何用程序判断一个友情链接是否已失效(链接对应的网站已不存在)? 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# 的代码