如何将选中的树的节点填充到listbox中

IMAGSE 2009-07-28 10:56:40
比如有一份人事档案数据表,我已经将每个部门及部门下的人员作为节点加到了TreeView中,并在每个节点前显示了复选框.
现在我的问题是:想实现在TreeView中选中某个部门前的复选框即自动让此部门下所有人员前的复选框被选中,并通过一个添加按钮只将人员姓名加入到一个listbox列表框里,而不加载部门的名称;另外又如何在listbox列表框中一次连续选中多个人员姓名然后也通过一个按钮反加回到TreeView中相应节点处呢

请指教,谢谢~
...全文
102 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
panyanyan 2009-07-29
  • 打赏
  • 举报
回复
2楼的方法虽然能实现 但是 每次点击 都会到后台访问服务器,这样对服务器压力比较大,

在前台直接用JavaScript 把选中的树节点 添加到ListBox中,这样比较合理!
我的JS方法:
function getCkecked()
{//把 叶子 增加到ListBox中
var alluser =document.getElementById("ListBox1");
alluser.options.length=0;

var inputs = document.getElementsByTagName("input");
for(var j=0;j<inputs.length;j++)
{
if((inputs[j].type=="checkbox") && (inputs[j].checked==true))
{
var t = inputs[j].title;

var v="A";
alluser.options[alluser.options.length] = new Option(t,v,true,true);

}
wenblue7 2009-07-29
  • 打赏
  • 举报
回复
选中事件时将
值添加到listBox中
zhulong1111 2009-07-29
  • 打赏
  • 举报
回复
顶下
liyunfengleo 2009-07-29
  • 打赏
  • 举报
回复
在treeview点击时你可以加入listbox,后者的话你可以重新生成树或者生成相对应的节点吧
IMAGSE 2009-07-29
  • 打赏
  • 举报
回复
感谢各位,看到上面的回答,我有点思路了~
jasondct 2009-07-28
  • 打赏
  • 举报
回复
呵呵 我刚刚完成的项目。完全实现你的要求。
----------------前台
<asp:TreeView ID="TreeView1" runat="server"
onselectednodechanged="TreeView1_SelectedNodeChanged"
ontreenodecheckchanged="TreeView1_TreeNodeCheckChanged"
BackColor="White" Height="257px" ShowCheckBoxes ="Leaf"
ImageSet="Simple" Font-Size="10pt" BorderColor="#CCCCCC" BorderStyle="Solid" BorderWidth="1px"
>
<ParentNodeStyle Font-Bold="False" />
<HoverNodeStyle Font-Underline="True" ForeColor="#5555DD" />
<SelectedNodeStyle Font-Underline="True" ForeColor="#5555DD"
HorizontalPadding="0px" VerticalPadding="0px" />
<NodeStyle Font-Names="Tahoma" Font-Size="10pt" ForeColor="Black"
HorizontalPadding="0px" NodeSpacing="0px" VerticalPadding="0px" />
</asp:TreeView>
-------------------------后 台 绑定树 你要的话 给我信息 此处省略
-------------------遍历树 要选中的 节点
private string GetTreeSelected(TreeNodeCollection trees)
{
foreach (TreeNode tn in trees)
{
if (tn.Checked)
{
//txtresult .Text +=tn.Text + "\n";
result1.Items.Add(tn.Text + "\n");
}
if (tn.ChildNodes != null)
GetTreeSelected(tn.ChildNodes);
}
return result;
}
-----------------------------------调用
result1.Items.Clear();
string test01 = GetTreeSelected(TreeView1 .Nodes );

62,046

社区成员

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

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

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

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