Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用存储过程按需加载JSTree

使用存储过程按需加载JSTree
EN

Stack Overflow用户
提问于 2012-06-02 02:03:04
回答 1查看 2.7K关注 0票数 4

目前,我在SQL Server中有两个存储过程来处理从数据库中检索树:

当您传入一个级别编号时,第一个方法检索特定级别的所有节点。

另一个方法在传入Level、Left和Right值时检索特定节点的子节点。

我使用的是MVC3。

理想情况下,我希望将JSTree设置为在用户每次单击以展开节点时调用数据库。因此,我希望只传递用户单击的特定节点的子节点,而不是像通常那样将整个树加载到服务器上的Json模型中,然后将其传递给JSTree。这将在每个节点上发生,因此只有直接节点的子节点必须传递到JSTree中,而不是整个树中。

这个是可能的吗?如果是这样的话,我希望能为视图(特别是)以及使用微软的MVC3框架的控制器提供一些示例代码。如果能帮上忙我会很感激的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-30 23:22:59

是的,这是可能的,使用jstree实际上是非常简单的。

您要做的是使用webservice插件的ajax参数,但对其进行设置,以便向dataurl参数传递一个函数,该函数将发送已展开的节点id,以便您的set服务可以调用您的存储过程并返回所选节点的子节点的数据。

下面是http://www.jstree.com/documentation/json_data的一个例子,稍微做了一些修改:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$("#tree").jstree({ 
  "json_data" : {
     "ajax" : {
       "url" : "/yourwebservice/getnodechildren",
       "data" : function (node) { 
           //this is passed the node being opened
           //or -1 if it's the root node

           var dataToPass = {};

           if (node === -1) {
              //pass parameters to the webservice that will build and return
              //first two tree levels

              dataToPass = { 
                id : 0,
                initialLoad: true
              }; 
           }

           if (node.attr && node.attr("id") {
               dataToPass = {
                 id: node.attr("id"),
                 initialLoad: false
               }
           }

           return dataToPass;

        },
        "success" : function (dataFromWebservice) {
            //depending on how the webservice returns
            //data you may need to do this
            return dataFromWebservice.d;
        }
      }
    },
"plugins" : [ "themes", "json_data" ]
});

您可以使这段代码更优雅一些,但这就是要点。这将允许您按需分块构建树,而不是一次性构建所有树。

如果您的webservice设置为在url上传递参数,则只需将url设置为函数,并使用该函数来构建您的url请求,而不是使用节点的id或您需要的任何其他参数。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10859266

复制
相关文章
vue按需加载组件
借助 babel-plugin-component,我们可以只引入需要的组件,以达到减小项目体积的目的
Autooooooo
2020/11/09
1.4K0
vue按需加载组件
使用jsTree树形控件【4】
使用JSON渲染jsTree的话,需要指定JSON的格式,jsTree可以使用两种JSON格式,在标准JSON格式中,没有必需的属性,而且还可以添加自定义的属性。 具体格式说明如下:
用户2936342
2018/08/27
2.2K0
vite + vue3 中使用按需加载
该插件主要作用是省去每次使用一个自定义组件,或UI组件库的组件时对组件的引入。兼容不同UI组件库,需要在安装对应UI组件库的前提下,并引入对应UI组件库的 resolvers。
蓓蕾心晴
2022/07/04
2.6K0
webpack异步加载_webpack配置按需加载
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/01
1.1K0
mybaits使用存储过程
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/117668.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/05
3970
Ant Design 按需加载css
1.然后在项目根目录创建一个 config-overrides.js 用于修改默认配置。
切图仔
2022/09/08
8720
按需加载 AngularJS 的 Controller
AngularJS 通过路由支持多视图应用, 可以根据路由动态加载所需的视图, 在 AngularJS 的文档中有详细的介绍, 网上也有不少教程, 就不用介绍了!
beginor
2020/08/10
1.2K0
按需加载js和css
博客上有一个用mediaelement-and-player.js弄的播放器,插件默认的是每个页面都加载一次mediaelement-and-player.min.js和mediaelementplayer.min.css,两个文件都十分的庞大,加起来接近100k,虽然gzip之后只剩下20多k但是也是十分地不爽,所以我便寻思着有没有什么办法能有播放器的时候就加载它,没有播放器的时候就不加载。
zgq354
2019/11/24
2.8K0
Webpack插件按需加载组件_webpack懒加载
学习Vue的时候,各类教程都会告诉我们:Vue 的特点是SPA——Single Page Application(单页应用程序)。它有着诸如:“只有第一次会加载页面, 以后的每次页面切换,只需要进行组件替换;减少了请求体积,加快页面响应速度,降低了对服务器的压力” 等等优点。
全栈程序员站长
2022/11/08
1.5K0
Webpack插件按需加载组件_webpack懒加载
使用jsTree树形控件【1】入门
部署环境使用压缩版的jsTree.min.js,如果是开发环境可以使用jsTree.js
用户2936342
2018/08/27
1.5K0
使用jsTree树形控件【2】配置
上一节入门篇中的例子使用了jsTree控件的默认配置,其实我们也可以自定义配置。例如,下面的代码修改控件的主题:
用户2936342
2018/08/27
1.4K0
在React当中使用scss和按需加载antd
在实际的开发当中,因为css没有编程的特性,我们经常会选择富有编程特性的css预处理语言来编写css,scss就是其中的一种
小小杰啊
2022/12/21
9430
在React当中使用scss和按需加载antd
AngularJS中的按需加载ocLazyLoad
初学者,有不足的地方希望各位指出 一、前言     ocLoayLoad是AngularJS的模块按需加载器。一般在小型项目里,首次加载页面就下载好所有的资源没有什么大问题。但是当我们的网站渐渐庞大起来,这样子的加载策略让网速初始化速度变得越来越慢,用户体验不好。二来,分模块加载易于团队协作,减低代码冲突。   二、按需加载的对象 各个Controller模块、Directive模块、Server模块、template模板,其实这些都是一些 .js文件或者 .html文件 。     三 、按需加载的场
庞小明
2018/03/07
1.7K0
定义和使用存储过程
本章介绍如何在IntersystemsIRIS®数据平台上定义和使用Intersystems SQL中的存储过程。它讨论了以下内容:
用户7741497
2022/06/07
1K0
从Highlight浅谈Webpack按需加载
最近有在使用 highlight.js 做代码的高亮展示,主要是展示对 SQL 语言的处理。看了看 highlight.js 的提供的相关代码
MrTreasure
2018/08/09
2K0
从Highlight浅谈Webpack按需加载
(二十五) 按需加载组件
当我们使用普通的引入组件的方式的时候,是页面第一次加载就把所有的源文件都加载出来了,这样当项目大的时候,首次加载会变得非常的缓慢,影响用户体验,为了解决这个问题,vue 使用了 es6 语法的异步加载
老怪兽
2023/02/22
4240
指定 WordPress 页面按需加载 JavaScript
在 wordpress 主题或插件中加载 JavaScript 时,官方推荐的方法是使用 wp_enqueue_script() 来加载,该函数可以指定 JavaScript 的依赖库,指定 JavaScript 文件的版本,设置在页面头部或者底部加载,非常灵活和方便。但是,该插件缺少指定在某些页面加载 JavaScript 的设置参数。所幸的是,我们可以通过 WordPress 的函数自己动手来实现这个功能。
许都博客
2021/06/15
2.3K0
mysql存储过程和存储函数的使用
create procedure name(IN | OUT |INOUT str STRING) #定义存储过程名字
93年的老男孩
2019/12/18
2.2K0
vue中的懒加载和按需加载_vue 路由懒加载
error:require([‘./assets/404.jpg’]); loading:require([‘./assets/loading.jpg’]);
全栈程序员站长
2022/11/15
9800
Vue 使用 vue-svg-icon 插件实现 svg 按需加载
可以通过上述的一般用法在 Vue 中直接使用 svg,但既然已经是用 Vue来组件化开发项目了,那么在组件中穿插着一大段的 svg 也显得过于杂乱;
Leophen
2020/06/30
2.6K0

相似问题

jquery jstree按需加载sub_nodes

10

存储过程未按需工作

11

如何用新的jstree v3.0.0按需加载儿童

25

如何从本地存储重新加载jstree?

11

Sencha Touch 2按需加载存储

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文