Dorado 9 : DataLabel(DCUG)

简介

继承dorado.widget.Control,基本属性和使用请参考:Control(DCUG)

DataLabel通过DataSet和DataPath属性计算所绑定的DataSet中一个实体对象,并通过其Property属性关联这个实体对象的某一个属性,最终以Label形式显示。

关于DataSet和DataPath的设定和使用技巧请参考:DataControl(DCUG)#显示单实体对象的一个属性

详细属性说明

renderer

DataLabel提供渲染器属性,你可以自定义渲染器,默认的渲染器为:dorado.widget.DataLabelRenderer,基本功能就是根据所设定的dataSet和dataPath计算所得的Entity对象,获取其中对应property的值作为DOM对象的innerText显示:

dorado.widget.DataLabelRenderer = $extend(dorado.Renderer, {
	render: function(dom, arg) {
		var text = (arg.property && arg.entity != null) ? arg.entity.getText(arg.property) : '';
		dom.innerText = text;
	}
});

参照上面的原理,如果希望定义一个支持HTML格式的renderer,简单扩展一下:

HTMLDataLabelRenderer = $extend(dorado.Renderer, {
	render: function(dom, arg) {
		var text = (arg.property && arg.entity != null) ? arg.entity.get(arg.property) : '';
		dom.innerHTML = text;
	}
});

并设置DataLabel的renderer属性:

// @Bind #labelProductName.onCreate
!function(self, arg) {
	HTMLDataLabelRenderer = $extend(dorado.Renderer, {
		render: function(dom, arg) {
			var text = (arg.property && arg.entity != null) ? arg.entity.get(arg.property) : '';
			dom.innerHTML = text;
		}
	});
	
	self.set("renderer", new HTMLDataLabelRenderer());
}

Attachments:

DataLabelDesign.PNG (image/png)