SMART datagrid v.1 > Examples

Back  Forward

Column Styles  Example

网格作为显示数据的UI组件,最重要的功能是正确有效绘制数据。 SMART datagrid格使设置在GridStyles对象中的样式属性,适用于构成网格的单元格被渲染的时点。 包含背景颜色和字体颜色,GridStyles具有可以明确表现数据的足够属性。 

在网格单元格中适用GridStyles的方法有很多种,而本次例题中,我们将会了解分别为各个列设置样式的最基本的方法。 

设置在列中的样式,将会成为包含在列中的数据单元格的默认样式。 当创建各个列时,它将会在内部创建和维持一个GridStyles对象,并使用styles属性而进行访问。 通常,默认样式将会被提前设置在创建列的时点。 

Code -1
    var columns = [{
        "fieldName": "product_id",
        "styles": {
            "background": "#3000ff00"
        },
    ...
    },
    ..., {
        "fieldName": "unit_price",
        "width": "100",
        "styles": {
            "color": "#880000",
            "prefix": "$",
        	"textAlignment": "far"
        }
    }];
    grid.setColumns(columns);

在上述代码中,已指定backgroundcolor颜色属性,并使用textAlignment而指定文本位置。 另外,prefix是指定将要显示在实际值前面的字符串的属性。 

除了颜色属性,GridStyles具有可以指定数字型或日期型值的显示格式的属性。 有关GridStyles的属性,请参考GridStyles主题和background等属性的主题。 

Code -2
    var columns = [{
        "styles": {
            "background": "#555",
            "color": "#fff",
            "numberFormat": "#,##0.00",
        	"textAlignment": "far"
        },
        ...
	},
	...,{
        "styles": {
            "datetimeFormat": "yyyy-MM-dd",
            "textAlignment": "center"
        }
    }];

在上述代码中,正在使用numberFormatdatetimeFormat属性。 我们可以使之分别指定数字型和日期型字段值的格式。 

Grid - 1
rows

除了在列中提前设置样式值以外,还可以在所需时点,直接变更样式属性。 

    

Code -3
    btnFontLarger_click: function (ev) {
        var column = grdMain.focusedIndex().column;
        var size = column.styles().fontSize();
        column.styles().setFontSize(Math.min(20, size + 1));
    },
    btnFontSmaller_click: function (ev) {
        var column = grdMain.focusedIndex().column;
        var size = column.styles().fontSize();
        column.styles().setFontSize(Math.max(5, size - 1));
    }

查看源代码 JSP 

See Also
GridStyles
GridColumn.styles