Asp.net TreeView异步加载数据,并结合checkbox实现多选删除

JS:

<script  runat="server">         void PopulateNode(Object sender, TreeNodeEventArgs e)         {             PopulateCategories(e.Node);//此处可以加一些判断条件去执行不同的方法         }         void PopulateCategories(TreeNode node)         {             DataSet ResultSet = new SysAreaMg().GetListFromView(" a.PCode='" + node.Value + "'");             if (ResultSet.Tables.Count > 0)             {                 foreach (DataRow row in ResultSet.Tables[0].Rows)                 {                     TreeNode newNode = new TreeNode();                     newNode.Text = "<font style='font-size: 12px; font-family:新宋体' >" + row["AreaName"].ToString().Trim() + "</font>";                     newNode.Text += "<font style='font-size: 12px; font-family:新宋体'>[" + row["AreaCode"].ToString() + "]</font>";                     newNode.Text += "&nbsp;&nbsp;<a class='FootLink' href=\"javascript:ymPrompt.win('AreaAdd.aspx?AreaCode=" + Common.UrlEncode(row["AreaCode"].ToString().Trim()) + "', 400, 220, '增加区域', null, null, null, { id: 'form1' }) \">增加区域</a>";                     newNode.Text += "&nbsp;&nbsp;<a class='FootLink' href=\"javascript:ymPrompt.win('AreaEdit.aspx?AreaCode=" + Common.UrlEncode(row["AreaCode"].ToString().Trim()) + "', 400, 220, '编辑区域', null, null, null, { id: 'form1' }) \">编辑区域</a>";                                          newNode.Value = row["AreaCode"].ToString();                     newNode.ShowCheckBox = true;//所有节点都显示多选框                     if (row["childFlag"] != null && row["childFlag"].ToString() != "")//如果为叶子节点则 不需要异步加载数据事件                     {                         newNode.PopulateOnDemand = true;                         newNode.SelectAction = TreeNodeSelectAction.Expand;                     }                     node.ChildNodes.Add(newNode);                 }             }         }     </script>

.aspx

<asp:TreeView ID="TreeView_Area" ShowLines="True" runat="server" ExpandDepth="10"
                        LineImagesFolder="../Img/Tree" Style="margin-top: 0px; margin-left: 20px" Width="20px"
                        ShowCheckBoxes="Leaf" OnTreeNodePopulate="PopulateNode"
                         EnableClientScript="true">
                    </asp:TreeView>

.aspx.cs

//treeview基本设置
TreeView_Area.Nodes.Clear();
        TreeNode node_0 = new TreeNode();
        node_0.ImageUrl = "../Img/Small/s02.jpg";
        node_0.Text = " 行政区划" + "<a herf='#'></a>";
        node_0.Value = "32";
        node_0.Text += "  <a class='FootLink' href=\"javascript:ymPrompt.win('AreaAdd.aspx?AreaCode=" + Common.UrlEncode("0") + "', 400, 220, '增加区域', null, null, null, { id: 'form1' }) \">增加区域</a>";
        node_0.SelectAction = TreeNodeSelectAction.Expand;//点击节点text时展开节点
        node_0.PopulateOnDemand = true;//动态填充设为true
        node_0.Expanded = false;//节点默认不展开
        this.TreeView_Area.Nodes.Add(node_0);
//获取选择项
public string GetTreeCheck(TreeNode tn)
    {
        foreach (TreeNode treenode in tn.ChildNodes)
        {
            if (treenode.Checked)
            {
                string trValue = treenode.Value;
                string trText = treenode.Text;
                FunctionString += trValue + ",";
            }
            GetTreeCheck(treenode);
        }
        return FunctionString;
    }
    protected void btnDelete_Click(object sender, EventArgs e)
    {
        string AreaCodeAll = GetTreeCheck(TreeView_Area.Nodes[0]);
        AreaCodeAll = AreaCodeAll.TrimEnd(',');
        string[] AreaArrayList = AreaCodeAll.Split(',');
        bool bResult = false;
        if (AreaCodeAll == "")
        {
            Common.MessageBox(this.Page, "请选择要删除的区域选项!");
            return;
        }
        else
        {
            for (int i = 0; i < AreaArrayList.Length; i++)
            {
                if (AreaArrayList[i].ToString().Length > 0)
                {
                    bResult = areaMg.Delete(AreaArrayList[i].ToString().Trim());//逐条删除,可优化为集合删除
                }
            }
        }
        ShowTree();
        if (bResult)
        {
            Common.MessageBox(this.Page, "操作成功!");
        }
        else
        {
            Common.MessageBox(this.Page, "操作失败,请重试!");
        } 
        return;
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值