当前位置: 代码迷 >> Web前端 >> SmartGWT 之 展示带Icon的Field
  详细解决方案

SmartGWT 之 展示带Icon的Field

热度:626   发布时间:2012-11-23 22:54:33.0
SmartGWT 之 显示带Icon的Field

常常会需要在Field的某一列显示一个icon,例如文件列表,在文件名前面放一个icon。

很正常的需求,但是SmartGWT的 ListGrid,只能在设置 ListGridField 的时候,设置

其type 为 image 或者 icon。而对于在同一列里面既要显示icon,又要显示文本,似乎

比较困难。

?

幸好 ListGrid 有个 getCellCSSText 的方法可以覆盖。那么我们就可以在这个方法当中,

设置一下它的css,用 background-image 来达到这样的目标,上代码:

?

docsList = new ListGrid() {
	@Override
	protected String getCellCSSText(ListGridRecord record, int rowNum, int colNum) {
		if ( "name".equals(getFieldName( colNum))) { 
		    String iconPath = record.getAttribute( "iconPath");
		    if ( iconPath == null)
		        return "text-decoration:underline;";
		    else {
		        return "padding-left:22px;text-decoration:underline;" +
		        		"background-image:url(\""+iconPath+"\");" +
		        		"background-repeat:no-repeat;";
		    }
		} else 
			return super.getCellCSSText(record, rowNum, colNum);
	}
	
};
?
  相关解决方案