前几天修改一个需求,刚好用到。顺便记录下来。
需求大概是这样(以下是举例子跟需求相近,并不是真的):假设A=1,该列列名为“学生”,对应数据库字段为“student”;若A=2,该列列名为“老师”,对应数据库字段为“teacher”。
要实现这种最简单的方法就是,直接定义两个datagrid的columns,根据A值来替换,但是总觉得太粗暴了,到时候会被审查代码的人嫌弃,哈哈。于是便开始找资料,知道datagrid的方法getColumnOption是返回特定的列属性。尝试了一下,获取到对应的列,能动态修改列名,又想列名改了,那列属性能修改吗,于是又开始修改,测试,good,结果是可以的。但是记得要先初始化一个columns,不然获取不到对应的列就没有后续的工作了,动态修改完毕后,还得重新渲染下datagrid(我是这么理解的,更专业的说法,我也不懂,别见怪~)。
以下是例子:
$(function() {
//列显示类型判断值
var A = $("#type").val();
var data = {
'id' : id,
'flag' : flag
};
$.ajax( {
url : 'Test.action',
data : data