easyui datagrid 动态生成列和行数据以超链接的形式展示问题
项目中需要用到datagrid控件,列是根据数据库检索的具体字段动态生成,每一行数据(都是数字)是以超链接的形式展示,当用户点击这个超链接后要把这个单元格的数据返回到后台...
项目中需要用到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:14px;font-weight:bold;",
0)
options.columns = eval(columnstr);
设置列内容为超链接,参考函数里的formatter,设置列的内容的
//用字符串产生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:14px;font-weight:bold;",
0)
options.columns = eval(columnstr);
设置列内容为超链接,参考函数里的formatter,设置列的内容的
更多追问追答
追答
这是你产生的标题的json格式和返回的列表数据的json格式,字段名称对不上吧,还有你动态产生列的方法是怎么写的
七鑫易维信息技术
2024-09-02 广告
2024-09-02 广告
Play Video 七鑫易维是致力于机器视觉和人工智能领域的高新科技企业,迄今已专注眼球追踪技术的研发、创新与应用超过14年,拥有完全自主知识产权,全球专利总量655余项。 作为眼球追踪技术领域的全球知名品牌,七鑫易维的产品体系覆盖眼动分...
点击进入详情页
本回答由七鑫易维信息技术提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询