easyui datagrid 动态生成列和行数据以超链接的形式展示问题

easyui datagrid 动态生成列和行数据以超链接的形式展示问题,第1张

动态产生列的代码,其实就是按datagrid所需列的json格式,拼凑成字符串还可以实现列合并

//用字符串产生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,设置列的内容的

可以,但是数据必须是JSON对象,并且符合以下格式:

{"total":总记录数,"rows":数据行数组}

例如:

{"total":300,"rows":[{"id":1,"name":"张三"},{"id":2,"name":"李四"}]}

这个JSON数据对象可以是你在页面上自己拼凑出来的,也可以是通过AJAX请求从服务器端响应来的等等,从哪里来的无所谓,只要符合以上格式就行,然后通过DataGrid组件的loadData方法加载,如下(假设data变量值是上面举例的那个数据对象):

$("#demoDataGrid").datagrid("loadData",data)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11334210.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存