
//用字符串产生grid所需的列
function AddColspanGridColumn(fieldName, title, width, align, rowStyle, formatterStyle,colspan) {
var columnStr = ""
//Easyui的datagrid列的基本格式
columnStr = "{field: '" + fieldName + "', title: '" + title + "', width: " + width
//对齐方式
if (align != "" &&align != null &&align != undefined)
columnStr += ",align:'" + align + "'"
//是否合并列
if (colspan != 0 &&colspan != "" &&colspan != null &&colspan != undefined)
columnStr += ",colspan:" + colspan
//是否需要行样式
if (rowStyle != "" &&rowStyle != null &&rowStyle != undefined)
columnStr += ",styler: function (val, row, index) {return '" + rowStyle + "'}"
if (formatterStyle != "" &&formatterStyle != null &&formatterStyle != undefined)
columnStr += ",formatter: function (val, row, index) {" +
"if (val == '' || val == undefined) val = '0'" +
"return \"<span style='" + formatterStyle + "'>\"+val+\"</span>\"}"
columnStr += "}"
return columnStr
}
然后把产生的json字符串给datagrid,
var options = $("#" + gridName).datagrid("options")
var columnstr =
AddColspanGridColumn("AVG_PRICE", "户均价", 80, "left",
"background-color:#F6B03E",
"font-size:14pxfont-weight:bold",
0)
options.columns = eval(columnstr)
设置列内容为超链接,参考函数里的formatter,设置列的内容的
你在html中如果使用了easyui的标签,再通过js去加载。那么无论是easyui的什么组件,都会加载两次。最常见的是datagrid的加载两次。我原来就经常犯这问题,无意间发现会加载两次,之后就不在Html中定义相应的属性了。只通过js来加载要先初始化tabs后才能调用add方法,使用样式来初始化easyUI需要在domready前将html代码添加到dom中,要不也无法初始化
var
tab
=
$("<div
id='tab_row_"
+
r
+
"_column_"
+
c
+
"'
class='easyui-tabs'
style='width:500pxheight:250px'>")
$('#xxxx').append(tab)
tab.tab()//要手动调用tabs进行初始化
var
content
=
"<table
id='table_datagrid_'"
+
view.id
+"></table>"
tab.tabs('add',
{
title:
view.title,
content
:
content,
closable:
true
})
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)