|  | 
 
| 在最新版已经支持了,建议大家还是下载架包使用,容易升级,源码可以用来学习不,要是改了源码,升级就不好搞了 
 首先在这个DataGridColumnTag 加入我们需要的属性protected String style; //Td的CSS
 给他一个set方法,然后在这个endTag,给添加到父类中去
 在parent,setColumn方法中添加复制代码public int doEndTag() throws JspTagException {
                Tag t = findAncestorWithClass(this, DataGridTag.class);
                DataGridTag parent = (DataGridTag) t;
                parent.setColumn(title,field,width,rowspan,colspan,align,sortable,checkbox,formatter,hidden,replace,treefield,image,query,url,funname,arg,queryMode, dictionary,frozenColumn,extend,style);
                return EVAL_PAGE;
        }
复制代码dateGridColumn.setStyle(style);
哦,对了在这个类里面,添加protected List<ColumnValue> columnStyleList = new ArrayList<ColumnValue>();// 颜色替换集合复制代码/**
         * 设置 颜色替换值
         * @param field
         * @param text
         * @param value
         */
        private void setStyleColumn(String field, String text, String value) {
                ColumnValue columnValue = new ColumnValue();
                columnValue.setName(field);
                columnValue.setText(text);
                columnValue.setValue(value);
                columnStyleList.add(columnValue);
        }
不然没有地方加不,嘿嘿,然后在这个方法中
 复制代码protected void getField(StringBuffer sb,int frozen) {}
就可以了,记得别忘记了在 doStartTag()这个方法里面columnStyleList.clear();清除复制代码// 背景设置
                        if (columnStyleList.size() > 0 && !column.getField().equals("opt")) {
                                String testString = "";
                                for (ColumnValue columnValue : columnStyleList) {
                                        if (columnValue.getName().equals(column.getField())) {
                                                String[] value = columnValue.getValue().split(",");
                                                String[] text = columnValue.getText().split(",");
                                                sb.append(",styler:function(value,rec,index){");
                                                for (int j = 0; j < value.length; j++) {
                                                        testString += "if(value=='" + value[j] + "'){return \'" + text[j] + "\'}";
                                                }
                                                sb.append(testString);
                                                sb.append("else{return value}");
                                                sb.append("}");
                                        }
                                }
                                
                        }
还有在tld文件中添加我们的字段属性
 style="background:red;_N"  这样就想值替换哪有就可以使用了,这里突然想起个bug,不想区分,就不好搞了复制代码<attribute>
   <name>style</name>
   <required>false</required>
   <rtexprvalue>true</rtexprvalue>
   <description>td CSS 属性</description>
  </attribute>
这个网友来设计吧
 
 
 
 
 | 
 |