easyui datagrid+ashx实现动态生成列
easyui datagrid查询时需要动态生成列,网上收集了一些资料,最终实现和大家分享一下:
JS脚本:
[javascript]
var grid;
$(function(){
grid = $('#tt').datagrid({
fit: true,//自动大小
rownumbers:true,//行号
//loadMsg:'数据装载中......',
singleSelect:true,//单行选取
pagination:false,//显示分页
columns:[[]],
toolbar:[{
text:'显示1',
iconCls:'icon-add',
handler:newData
},'-',{
text:'显示2',
iconCls:'icon-add',
handler:newData2
}]
});
self.parent.$("#tabs").tabs("loaded");
});
function newData(){
$.post('ashx/freeBedHandler.ashx', { id:1 },
function(data) {
grid.datagrid({
columns:[data.columns]
}).datagrid("loadData", data);
}, 'json');
}
function newData2(){
$.post('ashx/freeBedHandler.ashx', { id:2},
function(data) {
grid.datagrid({
columns:[data.columns]
}).datagrid("loadData", data);
}, 'json');
}
var grid;
$(function(){
grid = $('#tt').datagrid({
fit: true,//自动大小
rownumbers:true,//行号
//loadMsg:'数据装载中......',
singleSelect:true,//单行选取
pagination:false,//显示分页
columns:[[]],
toolbar:[{
text:'显示1',
iconCls:'icon-add',
handler:newData
},'-',{
text:'显示2',
iconCls:'icon-add',
handler:newData2
}]
});
self.parent.$("#tabs").tabs("loaded");
});
function newData(){
$.post('ashx/freeBedHandler.ashx', { id:1 },
function(data) {
grid.datagrid({
columns:[data.columns]
}).datagrid("loadData", data);
}, 'json');
}
function newData2(){
$.post('ashx/freeBedHandler.ashx', { id:2},
function(data) {
grid.datagrid({
columns:[data.columns]
}).datagrid("loadData", data);
}, 'json');
}
ahsx代码:
[csharp]
<%@ WebHandler Language="C#" Class="freeBedHandler" %>
using System;
using System.Web;
using System.Text;
using System.Data;
using System.Web.UI.WebControls;
using System.Web.SessionState;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using System.Collections;
public class freeBedHandler : IHttpHandler {
public void ProcessRequest (HttpContext context) {//示例用,各位可以根据自己需求写
var id = context.Request["id"];
if (id.ToString().Equals("1"))
{
DataTable dt = createTable();
DataRow dr = dt.NewRow();
dr["field"] = "building_id";
dr["title"] = "公寓编号";
dr["align"] = "center";
dr["width"] = 100;
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["field"] = "building_name";
dr["title"] = "公寓名称";
dr["align"] = "center";
dr["width"] = 100;
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["field"] = "building_info
补充:web前端 , JavaScript ,