30.34. <w:lockingViewPlug>

组件的一些信息

30.34.1. 构件信息

表 30.86. 构件信息


继承体系

+java.lang.Object

++javax.faces.component.UIComponent

+++javax.faces.component.UIComponentBase

++++org.operamasks.faces.component.plugin.grid.base.UILockingViewPlugBase

+++++org.operamasks.faces.component.plugin.grid.impl.UILockingViewPlug

30.34.2. 属性

表 30.87. 属性

binding 定义类 javax.faces.component.UIComponentBase
类型 javax.el.ValueExpression(javax.faces.component.UIComponent)
是否必须 延时求值
一个值表达式,用于把该组件链接到一个ManagedBean的某个属性。
id 定义类 javax.faces.component.UIComponentBase
类型 java.lang.String
是否必须 延时求值
这个组件的组件标识符。这个值在最近的命名容器类型的父组件范围内,必须是唯一的。
initConfig 定义类 org.operamasks.faces.component.plugin.grid.impl.UILockingViewPlug
类型 javax.el.ValueExpression(java.lang.String)
是否必须 延时求值
其他配置项,应按照标准json表示法来写。比如 initConfig="{'name':value,'name2':value2}"
lockText 定义类 org.operamasks.faces.component.plugin.grid.impl.UILockingViewPlug
类型 javax.el.ValueExpression(java.lang.String)
是否必须 延时求值
列下拉菜单里的锁定文字。默认是'Lock'
lockingColumns 定义类 org.operamasks.faces.component.plugin.grid.impl.UILockingViewPlug
类型 javax.el.ValueExpression(java.lang.String)
是否必须 延时求值
需要进行锁定的列id,用逗号","分隔。比如 "name,address"
rendered 定义类 javax.faces.component.UIComponentBase
类型 boolean(boolean)
是否必须 延时求值
一个标志,指出该组件是否要在任何随后的form提交过程中被渲染或处理。 这个属性的缺省值是true。
unLockText 定义类 org.operamasks.faces.component.plugin.grid.impl.UILockingViewPlug
类型 javax.el.ValueExpression(java.lang.String)
是否必须 延时求值
列下拉菜单离得解锁文字。默认是'UnLock'

30.34.3. 示例

下面的示例演示了列锁定表格的用法。w:lockingViewPlug作为w:dataGrid的子标签存在,使后者拥有了列锁定的能力。lockingColumns指定了页面初始化时,哪些列需要进行列锁定。

<w:dataGrid id="grid" showRowNumber="false" jsvar="gridJsvar" merged="true" paged="true" rows="10" height="350"
			width="600">
			<w:lockingViewPlug  lockingColumns="name,address" />
			<w:outputColumn id="id" hidden="true" hidable="false" />
			<w:outputColumn id="name" width="150" align="center" sortable="true" header="公司" />
			<w:outputColumn id="leadingProduct" header="主打产品" />
			<w:outputColumn id="address" width="150" header="地址" wrap="true" />
			<w:outputColumn id="phone" header="联系电话" wrap="true" />
			<w:outputColumn id="homepage" width="250" header="公司主页" wrap="true" />
			<w:pagingToolbar displayInfo="true" displayMsg="显示 {0} - {1},共 {2} 条" />
		</w:dataGrid>

ManagedBean:

@ManagedBean(name = "ux.datarepresent.datagrid.gridPlugins.lockingViewBean", scope = ManagedBeanScope.REQUEST)
public class LockingViewBean {
    @ManagedProperty("#{companyService}")
    private CompanyService companyService;
    @Bind(id = "grid")
    private List<Company> getCompanys() {
        List<Company> group = companyService.findAll();
        return group;
    }
}

Company和CompanyService分别是实体类和服务类,此处从略。