求TreeView实现节点上下调整功能

ABCDE项目要求在TREEVIEW上面有2个按纽一个是“上调整”一个是“下调整”按下调整,节点A的位置从最上面和B交换下,再点一下就和C交换位置变为BCADE上调整也是... A
B
C
D
E

项目要求在TREEVIEW上面有2个按纽一个是“上调整”一个是“下调整”
按下调整,节点A的位置从最上面和B交换下,再点一下就和C交换位置
变为
B
C
A
D
E
上调整也是如此,哪个高手能详细的写下代码啊
展开
 我来答
lptiancai8
2008-09-30 · TA获得超过376个赞
知道小有建树答主
回答量:419
采纳率:0%
帮助的人:330万
展开全部
呵呵,这个我刚刚做完,把代码发给你吧
有什么不明白的,Q我:270461
绑树代码如下:
if (!Page.IsPostBack)
{
string other2 = " and ParentNodeId<>0 order by DisplayOrder";
List<SysFun> li1 = SysFunBLL.getall();
List<SysFun> li2 = SysFunBLL.getbyother(other2);
foreach (SysFun s in li1)
{

if (int.Parse(s.Parentnodeid.ToString()) == 0)
{
TreeNode node = new TreeNode(s.Displayname.ToString());
foreach (SysFun s1 in li2)
{
if (int.Parse(s1.Parentnodeid.ToString()) == int.Parse(s.Nodeid.ToString()))
{
TreeNode no = new TreeNode(s1.Displayname.ToString());
no.ImageUrl = "~/ImgSys/CloseTree.gif";
node.ChildNodes.Add(no);
}
}
this.TreeView1.Nodes.Add(node);
}
}
}
上移按钮代码下如:

if (this.TreeView1.SelectedNode.Text.ToString() == null)
{
Response.Write("<script>alert('您还没有选择要上移的项')</script>");
}
else
{
string name = this.TreeView1.SelectedNode.Text.ToString();
SysFun es = SysFunBLL.getbyname(name);
int id = int.Parse(es.Parentnodeid.ToString());
SysFun mins = SysFunBLL.getmin(id);
SysFun maxs = SysFunBLL.getmax(id);
if ((int.Parse(es.Displayorder.ToString())) == int.Parse(mins.Displayorder.ToString()))
{
Response.Write("<script>alert('此项以经在最上方,不能上移')</script>");
}
else
{
int syid = (int.Parse(es.Displayorder.ToString()) - 1);
SysFun ees = SysFunBLL.getbydid(syid);
int daoid = int.Parse(es.Displayorder.ToString());
int esid = int.Parse(es.Displayorder.ToString());
int eesid = int.Parse(ees.Displayorder.ToString());
esid = eesid;
eesid = daoid;
es.Displayorder = esid;
ees.Displayorder = eesid;
int i1 = SysFunBLL.edit(ees);
if (i1 > 0)
{
int i2 = SysFunBLL.edit(es);
if (i2 > 0)
{
this.TreeView1.Nodes.Clear();
bind();
}
}

}
}
下移按钮代码如下:
if (this.TreeView1.SelectedNode.Text.ToString() == null)
{
Response.Write("<script>alert('您还没有选择要上移的项')</script>");
}
else
{
string name = this.TreeView1.SelectedNode.Text.ToString();
SysFun es = SysFunBLL.getbyname(name);
int id = int.Parse(es.Parentnodeid.ToString());
SysFun mins = SysFunBLL.getmin(id);
SysFun maxs = SysFunBLL.getmax(id);
if ((int.Parse(es.Displayorder.ToString())) == int.Parse(maxs.Displayorder.ToString()))
{
Response.Write("<script>alert('此项以经在最下方,不能下移')</script>");
}
else
{
int syid = (int.Parse(es.Displayorder.ToString()) + 1);
SysFun ees = SysFunBLL.getbydid(syid);
int daoid = int.Parse(es.Displayorder.ToString());
int esid = int.Parse(es.Displayorder.ToString());
int eesid = int.Parse(ees.Displayorder.ToString());
esid = eesid;
eesid = daoid;
es.Displayorder = esid;
ees.Displayorder = eesid;
int i1 = SysFunBLL.edit(ees);
if (i1 > 0)
{
int i2 = SysFunBLL.edit(es);
if (i2 > 0)
{
this.TreeView1.Nodes.Clear();
bind();
}
}

}
}
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式