3.扩展函数


3.1 普通扩展

  普通的扩展函数使用方法与Supcan Treelist相同,请参见Treelist的扩展函数

3.2 针对对象的扩展

  Freeform函数中,有很多函数是针对 <Object> 的,以 GetValue 函数为例,该函数参数是对象的 ID,函数例如:
 var price = AF.func("GetValue", "price");   //price是某个输入对象的ID
  硕正套件自1.0.84.0开始,支持这样的写法:
 var price = AF.func("price.GetValue", "");
  上述函数中凡是针对对象的函数, 第一个参数 (即ID) 都可以按上面的写法书写,再举例如下:
 AF.func("upload.SetFiles", "");  //相当于:AF.func("SetFiles", "upload")
 AF.func("Tab1.GetCurSelId", "");  //相当于:AF.func("GetCurSelId", "Tab1")
 AF.func("Edit1.SelectCell", "");  //相当于:AF.func("SelectCell", "Edit1")


3.3 大粒度组件的扩展

  对于嵌入的普通的大粒度组件(即<Component>),扩展函数还有另一种使用方法,函数名可以直接写成 "ID号.函数名" 这样的格式,例如:
 AF.func("Te1.Load", xml);   // Te1是内部Treelist的ID
  与如下常规用法效果一样:
 var h = AF.func("GetHandle", "Te1");  //先取得内嵌Treelist  Te1的句柄
 AF.func(h + "Load", xml);
  在Freeform的演示页“20.Freeform框架”中有这样的实例,请参考。


3.4 选项卡组件的扩展

  对于选项卡(Tab)中嵌入的大粒度组件(即<Component>),扩展函数的函数名可以直接写成 "Tab的ID号.ID号.函数名" 这样的格式,例如:
 AF.func("Tab1.T1.Load", xml);   // Tab1是选项卡的ID号,t1是Tab1的内部Treelist的ID
  对应的XML结构如下:
  当然,这样写也可以:
 var h = AF.func("GetHandle", "Tab1.t1");  //先取得内嵌Treelist  T1的句柄
 AF.func(h + "Load", xml);