ofbiz-kendoui-grid

本文档详细介绍了 KD-Grid 组件的 XML 构约规范及其 Java 类实现,包括 Grid 的基本属性设置、数据源定义、列配置、工具栏等部分,并提供了具体的类定义及属性读取方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、  添加xsd约束,在widget-screen.xsd文件加入以下内容

<!-- kd-grid start by ligeng-->
	<xs:element name="kd-grid" substitutionGroup="AllWidgets">
		<xs:complexType>
			<xs:sequence>
				<xs:element maxOccurs="1" minOccurs="1" ref="kd-grid-datasource"></xs:element>
				<xs:element maxOccurs="1" minOccurs="1" ref="kd-grid-columns"></xs:element>
				<xs:element maxOccurs="1" minOccurs="0" ref="kd-grid-toolbar"></xs:element>
			</xs:sequence>
			<xs:attributeGroup ref="attlist.kd-grid"></xs:attributeGroup>
		</xs:complexType>
	</xs:element>
	<xs:attributeGroup name="attlist.kd-grid">
		<xs:attribute name="id" type="xs:string"></xs:attribute>
		<xs:attribute name="selectable" default="multiple, row">
			<xs:simpleType>
				<xs:restriction base="xs:token">
					<xs:enumeration value="true"></xs:enumeration>
					<xs:enumeration value="false"></xs:enumeration>
					<xs:enumeration value="multiple, row"></xs:enumeration>
					<xs:enumeration value="cell"></xs:enumeration>
					<xs:enumeration value="row"></xs:enumeration>
					<xs:enumeration value="multiple, cell"></xs:enumeration>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="editable" default="inline">
			<xs:simpleType>
				<xs:restriction base="xs:token">
					<xs:enumeration value="inline"/>
					<xs:enumeration value="popup"/>
					<xs:enumeration value="incell"></xs:enumeration>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="height" type="xs:integer"/>
		<xs:attribute name="sortableMode"  default="single">
			<xs:simpleType>
				<xs:restriction base="xs:token">
					<xs:enumeration value="single"/>
					<xs:enumeration value="multiple"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="filterable" type="xs:boolean"></xs:attribute>
		<xs:attribute name="groupable" type="xs:boolean"></xs:attribute>
		<xs:attribute name="resizable" type="xs:boolean"></xs:attribute>
		<xs:attribute name="pageSizesInput" type="xs:boolean"></xs:attribute>
		<xs:attribute name="refresh" type="xs:boolean"></xs:attribute>
		<xs:attribute name="pageSizes" type="xs:boolean"></xs:attribute>
	</xs:attributeGroup>
	<!-- kd-grid-datasource start by ligeng-->
	<xs:element name="kd-grid-datasource">
		<xs:complexType>
			<xs:sequence>
				<xs:element maxOccurs="unbounded" minOccurs="1" ref="kd-grid-field"></xs:element>
			</xs:sequence>
			<xs:attributeGroup ref="attlist.kd-grid-datasource"></xs:attributeGroup>
		</xs:complexType>
	</xs:element>
	<xs:attributeGroup name="attlist.kd-grid-datasource">
		<xs:attribute name="entityName" type="xs:string" use="required"/>
		<xs:attribute name="modelId" use="required"/>
		<xs:attribute name="pageSize" use="optional"/>
		<xs:attribute name="read" type="xs:string" />
		<xs:attribute name="create" type="xs:string"/>
		<xs:attribute name="update" type="xs:string"/>
		<xs:attribute name="destroy" type="xs:string"/>
	</xs:attributeGroup>
	<!-- kd-grid-columns start by ligeng-->
	<xs:element name="kd-grid-columns">
		<xs:complexType>
			<xs:sequence>
				<xs:element maxOccurs="unbounded" minOccurs="1" ref="kd-grid-column"></xs:element>
				<xs:element maxOccurs="unbounded" minOccurs="0" ref="kd-grid-command"></xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!-- kd-grid-toolbar start by ligeng-->
	<xs:element name="kd-grid-toolbar">
		<xs:complexType>
			<xs:sequence>
				<xs:element maxOccurs="unbounded" minOccurs="0" ref="kd-grid-toolbar-sub"></xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<!-- kd-grid-toolbar-sub start by ligeng-->
	<xs:element name="kd-grid-toolbar-sub">
		<xs:complexType>
			<xs:attributeGroup ref="attlist.kd-grid-toolbar-sub"></xs:attributeGroup>
		</xs:complexType>
	</xs:element>
	<xs:attributeGroup name="attlist.kd-grid-toolbar-sub">
		<xs:attribute name="name" use="required">
			<xs:simpleType>
				<xs:restriction base="xs:token">
					<xs:enumeration value="create"></xs:enumeration>
					<xs:enumeration value="save"></xs:enumeration>
					<xs:enumeration value="cancel"></xs:enumeration>
				</xs:restriction>
			</xs:simpleType>
		</xs:attribute>
		<xs:attribute name="text" type="xs:string"></xs:attribute>
	</xs:attributeGroup>
	<!-- kd-grid-column start by ligeng-->
    <xs:element name="kd-grid-column">
    	<xs:complexType>
    		<xs:attributeGroup ref="attlist.kd-grid-column"></xs:attributeGroup>
    	</xs:complexType>
    </xs:element>
    <xs:attributeGroup name="attlist.kd-grid-column">
    	<xs:attribute name="name" type="xs:string" use="required"/>
    	<xs:attribute name="filterable" type="xs:boolean" />
    	<xs:attribute name="width" type="xs:integer" />
    	<xs:attribute name="values" type="xs:string"></xs:attribute>
    	<xs:attribute name="format" type="xs:string"></xs:attribute>
    </xs:attributeGroup>
    <!-- kd-grid-command start by ligeng-->
    <xs:element name="kd-grid-command">
    	<xs:complexType>
    		<xs:attributeGroup ref="attlist.kd-grid-command"></xs:attributeGroup>
    	</xs:complexType>
    </xs:element>
    <xs:attributeGroup name="attlist.kd-grid-command">
    	<xs:attribute name="name" type="xs:string"></xs:attribute>
    	<xs:attribute name="text" type="xs:string"></xs:attribute>
    	<xs:attribute name="title" type="xs:string"></xs:attribute>
    	<xs:attribute name="width" type="xs:integer"></xs:attribute>
    	<xs:attribute name="click" type="xs:string"></xs:attribute>
    </xs:attributeGroup>
    <!-- kd-grid-field end by ligeng-->
    <xs:element name="kd-grid-field">
    	<xs:complexType>
    		<xs:attributeGroup ref="attlist.kd-grid-field"></xs:attributeGroup>
    	</xs:complexType>
    </xs:element>
    <xs:attributeGroup name="attlist.kd-grid-field">
    	<xs:attribute name="name" type="xs:string" use="required"/>
    	<xs:attribute name="type" type="xs:string" />
    	<xs:attribute name="editable" type="xs:boolean" />
    </xs:attributeGroup>

2、在ModelScreenWidget.Java文件中添加以下内容

/** Kd-Grid*/
    public static class KdGrid extends ModelScreenWidget{
    	public static final String TAG_NAME = "kd-grid";
    	protected FlexibleStringExpander idExdr;
    	protected FlexibleStringExpander heightExdr;
    	protected FlexibleStringExpander selectableExdr;
    	protected FlexibleStringExpander editableExdr;
    	protected FlexibleStringExpander sortableModeExdr;
    	protected FlexibleStringExpander filterableExdr;
    	protected FlexibleStringExpander groupableExdr;
    	protected FlexibleStringExpander resizableExdr;
    	protected FlexibleStringExpander pageSizesInputExdr;
    	protected FlexibleStringExpander refreshExdr;
    	protected FlexibleStringExpander pageSizesExdr;
    	
    	protected List<ModelScreenWidget> subWidgets;
    	
    	public KdGrid(ModelScreen modelScreen,Element kdGridElement){
    		super(modelScreen, kdGridElement);
    		this.idExdr = FlexibleStringExpander.getInstance(kdGridElement.getAttribute("id"));
    		this.heightExdr = FlexibleStringExpander.getInstance(kdGridElement.getAttribute("height"));
    		this.selectableExdr = FlexibleStringExpander.getInstance(kdGridElement.getAttribute("selectable"));
    		this.editableExdr = FlexibleStringExpander.getInstance(kdGridElement.getAttribute("editable"));
    		this.sortableModeExdr = FlexibleStringExpander.getInstance(kdGridElement.getAttribute("sortableMode"));
    		this.filterableExdr = FlexibleStringExpander.getInstance(kdGridElement.getAttribute("filterable"));
    		this.groupableExdr = FlexibleStringExpander.getInstance(kdGridElement.getAttribute("groupable"));
    		this.resizableExdr = FlexibleStringExpander.getInstance(kdGridElement.getAttribute("resizable"));
    		this.pageSizesExdr = FlexibleStringExpander.getInstance(kdGridElement.getAttribute("pageSizes"));
    		this.pageSizesInputExdr = FlexibleStringExpander.getInstance(kdGridElement.getAttribute("pageSizesInput"));
    		this.refreshExdr = FlexibleStringExpander.getInstance(kdGridElement.getAttribute("refresh"));
    		
    		List<? extends Element> subElementList = UtilXml.childElementList(kdGridElement);
    		this.subWidgets = ModelScreenWidget.readSubWidgets(this.modelScreen, subElementList);
    	}
    	
    	@Override
        public String rawString() {
            return "<kd-grid id= \"" + this.idExdr.getOriginal()+"\" height=\"" +this.heightExdr.getOriginal()+"\" selectable=\""+this.selectableExdr.getOriginal()+
            		"\" editable=\"" + this.editableExdr.getOriginal()+"\" sortableMode=\""+this.sortableModeExdr.getOriginal()+"\" filterable=\""+this.filterableExdr.getOriginal()+ 
            		"\" pageSizes=\""+ this.pageSizesExdr.getOriginal()+"\" pageSizesInput =\""+this.pageSizesInputExdr.getOriginal()+"\" refresh=\""+this.refreshExdr.getOriginal()
            		+"> ";
        }
    	@Override
    	public void renderWidgetString(Appendable writer, Map<String, Object> context, ScreenStringRenderer screenStringRenderer) throws GeneralException, IOException {
    		try {
    			screenStringRenderer.renderKdGridBegin(writer, context, this);
                // render sub-widgets
                renderSubWidgetsString(this.subWidgets, writer, context, screenStringRenderer);
                screenStringRenderer.renderKdGridEnd(writer, context, this);
			
			} catch (Exception e) {
				String errMsg = "Error rendering kdGrid in screen named [" + this.modelScreen.getName() + "]: " + e.toString();
                Debug.logError(e, errMsg, module);
                throw new RuntimeException(errMsg);
			}
    	}
    	
    	public String getId(Map<String, Object> context) {
            return this.idExdr.expandString(context);
        }
    	public String getHeight(Map<String, Object> context){
    		return this.heightExdr.expandString(context);
    	}
    	public String getSelectable(Map<String, Object> context){
    		return this.selectableExdr.expandString(context);
    	}
    	public String getEditable(Map<String, Object> context){
    		return this.editableExdr.expandString(context);
    	}
    	public String getSortableMode(Map<String, Object> context){
    		return this.sortableModeExdr.expandString(context);
    	}
    	public String getFilterable(Map<String, Object> context){
    		return this.filterableExdr.expandString(context);
    	}
    	public String getGroupable(Map<String, Object> context){
    		return this.groupableExdr.expandString(context);
    	}
    	public String getResizable(Map<String, Object> context){
    		return this.resizableExdr.expandString(context);
    	}
    	public String getPageSizes(Map<String, Object> context){
    		return this.pageSizesExdr.expandString(context);
    	}
    	public String getPageSizesInput(Map<String, Object> context){
    		return this.pageSizesInputExdr.expandString(context);
    	}
    	public String getRefresh(Map<String, Object> context){
    		return this.refreshExdr.expandString(context);
    	}
    }
    
    /* kd-grid-datasource*/
    public static class KdGridDataSource extends ModelScreenWidget{
    	public static final String TAG_NAME = "kd-grid-datasource";
    	protected FlexibleStringExpander entityNameExdr;
    	protected FlexibleStringExpander pageSizeExdr;
    	protected FlexibleStringExpander modelIdExdr;
    	protected FlexibleStringExpander readExdr;
    	protected FlexibleStringExpander updateExdr;
    	protected FlexibleStringExpander createExdr;
    	protected FlexibleStringExpander destroyExdr;
    	
    	protected List<ModelScreenWidget> subWidgets;
    	
    	public KdGridDataSource(ModelScreen modelScreen,Element kdGridDataSourceElement){
    		super(modelScreen, kdGridDataSourceElement);
    		this.entityNameExdr = FlexibleStringExpander.getInstance(kdGridDataSourceElement.getAttribute("entityName"));
    		this.pageSizeExdr = FlexibleStringExpander.getInstance(kdGridDataSourceElement.getAttribute("pageSize"));
    		this.modelIdExdr = FlexibleStringExpander.getInstance(kdGridDataSourceElement.getAttribute("modelId"));
    		this.readExdr = FlexibleStringExpander.getInstance(kdGridDataSourceElement.getAttribute("read"));
    		this.updateExdr = FlexibleStringExpander.getInstance(kdGridDataSourceElement.getAttribute("update"));
    		this.destroyExdr = FlexibleStringExpander.getInstance(kdGridDataSourceElement.getAttribute("destroy"));
    		this.createExdr = FlexibleStringExpander.getInstance(kdGridDataSourceElement.getAttribute("create"));
    		List<? extends Element> subElementList = UtilXml.childElementList(kdGridDataSourceElement);
    		this.subWidgets = ModelScreenWidget.readSubWidgets(this.modelScreen, subElementList);
    	}
    	@Override
		public void renderWidgetString(Appendable writer,Map<String, Object> context,ScreenStringRenderer screenStringRenderer)throws GeneralException, IOException {
    		try {
    			screenStringRenderer.renderKdGridDataSourceBegin(writer, context, this);
                // render sub-widgets
                renderSubWidgetsString(this.subWidgets, writer, context, screenStringRenderer);
                screenStringRenderer.renderKdGridDataSourceEnd(writer, context, this);
			} catch (Exception e) {
				String errMsg = "Error rendering kdGridDataSource in screen named [" + this.modelScreen.getName() + "]: " + e.toString();
                Debug.logError(e, errMsg, module);
                throw new RuntimeException(errMsg);
			}
			
		}
		@Override
		public String rawString() {
			return "<kd-grid-datasource entityName=\""+this.entityNameExdr.getOriginal()+
									"\" pageSize=\"" +this.pageSizeExdr.getOriginal()+
									"\" modelId=\""+this.modelIdExdr.getOriginal()+"\""+">";
		}
    	
    	
    	public String getEntityName(Map<String, Object> context){
    		return this.entityNameExdr.expandString(context);
    	}
    	public String getPageSize(Map<String, Object> context){
    		return this.pageSizeExdr.expandString(context);
    	}
    	public String getModelId(Map<String, Object> context){
    		return this.modelIdExdr.expandString(context);
    	}
    	public String getRead(Map<String, Object> context){
    		return this.readExdr.expandString(context);
    	}
    	public String getUpdate(Map<String, Object> context){
    		return this.updateExdr.expandString(context);
    	}
    	public String getDestroy(Map<String, Object> context){
    		return this.destroyExdr.expandString(context);
    	}
    	public String getCreate(Map<String, Object> context){
    		return this.createExdr.expandString(context);
    	}


		
    }
    /* kd-grid-columns*/
    public static class KdGridColumns extends ModelScreenWidget{
		public static final String TAG_NAME = "kd-grid-columns";
    	
    	protected List<ModelScreenWidget> subWidgets;
    	
    	public KdGridColumns(ModelScreen modelScreen, Element kdGridColumnsElement) {
			super(modelScreen, kdGridColumnsElement);
			List<? extends Element> subElementList = UtilXml.childElementList(kdGridColumnsElement);
    		this.subWidgets = ModelScreenWidget.readSubWidgets(this.modelScreen, subElementList);
		}
		@Override
		public void renderWidgetString(Appendable writer,Map<String, Object> context,ScreenStringRenderer screenStringRenderer)throws GeneralException, IOException {
			try {
    			screenStringRenderer.renderKdGridColumnsBegin(writer, context, this);
                // render sub-widgets
                renderSubWidgetsString(this.subWidgets, writer, context, screenStringRenderer);
                screenStringRenderer.renderKdGridColumnsEnd(writer, context, this);
			} catch (Exception e) {
				String errMsg = "Error rendering kdGridColumns in screen named [" + this.modelScreen.getName() + "]: " + e.toString();
                Debug.logError(e, errMsg, module);
                throw new RuntimeException(errMsg);
			}
			
		}
		@Override
		public String rawString() {
			return "<kd-grid-columns>";
		}
    }
    /* kd-grid-toolbar */
    public static class KdGridToolbar extends ModelScreenWidget{
    	public static final String TAG_NAME = "kd-grid-toolbar";
    	protected List<ModelScreenWidget> subWidgets;
    	
    	public KdGridToolbar(ModelScreen modelScreen, Element kdGridToolbarElement) {
			super(modelScreen, kdGridToolbarElement);
			List<? extends Element> subElementList = UtilXml.childElementList(kdGridToolbarElement);
    		this.subWidgets = ModelScreenWidget.readSubWidgets(this.modelScreen, subElementList);
		}
		@Override
		public void renderWidgetString(Appendable writer,Map<String, Object> context,ScreenStringRenderer screenStringRenderer)throws GeneralException, IOException {
			try {
    			screenStringRenderer.renderKdGridToolbarBegin(writer, context, this);
                // render sub-widgets
                renderSubWidgetsString(this.subWidgets, writer, context, screenStringRenderer);
                screenStringRenderer.renderKdGridToolbarEnd(writer, context, this);
			} catch (Exception e) {
				String errMsg = "Error rendering kdGridToolbar in screen named [" + this.modelScreen.getName() + "]: " + e.toString();
                Debug.logError(e, errMsg, module);
                throw new RuntimeException(errMsg);
			}
		}
		@Override
		public String rawString() {
			return "<kd-grid-toolbar>";
		}
    	
    	
    }
    /* kd-grid-toolbar-sub */
    public static class KdGridToolbarSub extends ModelScreenWidget{
		public static final String TAG_NAME = "kd-grid-toolbar-sub";
    	protected FlexibleStringExpander nameExdr;
    	protected FlexibleStringExpander textExdr;
    	
    	public KdGridToolbarSub(ModelScreen modelScreen, Element kdGridToolbarSubElement) {
			super(modelScreen, kdGridToolbarSubElement);
			this.nameExdr = FlexibleStringExpander.getInstance(kdGridToolbarSubElement.getAttribute("name"));
			this.textExdr = FlexibleStringExpander.getInstance(kdGridToolbarSubElement.getAttribute("text"));
		}
    	
		@Override
		public void renderWidgetString(Appendable writer,Map<String, Object> context,ScreenStringRenderer screenStringRenderer)throws GeneralException, IOException {
			screenStringRenderer.renderKdGridToolbarSub(writer, context, this);
		}
		@Override
		public String rawString() {
			return "<kd-grid-toolbar-sub name = \""+this.nameExdr.getOriginal()+"\" text = \""+this.textExdr.getOriginal() +"  />";
		}
    	public String getName(Map<String, Object> context){
			return this.nameExdr.expandString(context);
		}
    	public String getText(Map<String, Object> context){
			return this.textExdr.expandString(context);
		}

    }
    /* kd-grid-Column*/
    public static class KdGridColumn extends ModelScreenWidget{
    	public static final String TAG_NAME = "kd-grid-column";
    	protected FlexibleStringExpander nameExdr;
    	protected FlexibleStringExpander filterableExdr;
    	protected FlexibleStringExpander widthExdr;
    	protected FlexibleStringExpander valuesExdr;
    	protected FlexibleStringExpander formatExdr;
    	
    	public KdGridColumn(ModelScreen modelScreen,Element kdGridColumnElement){
    		super(modelScreen,kdGridColumnElement);
    		this.nameExdr = FlexibleStringExpander.getInstance(kdGridColumnElement.getAttribute("name"));
    		this.filterableExdr = FlexibleStringExpander.getInstance(kdGridColumnElement.getAttribute("filterable"));
    		this.widthExdr = FlexibleStringExpander.getInstance(kdGridColumnElement.getAttribute("width"));
    		this.valuesExdr = FlexibleStringExpander.getInstance(kdGridColumnElement.getAttribute("values"));
    		this.formatExdr = FlexibleStringExpander.getInstance(kdGridColumnElement.getAttribute("format"));
    	}
    	
    	@Override
        public String rawString() {
            // may want to add more to this
            return "<kd-grid-column name=\"" + this.nameExdr.getOriginal() + "\" filterable=\"" + this.filterableExdr.getOriginal() + "\" width=\"" + this.widthExdr.getOriginal()+"\"/>";
        }
    	@Override
		public void renderWidgetString(Appendable writer,Map<String, Object> context,ScreenStringRenderer screenStringRenderer)
				throws GeneralException, IOException {
    		screenStringRenderer.renderKdGridColumn(writer, context, this);
		}
    	
    	public String getName(Map<String, Object> context){
			return this.nameExdr.expandString(context);
		}
    	public String getFilterable(Map<String, Object> context){
			return this.filterableExdr.expandString(context);
		}
    	public String getWidth(Map<String, Object> context){
			return this.widthExdr.expandString(context);
		}
    	public String getValues(Map<String, Object> context){
    		return this.valuesExdr.expandString(context);
    	}
    	public String getFormat(Map<String, Object> context){
    		return this.formatExdr.expandString(context);
    	}

		
    }
   
        
    /* Kd-Grid-command */
    public static class	KdGridCommand extends ModelScreenWidget{
    	
		public static final String TAG_NAME = "kd-grid-command";
		protected FlexibleStringExpander nameExdr;
		protected FlexibleStringExpander textExdr;
    	protected FlexibleStringExpander titleExdr;
    	protected FlexibleStringExpander widthExdr;
    	protected FlexibleStringExpander clickExdr;
    	
    	public KdGridCommand(ModelScreen modelScreen, Element kdGridCommandElement) {
			super(modelScreen, kdGridCommandElement);
			this.nameExdr = FlexibleStringExpander.getInstance(kdGridCommandElement.getAttribute("name"));
			this.textExdr = FlexibleStringExpander.getInstance(kdGridCommandElement.getAttribute("text"));
			this.titleExdr = FlexibleStringExpander.getInstance(kdGridCommandElement.getAttribute("title"));
			this.widthExdr = FlexibleStringExpander.getInstance(kdGridCommandElement.getAttribute("width"));
			this.clickExdr = FlexibleStringExpander.getInstance(kdGridCommandElement.getAttribute("click"));
    	}
    	@Override
		public void renderWidgetString(Appendable writer,Map<String, Object> context,ScreenStringRenderer screenStringRenderer)throws GeneralException, IOException {
    		screenStringRenderer.renderKdGridCommand(writer, context, this);
		}
		@Override
		public String rawString() {
			return "<kd-grid-command title = \""+this.titleExdr.getOriginal()+"\" width=\""+this.widthExdr.getOriginal()+
								 "\" name =\"" +this.nameExdr.getOriginal()+  "\" text=\""+this.textExdr.getOriginal()+
								 "\" click =\""+this.clickExdr.getOriginal() +"\" >";
		}
    	public String getTitle(Map<String, Object> context){
    		return this.titleExdr.expandString(context);
    	}
    	public String getWidth(Map<String, Object> context){
			return this.widthExdr.expandString(context);
		}
    	public String getName(Map<String, Object> context){
    		return this.nameExdr.expandString(context);
    	}
    	public String getText(Map<String, Object> context){
    		return this.textExdr.expandString(context);
    	}
    	public String getClick(Map<String, Object> context){
    		return this.clickExdr.expandString(context);
    	}

		
    }
    /* Kd-Grid-Field*/
    public static class KdGridField extends ModelScreenWidget{
    	public static final String TAG_NAME = "kd-grid-field";
    	protected FlexibleStringExpander nameExdr;
    	protected FlexibleStringExpander typeExdr;
    	protected FlexibleStringExpander editableExdr;
    	
    	public KdGridField(ModelScreen modelScreen,Element kdGridFieldElement){
    		super(modelScreen, kdGridFieldElement);
    		this.nameExdr = FlexibleStringExpander.getInstance(kdGridFieldElement.getAttribute("name"));
    		this.typeExdr = FlexibleStringExpander.getInstance(kdGridFieldElement.getAttribute("type"));
    		this.editableExdr = FlexibleStringExpander.getInstance(kdGridFieldElement.getAttribute("editable"));
    	}
		@Override
		public void renderWidgetString(Appendable writer,Map<String, Object> context,ScreenStringRenderer screenStringRenderer)
				throws GeneralException, IOException {
			screenStringRenderer.renderKdGridField(writer, context, this);
		}
		@Override
		public String rawString() {
			return "<kd-grid-field nama=\""+this.nameExdr.getOriginal()+"\" type =\""+this.typeExdr.getOriginal()+"\" editable=\""+this.editableExdr.getOriginal()+"\"/>" ;
		}
    	
		public String getName(Map<String, Object> context){
			return this.nameExdr.expandString(context);
		}
		public String getType(Map<String, Object> context){
			return this.typeExdr.expandString(context);
		}
		public String getEditable(Map<String, Object> context){
			return this.editableExdr.expandString(context);
		}
    	
    }




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值