Skip to content

树、文件与导入导出

树结构、下载、文件和 Excel 操作。 共 36 个 Wb 公共方法。

Updated View as Markdown

本文档由项目中的 wb-debug.js 自动提取。每个条目包含源码提炼的使用说明、优先采用源码示例的用法示例,以及完整 JSDoc 供参数和行为核对。

Wb.getFilename

Wb.getFilename(path);

源码:wb-debug.js:2290

使用说明

获取路径中的文件部份名称。

用法示例

以下为最小调用模板;请将 app.*、示例值和地址替换为当前页面的实际对象。

Wb.getFilename("示例值");

源码注释

    /**
     * 获取路径中的文件部份名称。
     * @param {String} path 包含文件名称的路径。
     * @return {String} 文件部分名称。
     */

Wb.getPath

Wb.getPath(path);

源码:wb-debug.js:2304

使用说明

获取文件的路径部份字符串。

用法示例

以下为最小调用模板;请将 app.*、示例值和地址替换为当前页面的实际对象。

Wb.getPath("示例值");

源码注释

    /**
     * 获取文件的路径部份字符串。
     * @param {String} path 包含文件名称的路径。
     * @return {String} 路径部分字符串。
     */

Wb.extractFileExt

Wb.extractFileExt(fileName);

源码:wb-debug.js:2318

使用说明

获取文件中的扩展名部分。

用法示例

以下为最小调用模板;请将 app.*、示例值和地址替换为当前页面的实际对象。

Wb.extractFileExt("示例值");

源码注释

    /**
     * 获取文件中的扩展名部分。
     * @param {String} fileName 文件名称。
     * @return {String} 文件扩展名。
     */

Wb.getError

Wb.getError(text, errorCode);

源码:wb-debug.js:2332

使用说明

获取字符串中指定代码的错误信息片断。

用法示例

以下为最小调用模板;请将 app.*、示例值和地址替换为当前页面的实际对象。

Wb.getError(
  "示例值",
  /* errorCode */ undefined
);

源码注释

    /**
     * 获取字符串中指定代码的错误信息片断。
     * @param {String} text 包含错误信息和代码的字符串。
     * @param {Number} errorCode 错误代码。
     * @return {String} 如果指定的错误代码存在则返回错误信息片断字符串,否则返回null。
     */

Wb.select

Wb.select(object);

源码:wb-debug.js:2346

使用说明

选择指定的对象,把指定对象设置为选择状态。

用法示例

以下为最小调用模板;请将 app.*、示例值和地址替换为当前页面的实际对象。

Wb.select(app.object);

源码注释

    /**
     * 选择指定的对象,把指定对象设置为选择状态。
     *
     * @param {Object} object 需要选择的对象。
     */

Wb.mimicClick

Wb.mimicClick(view, record, item, index, e);

源码:wb-debug.js:2365

使用说明

指定对象按回车键时模仿触发itemclick或itemdblclick事件。

用法示例

以下为最小调用模板;请将 app.*、示例值和地址替换为当前页面的实际对象。

Wb.mimicClick(
  app.view,
  /* record */ undefined,
  /* item */ undefined,
  0,
  /* e */ undefined
);

源码注释

    /**
     * 指定对象按回车键时模仿触发itemclick或itemdblclick事件。
     */

Wb.addPrefix

Wb.addPrefix(prefix, name);

源码:wb-debug.js:2380

使用说明

在指定名称前面添加前缀。如果前缀不为空返回“前缀.名称”,否则直接返回名称。

用法示例

以下为最小调用模板;请将 app.*、示例值和地址替换为当前页面的实际对象。

Wb.addPrefix(
  "示例值",
  "示例值"
);

源码注释

    /**
     * 在指定名称前面添加前缀。如果前缀不为空返回“前缀.名称”,否则直接返回名称。
     * @param {String} prefix 前缀。
     * @param {String} name 名称。
     * @return {String} 添加前缀后的名称或名称本身。
     */

Wb.getLang

Wb.getLang(langs);

源码:wb-debug.js:2390

使用说明

根据Str.lang为当前语言代码,获取langs中对应值组成的对象。

用法示例

以下为最小调用模板;请将 app.*、示例值和地址替换为当前页面的实际对象。

Wb.getLang([]);

源码注释

    /**
     * 根据Str.lang为当前语言代码,获取langs中对应值组成的对象。
     * @param {Object} langs 按不同语言定义的值对象。
     * @return {Object} 根据当前语言提取值后组成的对象。
     */

Wb.getModifiedTitle

Wb.getModifiedTitle(tab, turnFirstCard);

源码:wb-debug.js:2403

使用说明

获取tabPanel中被修改的选项卡的概要信息描述。

用法示例

以下为最小调用模板;请将 app.*、示例值和地址替换为当前页面的实际对象。

Wb.getModifiedTitle(
  app.tab,
  /* turnFirstCard */ undefined
);

源码注释

    /**
     * 获取tabPanel中被修改的选项卡的概要信息描述。
     * @param {Ext.tab.Panel} tab 需要获取信息的TabPanel对象。
     * @param {Boolean} [turnFirstCard] 是否转到首个被修改的选项卡,默认为false。
     * @return {String} 如果tab中的选项卡被修改则返回被修改的选项卡概要信息,否则返回null。
     */

Wb.fromPanel

Wb.fromPanel(panel, e);

源码:wb-debug.js:2430

使用说明

判断事件是否触发自面板。

用法示例

以下为最小调用模板;请将 app.*、示例值和地址替换为当前页面的实际对象。

Wb.fromPanel(
  app.panel,
  /* e */ undefined
);

源码注释

    /**
     * 判断事件是否触发自面板。
     * @param {Panel} panel 面板对象。
     * @param {Event} e 事件对象。
     * @return {Boolean} 如果事件触发自面板返回true,否则返回false。
     */

Wb.copy

Wb.copy(node);

源码:wb-debug.js:2449

使用说明

复制节点及其所有子节点。

用法示例

以下为最小调用模板;请将 app.*、示例值和地址替换为当前页面的实际对象。

Wb.copy(/* node */ undefined);

源码注释

    /**
     * 复制节点及其所有子节点。
     * @param {Ext.data.NodeInterface} node 复制的节点。
     * @return {Ext.data.NodeInterface} 复制后的节点。
     */

Wb.append

Wb.append(nodes, parentNode, isCopy, doSelect);

源码:wb-debug.js:2484

使用说明

添加或移动一组节点至指定节点,并成为该节点的子节点。

用法示例

以下为最小调用模板;请将 app.*、示例值和地址替换为当前页面的实际对象。

Wb.append(
  [],
  /* parentNode */ undefined,
  true,
  true
);

源码注释

    /**
     * 添加或移动一组节点至指定节点,并成为该节点的子节点。
     * @param {Ext.data.NodeInterface/Ext.data.NodeInterface[]} nodes 需要添加或移动的源节点列表。
     * @param {Ext.data.NodeInterface} parentNode 目标节点,源节点列表中的每个节点将被添加或移动到该节点下。
     * @param {Boolean} [isCopy] 是否复制源节点并添加到目标节点下,否则将移动源节点至目标节点下,默认为false。
     * @param {Boolean} [doSelect] 是否选择添加的节点,默认为true。
     * @return {Ext.data.NodeInterface[]} 被复制或移动的节点列表。
     */

Wb.insertBefore

Wb.insertBefore(nodes, refNode, isCopy, doSelect);

源码:wb-debug.js:2514

使用说明

插入或移动一组节点至指定节点上方,并成为该节点的同级节点。

用法示例

以下为最小调用模板;请将 app.*、示例值和地址替换为当前页面的实际对象。

Wb.insertBefore(
  [],
  /* refNode */ undefined,
  true,
  true
);

源码注释

    /**
     * 插入或移动一组节点至指定节点上方,并成为该节点的同级节点。
     * @param {Ext.data.NodeInterface/Ext.data.NodeInterface[]} nodes 需要插入或移动的源节点列表。
     * @param {Ext.data.NodeInterface} refNode 目标节点,源节点列表中的每个节点将被插入或移动到该节点上方。
     * @param {Boolean} [isCopy] 是否复制源节点并插入到目标节点上方,否则将移动源节点至目标节点上方,默认为false。
     * @param {Boolean} [doSelect] 是否选择添加的节点,默认为true。
     * @return {Ext.data.NodeInterface[]} 被复制或移动的节点列表。
     */

Wb.insertAfter

Wb.insertAfter(nodes, refNode, isCopy, doSelect);

源码:wb-debug.js:2543

使用说明

插入或移动一组节点至指定节点下方,并成为该节点的同级节点。

用法示例

以下为最小调用模板;请将 app.*、示例值和地址替换为当前页面的实际对象。

Wb.insertAfter(
  [],
  /* refNode */ undefined,
  true,
  true
);

源码注释

    /**
     * 插入或移动一组节点至指定节点下方,并成为该节点的同级节点。
     * @param {Ext.data.NodeInterface/Ext.data.NodeInterface[]} nodes 需要插入或移动的源节点列表。
     * @param {Ext.data.NodeInterface} refNode 目标节点,源节点列表中的每个节点将被插入或移动到该节点下方。
     * @param {Boolean} [isCopy] 是否复制源节点并插入到目标节点下方,否则将移动源节点至目标节点下方,默认为false。
     * @param {Boolean} [doSelect] 是否选择添加的节点,默认为true。
     * @return {Ext.data.NodeInterface[]} 被复制或移动的节点列表。
     */

Wb.expand

Wb.expand(object, isCollapse);

源码:wb-debug.js:2573

使用说明

全部展开或收缩选择的节点,如果没有节点被选中,则展开或收缩全部节点。

用法示例

以下为最小调用模板;请将 app.*、示例值和地址替换为当前页面的实际对象。

Wb.expand(
  app.object,
  true
);

源码注释

    /**
     * 全部展开或收缩选择的节点,如果没有节点被选中,则展开或收缩全部节点。
     * @param {Ext.tree.Panel/Ext.data.TreeStore} object 树或绑定的store对象。
     * @param {Boolean} [isCollapse] 是否执行收缩操作,默认为false。
     */

Wb.collapse

Wb.collapse(object);

源码:wb-debug.js:2605

使用说明

全部收缩选择的节点,如果没有节点被选中,则收缩全部节点。

用法示例

以下为最小调用模板;请将 app.*、示例值和地址替换为当前页面的实际对象。

Wb.collapse(app.object);

源码注释

    /**
     * 全部收缩选择的节点,如果没有节点被选中,则收缩全部节点。
     * @param {Ext.tree.Panel/Ext.data.TreeStore} object 树或绑定的store对象。
     */

Wb.isModal

Wb.isModal();

源码:wb-debug.js:2613

使用说明

判断当前页面是否为模态,如果当前页面存在可视的模态对话框和全屏mask则表示模态,否则为非模态。

用法示例

以下为最小调用模板;请将 app.*、示例值和地址替换为当前页面的实际对象。

Wb.isModal();

源码注释

    /**
     * 判断当前页面是否为模态,如果当前页面存在可视的模态对话框和全屏mask则表示模态,否则为非模态。
     * @return {Boolean} true模态,false非模态。
     */

Wb.getId

Wb.getId();

源码:wb-debug.js:2627

使用说明

生成客户端当前页面以“wb”开头的唯一字符串。该字符串仅保证在该页面内唯一。

用法示例

以下为最小调用模板;请将 app.*、示例值和地址替换为当前页面的实际对象。

Wb.getId();

源码注释

    /**
     * 生成客户端当前页面以"wb"开头的唯一字符串。该字符串仅保证在该页面内唯一。
     * @return {String} 当前页面内唯一的字符串。
     */

Wb.getTreeTools

Wb.getTreeTools(config);

源码:wb-debug.js:2641

使用说明

生成嵌入到树控件标题栏中的操作工具按钮,实现对树节点的刷新、伸缩和查找等功能。

用法示例

以下为最小调用模板;请将 app.*、示例值和地址替换为当前页面的实际对象。

Wb.getTreeTools({ /* 配置项 */ });

源码注释

    /**
     * 生成嵌入到树控件标题栏中的操作工具按钮,实现对树节点的刷新、伸缩和查找等功能。
     * @param {Object} config 工具选项配置对象。
     * @param {Booolean} config.refresh 是否生成刷新按钮。
     * @param {Booolean} config.expand 是否生成展开按钮。
     * @param {Booolean} config.collapse 是否生成收缩按钮。
     * @param {Booolean} config.search 是否生成查找按钮。
     * @return {Object} 工具按钮配置对象。
     */

Wb.save

Wb.save(combobox);

源码:wb-debug.js:2753

使用说明

保存下拉框输入的历史值并维护其列表,最后一次输入值将显示在下拉列表的第一行。

用法示例

以下为最小调用模板;请将 app.*、示例值和地址替换为当前页面的实际对象。

Wb.save(app.combobox);

源码注释

    /**
     * 保存下拉框输入的历史值并维护其列表,最后一次输入值将显示在下拉列表的第一行。
     * @param {Ext.form.field.ComboBox} combobox 需要保存历史输入值的下拉框。
     */

Wb.reverse

Wb.reverse(nodes);

源码:wb-debug.js:2769

使用说明

按节点深度对节点列表进行逆向排序。该操作将直接对输入的参数排序。

用法示例

以下为最小调用模板;请将 app.*、示例值和地址替换为当前页面的实际对象。

Wb.reverse([]);

源码注释

    /**
     * 按节点深度对节点列表进行逆向排序。该操作将直接对输入的参数排序。
     * @param {Ext.data.NodeInterface[]} nodes 需要排序的节点列表。
     * @return {Ext.data.NodeInterface[]} 排序后的节点列表。
     */

Wb.selFirst

Wb.selFirst(object);

源码:wb-debug.js:2779

使用说明

选择树或表格的第一个节点或记录。如果是树,那么该操作将只会被执行一次。

用法示例

以下为最小调用模板;请将 app.*、示例值和地址替换为当前页面的实际对象。

Wb.selFirst(app.object);

源码注释

    /**
     * 选择树或表格的第一个节点或记录。如果是树,那么该操作将只会被执行一次。
     * @param {Component} object 操作的树或表格对象或其绑定的store对象。
     */

Wb.selectAnyNode

Wb.selectAnyNode(object, position);

源码:wb-debug.js:2800

使用说明

选择树或表格的任意一个节点或记录。如果是树,那么该操作将只会被执行一次。

用法示例

以下为最小调用模板;请将 app.*、示例值和地址替换为当前页面的实际对象。

Wb.selectAnyNode(
  app.object,
  0
);

源码注释

    /**
     * 选择树或表格的任意一个节点或记录。如果是树,那么该操作将只会被执行一次。
     * @param {Component} object 操作的树或表格对象或其绑定的store对象。
     */

Wb.getInfo

Wb.getInfo(object, field);

源码:wb-debug.js:2826

使用说明

获取记录集的概要信息文本,概要信息将以指定字段值或值加记录数量的形式提示。

用法示例

以下示例直接取自源码注释。

Wb.confirm('确定删除 '+Wb.getInfo(grid1), handler);

源码注释

    /**
     * 获取记录集的概要信息文本,概要信息将以指定字段值或值加记录数量的形式提示。
     *
     * Example:
     *
     *     Wb.confirm('确定删除 '+Wb.getInfo(grid1), handler);
     *
     * @param {Object/Ext.data.Model[]} object 记录集或表格、树等对象,如果不是记录集将获取对象的选择记录作为记录集。
     * @param {String} [field] 概要信息中使用的字段名称,该字段内容将显示在概要信息中。默认为text。
     * @return {String} 生成的概要信息。如果记录集为空,则返回空字符串。
     */

Wb.getSection

Wb.getSection(string, spliter, sectionIndex);

源码:wb-debug.js:2849

使用说明

获取以特定分隔符分隔的字符串第n个分隔符开始至字符串结尾的子串。

用法示例

以下为最小调用模板;请将 app.*、示例值和地址替换为当前页面的实际对象。

Wb.getSection(
  "示例值",
  /* spliter */ undefined,
  0
);

源码注释

    /**
     * 获取以特定分隔符分隔的字符串第n个分隔符开始至字符串结尾的子串。
     * @param {String} string 需要获取子串的字符串。
     * @param {String} spliter 字符串中的分隔符。
     * @param {Number} sectionIndex 指定第几个分隔符所在的位置作为子串的开始位置。第一个为0,第二个为1,依此类推。
     * @return {String} 截取的子串。
     */

Wb.download

Wb.download(url, params, isUpload, method);

源码:wb-debug.js:2867

使用说明

下载指定链接的文件或资源。

用法示例

以下为最小调用模板;请将 app.*、示例值和地址替换为当前页面的实际对象。

Wb.download(
  "m?xwl=module/action",
  { /* 参数或数据 */ },
  true,
  "示例值"
);

源码注释

    /**
     * 下载指定链接的文件或资源。
     * @param {String/Object} url url路径或资源对象。
     * @param {Object} [params] 可选参数。
     * @param {Boolean} [isUpload] 是否是文件上传模式。
     * @param {String} [method] 提交使用的方法。默认为'POST'。
     */

Wb.exclude

Wb.exclude(object, names);

源码:wb-debug.js:2891

使用说明

删除对象中指定名称的属性,并返回删除这些属性后的新对象。该方法不影响原对象的值。

用法示例

以下为最小调用模板;请将 app.*、示例值和地址替换为当前页面的实际对象。

Wb.exclude(
  app.object,
  /* names */ undefined
);

源码注释

    /**
     * 删除对象中指定名称的属性,并返回删除这些属性后的新对象。该方法不影响原对象的值。
     * @param {Object } object 需要删除属性的对象。
     * @param {Array/String} names 需要删除的属性名称数组或以逗号分隔的属性名称组成的字符串。
     * @return {Object} 删除属性后的新对象。
     */

Wb.createObject

Wb.createObject(items);

源码:wb-debug.js:2907

使用说明

把数组转换为对象,对象的名称为数组项,值为true。

用法示例

以下为最小调用模板;请将 app.*、示例值和地址替换为当前页面的实际对象。

Wb.createObject([]);

源码注释

    /**
     * 把数组转换为对象,对象的名称为数组项,值为true。
     * @param {Array} items 需要转换的数组。
     * @return {Object} 转换后的对象。如果没有内容将返回空对象。
     */

Wb.loadExcel

Wb.loadExcel(options);

源码:wb-debug.js:2926

使用说明

使用excel模块文件转换为web表单。并加载到指定的容器控件中。

用法示例

以下为最小调用模板;请将 app.*、示例值和地址替换为当前页面的实际对象。

Wb.loadExcel({ /* 配置项 */ });

源码注释

    /**
     * 使用excel模块文件转换为web表单。并加载到指定的容器控件中。
     * @param {Object} options 配置参数对象。
     * @param {Container} options.container 容器控件,加载生成的表单到该控件。
     * @param {String} options.file Excel模板文件路径,基于wb/system/excel目录下的相对路径。
     * @param {Object} [options.params] 参数对象,提交请求时发送的参数。
     * @param {Function} [options.success] 调用成功之后的回调事件,可用参数为response对象,this指向container。
     * @param {Function} [options.failure] 调用失败之后的回调事件,可用参数为response对象,this指向container。
     * @param {Number} [options.sheetIndex] 使用的Excel模板文件中Sheet的索引号。默认为0。
     * @param {String} [options.align] 生成的表单的基于容器的水平对齐方式,有效值为left, center和right。默认为center。
     * @param {Object...} [options.more] 其他参数将直接应用于Wb.request方法内的参数。
     */

Wb.getExcel

Wb.getExcel(params, tplFileName, sheetIndex, exportFileName);

源码:wb-debug.js:2969

使用说明

把数据导入到Excel模板文件中,并下载该Excel文件。

用法示例

以下为最小调用模板;请将 app.*、示例值和地址替换为当前页面的实际对象。

Wb.getExcel(
  { /* 参数或数据 */ },
  /* tplFileName */ undefined,
  0,
  /* exportFileName */ undefined
);

源码注释

    /**
     * 把数据导入到Excel模板文件中,并下载该Excel文件。
     * @param {Object} params 导入的数据。
     * @param {String} tplFileName 基于wb/system/excel目录的Excel模板文件路径。
     * @param {Boolean} [sheetIndex] 使用的Excel Sheet索引号。-1表示使用所有Sheet。默认为-1。
     * @param {String} [exportFileName] 输出的文件名。默认为tplFileName。
     */

Wb.toArray

Wb.toArray(data);

源码:wb-debug.js:2982

使用说明

把指定的数据转换为数组,如果值为null、undefined或数组直接返回该值,否则返回[value]值。

用法示例

以下为最小调用模板;请将 app.*、示例值和地址替换为当前页面的实际对象。

Wb.toArray({ /* 参数或数据 */ });

源码注释

    /**
     * 把指定的数据转换为数组,如果值为null、undefined或数组直接返回该值,否则返回[value]值。
     * @param {Object/Array} value 需要转换为数组的值。
     * @return {Array} 返回的数组或null/undefined。
     */

Wb.getTopColumns

Wb.getTopColumns(grid);

源码:wb-debug.js:2993

使用说明

获取表格的顶层列对象组成的数组。

用法示例

以下为最小调用模板;请将 app.*、示例值和地址替换为当前页面的实际对象。

Wb.getTopColumns(app.grid);

源码注释

    /**
     * 获取表格的顶层列对象组成的数组。
     * @param {Ext.grid.Panel} grid 表格对象。
     * @return {Column[]} 列数组。
     */

Wb.mergeRows

Wb.mergeRows(grid);

源码:wb-debug.js:3010

使用说明

把表格中具有相同值的行合并为一行。该方法将扫描所有列,如果指定列允许合并行,则把相同值的行进行合并。 设置列对象的mergeRow属性为true,则标记该列需要合并行,使用该方法后所有标记该属性为true的列都将执行合并行的操作。

用法示例

以下为最小调用模板;请将 app.*、示例值和地址替换为当前页面的实际对象。

Wb.mergeRows(app.grid);

源码注释

    /**
     * 把表格中具有相同值的行合并为一行。该方法将扫描所有列,如果指定列允许合并行,则把相同值的行进行合并。
     * 设置列对象的mergeRow属性为true,则标记该列需要合并行,使用该方法后所有标记该属性为true的列都将执行合并行的操作。
     * @param {Ext.grid.Panel} grid 需要执行合并行的表格对象。
     */

Wb.mergeCols

Wb.mergeCols(grid);

源码:wb-debug.js:3050

使用说明

把表格中具有相同值的列合并为一列。该方法将扫描所有行,如果指定列允许合并行,则把相同值的列进行合并。 设置列对象的mergeColGroup属性以标识合并列的组名,使用该方法后具有相同mergeColGroup属性的列都将执行合并列的操作。

用法示例

以下为最小调用模板;请将 app.*、示例值和地址替换为当前页面的实际对象。

Wb.mergeCols(app.grid);

源码注释

    /**
     * 把表格中具有相同值的列合并为一列。该方法将扫描所有行,如果指定列允许合并行,则把相同值的列进行合并。
     * 设置列对象的mergeColGroup属性以标识合并列的组名,使用该方法后具有相同mergeColGroup属性的列都将执行合并列的操作。
     * @param {Ext.grid.Panel} grid 需要执行合并列的表格对象。
     */

Wb.getHeadersold

Wb.getHeadersold(columns, headers);

源码:wb-debug.js:3109

使用说明

遗留列头提取辅助方法:遍历列配置,跳过不允许导出的列,并递归构造 text、对齐、字段、格式和宽度等元数据。函数体依赖 getHeaders、fieldTypes 等外部变量,不建议脱离旧导出流程单独调用。

用法示例

以下示例依据函数体中的实际调用关系整理。

var headers = Wb.getHeadersold(Wb.getTopColumns(app.grid), []);

源码注释

/**
 * 源码未提供 JSDoc。
 */

Wb.exportDataold

Wb.exportDataold(component, type, isAll);

源码:wb-debug.js:3172

使用说明

导出表格中的数据为指定格式的输出。 导出使用客户端数据推送然后输出数据,否则在服务器端重新生成数据然后输出数据。

用法示例

以下为最小调用模板;请将 app.*、示例值和地址替换为当前页面的实际对象。

Wb.exportDataold(
  app.component,
  /* type */ undefined,
  true
);

源码注释

    /**
     * 导出表格中的数据为指定格式的输出。
     * @param {GridPanel/Store} component 需要导出的表格或关联的store对象。
     * @param {String} [type] 输出数据的格式,默认为Excel。
     * @param {Boolean} [isAll] 是否导出表格所有页数据,默认为当前页。如果值为false,
     * 导出使用客户端数据推送然后输出数据,否则在服务器端重新生成数据然后输出数据。
     */
Navigation

Type to search…

↑↓ navigate↵ selectEsc close