本节我们来讨论表单上的选项卡,导航栏,iframe以及子网格。这些控件在日常开发中并不常用,但有时候通过它们能实现些意想不到的效果。接下来我们就依次来学习它们吧。
选项卡,节
图1
图2
图3
图4
试试选项卡的ontabstatechange事件吧,我们在实体的onload事件中为选项卡加上这个事件。让选择卡展开时在名称后面添加文字“[打开]”,折叠是在名称后面添加文字"[关闭]"。在实体的onload事件中编写如下代码:
Xrm.Page.ui.tabs.get("tab_4").add_tabStateChange(tab_1_statechange);
function tab_1_statechange()
{
var tab_4 =Xrm.Page.ui.tabs.get("tab_4");
var tmp=tab_4.getLabel().replace(/\[\W+\]?/,"")
if(tab_4.getDisplayState().toLowerCase()=="expanded")
{
tab_4.setLabel(tmp+"[打开]");
}
else
{
tab_4.setLabel(tmp+"[关闭]");
}
}
图5
图6
导航栏
图7
图8
图9
图10
图11
iframe
iframe可以将我们自己开发的aspx页面嵌入到实体中,达到扩展的效果。iframe的开发点大概为:1.通过js控制iframe的src属性;2.通过js获取加载在iframe里面的某个控件值。
图12
图13
图14
图15
图16
图17
子网格
实体存在3种关系,子网格就是体现其中的两种:1对多,多对1。宿主页面是一,子网格中的记录是多。
图18
图19
小结
这些表单控件在日常开发中并不会全部用上,但是对它们有个感性的了解是很有必要的。当真正的需求来临时,我们就可以衡量它们的利弊来选择最优实现方案。