[]
        
(Showing Draft Content)

Forguncy.Forguncy.ForguncyPage

类: ForguncyPage

Forguncy.Forguncy.ForguncyPage

页面对象。

构造方法

constructor

new ForguncyPage()

属性

AutoDisconnectTimeout

AutoDisconnectTimeout: number

用户操作超时时间,将自动断开连接并释放并发用户数。

单位是分钟,默认值是0,同时意味着永不自动断开。

如果修改为30,用户未在页面进行任何操作,页面将在30分钟后自动断开。

Example

// 将当前页面超时时间设置为30分钟。
Forguncy.Page.AutoDisconnectTimeout = 30;

方法

bind

bind(eventType, data?, fn?, targetPage?): void

为页面绑定事件。可以给当前页面、指定页面或所有页面绑定事件。

Example

// 如果有两个页面:`Page1`和`Page2`
var loadedEvent = Forguncy.PageEvents.Loaded;
// 自定义参数
var text = "ready";

// 当前页面是页面1,在页面准备好后,将弹出提示框显示当前的页面名称。
Forguncy.Page.bind("loaded", function (arg1, arg2) {
    alert(arg2.pageName);
});

// 当`Page1`准备好时,弹出提示框显示`Page1`的页面名称。
Forguncy.Page.bind("loaded", function (arg1, arg2) {
    alert(arg2.pageName);
}, "");

// 当`Page1`准备好时,弹出自定义内容的提示框。
var text = "ready";
Forguncy.Page.bind("loaded", text, function (arg1, arg2) {
    alert(arg1.data);
}, "Page1");

// 当`Page1`和`Page2`准备好时, 弹出框将显示它们的页面名称。
Forguncy.Page.bind("loaded", function (arg1, arg2) {
    alert(arg2.pageName);
}, "*");

参数

属性名 类型 说明
eventType string 表示页面事件类型的字符串。页面支持的事件请参考 PageEvents 类 。
data? any 可选参数,如果不为忽略表示给事件处理函数传递的自定义参数。
fn? any 事件处理函数。
targetPage? string 页面的名称。如果绑定所有页面的事件,请使用*。如果忽略,则绑定到当前页面。

返回值

void


getCell

getCell(name, includeSubPage?): Cell

通过单元格名称获取单元格实例。

Example

// 下面的示例代码中,通过getCell方法,获取一个单元格实例,并设置单元格的值。
// 获取当前页面。
var page = Forguncy.Page;
// 获取单元格对象。
var cell = page.getCell("myCell");
// 设置单元格的值。
cell.setValue("活字格");

参数

属性名 类型 说明
name string 单元格名称。
includeSubPage? boolean 指定是否在子页面中查找单元格。默认为 true。

返回值

Cell


getCellArray

getCellArray(name, includeSubPage?): Cell[]

通过单元格名称获取一组单元格实例。

Example

// 获取当前页面
var page = Forguncy.Page;
// 获取单元格对象
var cell = page.getCellArray("myCell");
// 获取单元格实例的长度
var len = cell.length;
// 弹出警告框,显示单元格实例的长度
alert(len);

参数

属性名 类型 说明
name string 单元格名称。
includeSubPage? boolean 指定是否在子页面中查找单元格。默认为 true。

返回值

Cell[]


getCellByLocation

getCellByLocation(cellLocation, printError?): Cell

通过单元格的位置信息获取一个单元格对象。

Example

// 下面的示例代码中,通过getCellByLocation方法,获取一个单元格对象,并设置其单元格背景色。
// 获取当前页面
var page = Forguncy.Page;
// 获取单元格对象
var cell = page.getCellByLocation({
    Row: 2,
    Column: 3,
    PageName: "页面1"
});
// 设置单元格的背景色为红色
var setColor = cell.setBackColor("red");

参数

属性名 类型 说明
cellLocation CellLocationInfo 单元格的位置。
printError? boolean 是否在控制台输出错误信息。

返回值

Cell


getContainerCells

getContainerCells(includeSubPage?): ContainerCellBase[]

获取所有选项卡和页面容器类型的单元格。

Example

var containerCells = Forguncy.Page.getContainerCells();
var subPage = containerCells[0].getContentPage();

参数

属性名 类型 说明
includeSubPage? boolean 指定是否在子页面中查找单元格。默认为 true。

返回值

ContainerCellBase[]


getListView

getListView(name, includeSubPage?): ListView

通过表格名称获取表格实例。

Example

// 下面的示例代码中,通过getListView方法,获取页面中指定的表格。
// 获取当前页面
var page = Forguncy.Page;
// 获取表格对象
var listview = page.getListView("表格1");
// 获取表格的名称
var name = listview.getName();
// 弹出警告框,显示表格的名称
alert(name);

参数

属性名 类型 说明
name string 表格名称。
includeSubPage? boolean 指定是否在子页面中查找单元格。默认为 true。

返回值

ListView


getListViewByLocation

getListViewByLocation(targetCellLocation): ListView

根据CellLocationInfo获取ListView,如果单元格位于表格内,则返回该表格。

Example

var formula = "=E8";
//通过Api获得公式代表的单元格位置。
var location = Forguncy.Helper.getCellLocation(formula, {});
//通过getListViewByLocation,传入刚才获取的location获取listview实例。
var listview = Forguncy.Page.getListViewByLocation(location);
//对listview实例进行操作。
listview.setText(0,0,"TextValue")

参数

属性名 类型 说明
targetCellLocation CellLocationInfo 单元格的位置。

返回值

ListView


getListViews

getListViews(includeSubPage?): ListView[]

获取页面内所有的表格。

Example

// 下面的示例代码中,通过getListViews方法,获取页面中所有的表格。
// 获取当前页面
var page = Forguncy.Page;
// 获取表格对象
var listview = page.getListViews();
// 获取表格实例的长度
var len = listview.length;
// 弹出警告框,显示表格实例的长度
alert(len);

参数

属性名 类型 说明
includeSubPage? boolean 指定是否在子页面中查找单元格。默认为 true。

返回值

ListView[]


getMasterPageName

getMasterPageName(): string

获取当前页面的母版页名称。

Example

// 下面的示例代码中,通过getMasterPageName方法,获取当前页面的母版页的名称。如果当前页没有母版页,则返回null。
// 获取当前页面
var page = Forguncy.Page;
// 获取当前页面的母版页名称
var masterPageName = page.getMasterPageName();
// 弹出警告框,显示母版页名称
alert(masterPageName);

返回值

string


getPageName

getPageName(): string

获取当前页面的名称。

Example

// 下面的示例代码中,通过getPageName方法,获取当前页面的名称。
// 获取当前页面
var page = Forguncy.Page;
// 获取当前页面名称
var pageName = page.getPageName();
// 弹出警告框,显示当前页面的名称
alert(pageName);

返回值

string


getSubPageInfoByPageID

getSubPageInfoByPageID(pageID): SubPage

通过页面 ID 获取子页面。

参数

属性名 类型 说明
pageID string 页面的唯一标识符。在浏览器中,每个父页面和子页面都有其唯一的ID

返回值

SubPage


getUserInfo

getUserInfo(): UserInfo

获取当前登录用户的信息。

Example

// 下面的示例代码中,通过getUserInfo方法,获取当前登录用户详细信息。
// 获取当前页面
var page = Forguncy.Page;
// 获取当前登录用户的详细信息
var userInfo = page.getUserInfo();
// 弹出警告框,显示当前登录用户的详细信息
alert(JSON.stringify(userInfo, null, " "));

// 获取当前登录用户的用户名
var name = userInfo.UserName;
// 获取当前登录用户的角色
var role = userInfo.Role;
// 获取当前登录用户的全名
var fullName = userInfo.FullName;

返回值

UserInfo


getUserName

getUserName(): string

获取当前登录用户的用户名,如果用户没有登录则返回空值。

Example

// 下面的示例代码中,通过getUserName方法来获取用户名。
// 获取当前页面
var page = Forguncy.Page;
// 获取当前登录用户的用户名
var userName = page.getUserName();
// 弹出警告框,显示当前登录用户的用户名
alert(userName);

返回值

string


ready

ready(fn): void

绑定当前页面的loaded事件。

Example

// 下面的示例代码中,使用ready的方法,在ready方法的回调函数中加入页面处理逻辑,获得当前登录用户的用户名。
// 获取当前页面
var page = Forguncy.Page;
// 在ready方法的回调函数中加入页面处理逻辑
page.ready(function () {
        // 绑定单元格button的事件
        page.getCell("button").bind("click", function () {
                // 弹出警告框,显示当前登录用户的用户名
                alert(page.getUserName());
        })
});

参数

属性名 类型 说明
fn Function 事件处理函数。

返回值

void


recalc

recalc(): void

强制触发页面所有公式重算。

Example

// 下面的示例代码中,使用recalc的方法,强行触发页面上所有的公式重新进行了计算。
// 获取当前页面
var page = Forguncy.Page;
// 强行触发页面上所有的公式重新进行计算
page.recalc();

返回值

void


reloadBindingData

reloadBindingData(tableName?): void

从当前页面中使用的表和视图中重新加载数据。

Example

// 下面的示例代码中,通过reloadBindingData方法,重新从数据库加载数据。
// 获取当前页面
var page = Forguncy.Page;
// 重新从数据库加载数据
page.reloadBindingData("表格1");

参数

属性名 类型 说明
tableName? string 表名,如果忽略此参数,则重新加载所有表的数据。

返回值

void


resumeCalc

resumeCalc(): void

恢复页面的公式计算逻辑,通常在大量操作单元格之后使用。要和suspendCalc方法成对使用。

Example

// 下面的示例代码中,使用resumeCalc的方法,恢复页面上所有的公式的计算。
// 获取当前页面
var page = Forguncy.Page;
// 恢复页面上公式的计算
page.resumeCalc();

返回值

void


setCurrentRow

setCurrentRow(currentRowParam): void

设置当前行。

Example

// 使用setCurrentRow方法,参数为CurrentRowInfoParam:
// 获取当前页面
var page = Forguncy.Page;
// 设置当前行
page.setCurrentRow(
{
        // 当前行所在的表名
        TableName: " 员工表",
        // 当前行的查询条件
        PrimaryKey: {
            ID: 1
        }
});
    
// 参数为CurrentRowInfoPluginParam,一般在插件开发中使用。比如,下面的代码是插件命令SetCurrentRowCommand的一部分实现:
SetCurrentRowCommand.prototype.execute = function () {
        Forguncy.Page.setCurrentRow({
                QueryCondition: this.CommandParam.CurrentRowInfo,
                FormulaCalcContext: this.getFormulaCalcContext()
        });
}

参数

属性名 类型 说明
currentRowParam CurrentRowInfoParam | CurrentRowInfoPluginParam 当前行信息。

返回值

void


suspendCalc

suspendCalc(): void

挂起页面的公式计算逻辑,通常在大量操作单元格值之前使用,以获得更好的性能。

Example

// 下面的示例代码中,使用suspendCalc的方法,挂起页面上所有的公式,不进行计算。
// 获取当前页面
var page = Forguncy.Page;
// 暂停页面上公式的计算
page.suspendCalc();

返回值

void


unbind

unbind(eventType, fn?, targetPage?): void

取消特定事件的绑定。该方法能够移除被选的事件处理程序,或者当事件发生时终止指定函数的运行。

Example

// 下面的示例代码中,通过unbind方法,移除页面事件的绑定。
// 如果有两个页面:页面1和页面2。当前页面是页面1
var eventHandler = function (arg1, arg2) {
    alert(arg2.pageName);
};
// 绑定事件
Forguncy.Page.bind("Loaded", eventHandler);

// 取消特定页面特定事件处理函数的绑定:
Forguncy.Page.unbind("Loaded", eventHandler, "页面1");

// 取消当前页面特定事件处理函数的绑定:
Forguncy.Page.unbind("Loaded", eventHandler);

// 取消当前页面某事件所有处理函数的绑定:
Forguncy.Page.unbind("Loaded");

// 取消绑定时targetPage传"*"的事件处理函数的绑定:
Forguncy.Page.unbind("Loaded", eventHandler, "*");

参数

属性名 类型 说明
eventType any 表示页面事件类型的字符串。页面支持的事件请参考PageEvents类 。
fn? Function 事件处理函数。如果忽略,则取消绑定页面上该事件类型的所有处理函数。
targetPage? string 页面的名称。如果取消绑定所有页面的事件,请使用*。如果忽略,则取消绑定当前页面的事件。

返回值

void


unbindAll

unbindAll(targetPage?): void

取消页面上所有事件的绑定。

Example

// 下面的示例代码中,通过unbind方法,移除页面事件的绑定。
// 如果有两个页面:页面1和页面2。当前页面是页面1
var eventHandler = function (arg1, arg2) {
    alert(arg2.pageName);
};
// 绑定事件
Forguncy.Page.bind("Loaded", eventHandler);

// 取消绑定到当前页面的所有事件
Forguncy.Page.unbindAll();

// 取消绑定页面1的所有事件
Forguncy.Page.unbindAll("页面1");

// 取消绑定所有全局事件
Forguncy.Page.unbindAll("*");

参数

属性名 类型 说明
targetPage? string 页面的名称。如果绑定时targetPage使用的是*的,则仍然使用*。如果忽略,则删除当前页面的所有绑定。

返回值

void