如何根据树节点来查询数据

如何根据树节点来查询数据

做过树形图的朋友应该对树形图的结构很了解吧,现在我要介绍一种简单的利用树形图的节点来查询表格里面的数据,主要是利用获取节点ID来进行重载表格里面的数据,其中得利于layui封装好的重载方法,来看一下吧。
例子:
在这里插入图片描述
我要实现的效果是当我点击树形图节点的时候就让表格查询该节点里面的数据,那么该如何实现的呢?其实很简单的,来看一下吧!
步骤:1、首先要在点击树节点的时候就给节点一个点击事件;2、获取点击的节点ID;3、通过表格重载的方法进行查询数据。
在jQuery中:
设置树形图的配置参数,设置点击事件。

//树形图的配置参数
var setting = {
        callback: {
            onClick: zTreeOnClick,//用于捕获节点被点击的事件回调函数
     }
};
//获取点击的节点
function zTreeOnClick(e, treeId, treeNode) {
     var zTree = $.fn.zTree.getZTreeObj("treeDemo");  //获取树形图里面的数据
     nodes1 = zTree.getSelectedNodes(),
     treeNode = nodes1[0];
     //方法级渲染的重载
     tabCommodity.reload({
            url: "SearchClientAll",
            where: {
                 ID: treeNode.id,  //获取树节点的ID
            },
            page: {
                    curr: 1 //重新从第 1 页开始
            }
       });
}

在控制器中:

public ActionResult SearchCommodityall(int ID, LayuiTablePage layuiTablePage)
{
//查询表格数据(这里不重要的我简写了,请莫怪,红色字是重点) 
      List<commodityVo> listCommodity = (from tbCommodity in myModels.PW_Commodity
            join tbCommodityType in myModels.PW_CommodityType on tbCommodity.CommodityTypeID equals tbCommodityType.CommodityTypeID
            where tbCommodity.CommodityTypeID == ID
            orderby tbCommodity.CommodityID
            select new commodityVo{
                     CommodityID = tbCommodity.CommodityID,
                     CommodityTypeID = tbCommodityType.CommodityTypeID
             }).ToList();
      //计算数据总条数
      int totalRow = listCommodity.Count();
//分页数据
      List<commodityVo> dbCommodity = listCommodity
                     .Skip(layuiTablePage.GetStartIndex())
                     .Take(layuiTablePage.limit)
                     .ToList();
//实例化
LayuiTableData<commodityVo> layuiTableData = new LayuiTableData<commodityVo>
{
          count = totalRow,
          data = dbCommodity
};
     return Json(layuiTableData, JsonRequestBehavior.AllowGet);  //将数据返回到页面
}

总结:根据树节点来查询数据主要是利用节点ID进行查询,再利用表格的重载方法就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值