是否可以更改struts2-jquery-grid-tags的css颜色

时间:2014-02-08 06:26:04

标签: javascript jquery css html5 struts2

如何更改struts2-jquery-grid-tags的css样式 我甚至无法更改标题图层字体大小。任何人都可以告诉我,如何更改我的网格样式,颜色和其他格式,就像普通的html元素一样。

2 个答案:

答案 0 :(得分:2)

使用:

<%@ taglib prefix="sj" uri="/struts-jquery-tags"%>
...
<sj:head jqueryui="true" 
         jquerytheme="customTheme" 
         customBasepath="relative/path/customThemesFolder"/>

并在 customThemesFolder 中创建您的themeroller自定义主题(应位于 customTheme 中)。这应该会改变您的网格主题,您可以更改所需的所有样式。

希望这有帮助。

<强> EDITED 当你下载时,你得到这样的东西:

/jquery-ui-1.10.4.custom/css/THEME

和css内部,图片等主题是您所需要的。请注意 - 页面 中的css导入或您拥有的内容必须遵循之前的jqgrid样式。 人们说如果不起作用,请将其放在页面的末尾:

<script>
    $.subscribe('loadCustomCss', function(event,data){            
        $.struts2-jquery.requireCss(cssFile, basePath); 
    });
</script>

并在网格标记(sj:head)中添加

onCompleteTopics="loadCustomCss"

如果仍然无效,请尝试使用此脚本(不是之前的脚本):

<script>
    $.subscribe('loadCustomCss', function(event,data){
         $('head').append( $('<link rel="stylesheet" type="text/css" />').attr('href', '../customThemeFolder/myTheme.css') );
    });
</script>

照顾相对路径。

答案 1 :(得分:0)

网格的css是从struts-jquery-grid-plugin.jar动态加载的。

template/themes/ui.jqgride.css.

打开此文件,您将找到可以骑过的css键。

另一方面,如果您不想更新和添加jqgride css,可以从网格中动态删除css。

这是一个删除一些默认值的代码

$.subscribe('grid_compelete', function(event, data) {

       //remove mouse over color change
       $($("#gridtable")[0].grid.hDiv).find(".ui-jqgrid-labels th.ui-th-column").unbind("mouseenter").unbind("mouseleave");        

       //Change header color
       $($("#gridtable")[0].grid.hDiv).find(".ui-jqgrid-labels th.ui-th-column").addClass("yourClassColor");

    //remove the 'ui-' from the css classes which automaticly created by grid tag
    //the gbox_gridtable is the most top element in the grid
    $('#gbox_gridtable').find('*').andSelf().attr('class',
            function(i, css){
                if (typeof css !== 'undefined') {
                        return css.replace(/\ui-\S+/g, '');
                    }
           });


        // remove default td title in jquery grid
        $("td").each(function() {
            var td = $(this);
            if (td.attr("role") == "gridcell") {
                td.removeAttr("title");
            };
        });
 });

在jsp中:

<sjg:grid id="gridtable" onGridCompleteTopics="grid_compelete"