当前位置:编程学习 > JAVA >>

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 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,