|
发表于 2016-1-30 22:58:11
|
显示全部楼层
1. jsp中变量用下划线命名的问题
在 jsp页面datagrid中字段名称命名不能使用下划线,否则进行json格式转换时内容被忽略。
可能是下划线用作特殊分隔符,比如在replace关键字中原来对显示名称、对应取值进行分割。
2. jsp页面datagrid字段标题不能用括号
在datagrid中括号用做字段名字有些问题。
在国际语言版本中从数据库读取的字符串带括号则不要紧。
举例:
<t:dgCol title="员工(ID)" field="displayName" query="false"></t:dgCol> //可能有问题.
<t:dgCol title="common.usernameID" field="displayName"></t:dgCol> // 在数据库中common.usernameID写为 "员工(ID)"则没问题。
3.3 formatter不生效
D:\projects\jeecg_3.6\src\main\java\org\jeecgframework\tag\core\easyui\DataGridTag.java
getfield 不应使用else判断。
下面是改好的:
protected void getField(StringBuffer sb,int frozen) {
// 复选框
if (checkbox&&frozen==0) {
sb.append("{field:\'ck\',checkbox:\'true\'},");
}
int i = 0;
for (DataGridColumn column : columnList) {
i++;
if((column.isFrozenColumn()&&frozen==0)||(!column.isFrozenColumn()&&frozen==1)){
String field;
if (treegrid) {
field = column.getTreefield();
} else {
field = column.getField();
}
sb.append("{field:\'" + field + "\',title:\'" + column.getTitle() + "\'");
if(column.getWidth() != null){
sb.append(",width:"+column.getWidth());
}
if (column.getAlign()!=null){
sb.append(",align:\'" + column.getAlign() + "\'");
}
if(StringUtils.isNotEmpty(column.getExtendParams())){
sb.append(","+column.getExtendParams().substring(0,
column.getExtendParams().length()-1));
}
// 隐藏字段
if (column.isHidden()) {
sb.append(",hidden:true");
}
if (!treegrid) {
// 字段排序
if ((column.isSortable()) && (field.indexOf("_") <= 0 && field != "opt")) {
sb.append(",sortable:" + column.isSortable() + "");
}
}
if(column.getFormatterjs()!=null){
sb.append(",formatter:function(value,rec,index){");
sb.append(" return "+column.getFormatterjs()+"(value,rec,index);}");
}
// 显示图片
if (column.isImage()) {
if (column.getImageSize() != null) {// 自定义显示图片
String[] tld = column.getImageSize().split(",");
sb.append(",formatter:function(value,rec,index){");
sb.append(" return '<img width=\"" + tld[0]
+ "\" height=\"" + tld[1]
+ "\" border=\"0\" src=\"'+value+'\"/>';}");
tld = null;
}else{
sb.append(",formatter:function(value,rec,index){");
sb.append(" return '<img border=\"0\" src=\"'+value+'\"/>';}");
}
}
if(column.getDownloadName() != null){
sb.append(",formatter:function(value,rec,index){");
sb.append(" return '<a target=\"_blank\" href=\"'+value+'\">"
+ column.getDownloadName() + "</a>';}");
}
if (column.getUrl() != null) { // 自定义链接
sb.append(",formatter:function(value,rec,index){");
this.getFun(sb, column);
sb.append("}");
}
if (column.getField().equals("opt")) {// 加入操作
sb.append(",formatter:function(value,rec,index){");
// sb.append("return \"");
this.getOptUrl(sb);
sb.append("}");
}
if (columnValueList.size() > 0 && !column.getField().equals("opt")) {// 值替換
String testString = "";
for (ColumnValue columnValue : columnValueList) {
if (columnValue.getName().equals(column.getField())) {
String[] value = columnValue.getValue().split(",");
String[] text = columnValue.getText().split(",");
sb.append(",formatter:function(value,rec,index){");
sb.append("if(value==undefined) return '';");
sb.append("var valArray = value.split(',');");
sb.append("if(valArray.length > 1){");
sb.append("var checkboxValue = '';");
sb.append("for(var k=0; k<valArray.length; k++){");
for(int j = 0; j < value.length; j++){
sb.append("if(valArray[k] == '" + value[j] + "'){ checkboxValue = checkboxValue + \'" + text[j] + "\' + ',';}");
}
sb.append("}");
sb.append("return checkboxValue.substring(0,checkboxValue.length-1);");
sb.append("}");
sb.append("else{");
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("}");
sb.append("}");
}
}
}
if(column.getFormatter()!=null)
{
sb.append(",formatter:function(value,rec,index){");
sb.append(" return new Date().format('"+column.getFormatter()+"',value);}");
}
// 背景设置
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){");
if((value.length == 0||StringUtils.isEmpty(value[0]))&&text.length==1){
if(text[0].indexOf("(")>-1){
testString = " return \'" + text[0].replace("(", "(value,rec,index") + "\'";
}else{
testString = " return \'" + text[0] + "\'";
}
}else{
for (int j = 0; j < value.length; j++) {
testString += "if(value=='" + value[j] + "'){return \'" + text[j] + "\'}";
}
}
sb.append(testString);
sb.append("}");
}
}
}
sb.append("}");
// 去除末尾,
if (i < columnList.size()) {
sb.append(",");
}
}
}
}
|
|