若依大神您好!在查询时,我想根据某个filed字段的值不同,动态修改其它字段的filed字段值。不知道如何实现?最后我通过一种笨办法,能在 $.table.init(options)中能实现动态修改,但点击“搜索”调用$.table.search()时,.btTable.bootstrapTable('getOptions')获取的filed字段值还是初始的值,不是最新的。若是看的不明白,我说一下我的需求。
有如下表格式:
CREATE TABLE sys_score (
score_id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '成绩ID',
score_name VARCHAR(50) DEFAULT '' COMMENT '考试内容',
score_value INT(3) DEFAULT 0 COMMENT '考试得分',
score_stu_type char(1) DEFAULT '' COMMENT '学员类型 0新学员 1旧学员',
score_stu_id bigint(20) DEFAULT 0 COMMENT '学员ID'
}
查询时,根据score_stu_type字段的不同,score_stu_id自动从不同的表中取数据。我参考了您之前关于多表联合查询的方法(参考用户管理功能),能实现了联合查询,但像我上述的需求(需要动态修改filed),不知道前端怎么写?请多指教?
补充:试了一下用三目运算符:
field : 'scoreStuType'?'newSt.studentName':'norSt.nstudentName',这个似乎可以,但条件始终为真,取的值是newSt.studentName的值,scoreStuType是字典值,值有两种情况,一是'0',另一个是'1'。把条件改成:
field : 'scoreStuType'=='0'?'newSt.studentName':'norSt.nstudentName',又始终条件为假,取值是norSt.nstudentName的值.
你这个页面还没开始渲染,所以判断没用。
可以使用formatter在里面进行判断,然后显示对应的值 参考如下:
{
title: '名称',
align: 'center',
formatter: function(value, row, index) {
if (row.scoreStuType == 0) {
return row.newSt.studentName;
} else {
return row.newSt.nstudentName;
}
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
登录 后才可以发表评论