额,嗯啊,你可以在后台用json返回整个DataTable,
然后...前台处理。
$.ajax({ type: "post", url: "/../...", async: true, data: { }, error: function (XMLHttpRequest, textStatus, errorThrown) { alert("获取后台数据错误!"); }, success: function (data) { var itable = $("table").find("tr");//列显示位置table的tr中 var user="";//获取用户 var jsonRete = eval(data); for (var i in jsonRete) { if (user == "A") { //列显示 itable.html("<td>"+jsonRete[i].Name+"</td>"+ "<td>"+jsonRete[i].City+"</td>" ); } else if(user == "B") { //列显示 itable.html("<td>"+jsonRete[i].Name+"</td>"+ "<td>"+jsonRete[i].Phone+"</td>" ); } } } });
或者我觉得更简单这种,我不知道你是不是想要这样的功能
@{foreach (System.Data.DataRow dr in dtSearchResult.Rows) { var ExchangeRate = ViewBag.User;//获取用户 <tr > <td>@dr["Name"]</td> @if (ExchangeRate == "A") { <td >@dr["City"]</td> } else if(ExchangeRate == "B") { <td >@dr["Phone"]</td> } </tr> } }
mvc是后台渲染。使用if else 分别渲染不同的表格比较合适。
没那么简单,也许你没理解我的问题所在。谢谢!
你可以后台返回2个结果集,一个结果集是列的,一个是数据的,然后用js进行组装html
好像可以 谢谢
@王庆东mas: 一起学习
这种貌似挺简单的,不管是他需要显示什么列,都需要标注,你只需要将这些列存入数组, 而数据源可以进行一次解析
比如:
1 list={"city":"城市","Name":"名字"} 2 Model.Select(t=>new {t.city,t.Name})
这边这个model是不固定的,city列有没有要读取配置。
@王庆东mas: 没固定也没关系,你是总是要进行查询数据,他需要展示的列,可以在查询后进行设置也可以在之前进行设置,总之是在Model上动手脚。
one:
{
cols:["列1","列2"],
rows:[["列1 value","列2 value"],["列1 value","列2 value"],["列1 value","列2 value"]]
}