easyui datagrid动态绑定列名和数据

2024-06-09 04:32

本文主要是介绍easyui datagrid动态绑定列名和数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ashx文件内容 
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";dr["title"] = "公寓信息";dr["align"] = "center";dr["width"] = 100;dt.Rows.Add(dr);dr = dt.NewRow();dr["field"] = "school_area";dr["title"] = "所在校区";dr["align"] = "center";dr["width"] = 100;dt.Rows.Add(dr);//string sql = "select building_id,building_name,building_info,school_area from building";//string countsql = "select count(*) from building";//int count = DBHelper.GetScalar(countsql);//DataTable dtt = DBHelper.GetDataSet(sql);DataTable dtt = new DataTable();dtt.Columns.Add("building_id");dtt.Columns.Add("building_name");dtt.Columns.Add("building_info");dtt.Columns.Add("school_area");DataRow drTemp;for (int i = 0; i < 10; i++){drTemp = dtt.NewRow();drTemp["building_id"] = "A" + i.ToString();drTemp["building_name"] = "A" + i.ToString() + "号楼";drTemp["building_info"] = "A" + i.ToString() + "公寓";drTemp["school_area"] = "A" + i.ToString() + "小营";dtt.Rows.Add(drTemp);}int count = dtt.Rows.Count;Hashtable ht = new Hashtable();ht.Add("total", count);ht.Add("columns", dt);ht.Add("rows", dtt);string strJson = Newtonsoft.Json.JsonConvert.SerializeObject(ht);context.Response.Clear();context.Response.ContentEncoding = Encoding.UTF8;context.Response.ContentType = "application/json";context.Response.Write(strJson);context.Response.Flush();context.Response.End();}else{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"] = "school_area";dr["title"] = "所在校区";dr["align"] = "center";dr["width"] = 100;dt.Rows.Add(dr);//string sql = "select building_id,building_name,school_area from building";//string countsql = "select count(*) from building";//int count = DBHelper.GetScalar(countsql);//DataTable dtt = DBHelper.GetDataSet(sql);DataTable dtt = new DataTable();dtt.Columns.Add("building_id");dtt.Columns.Add("building_name");dtt.Columns.Add("building_info");dtt.Columns.Add("school_area");DataRow drTemp;for (int i = 0; i < 10; i++){drTemp = dtt.NewRow();drTemp["building_id"] = "B" + i.ToString();drTemp["building_name"] ="B"+ i.ToString() + "号楼";drTemp["building_info"] = "B"+i.ToString() + "公寓";drTemp["school_area"] = "B"+i.ToString() + "小营";dtt.Rows.Add(drTemp);}int count = dtt.Rows.Count;Hashtable ht = new Hashtable();ht.Add("total", count);ht.Add("columns", dt);ht.Add("rows", dtt);string strJson = Newtonsoft.Json.JsonConvert.SerializeObject(ht);context.Response.Clear();context.Response.ContentEncoding = Encoding.UTF8;context.Response.ContentType = "application/json";context.Response.Write(strJson);context.Response.Flush();context.Response.End();}}public DataTable createTable(){DataTable dt = new DataTable("myTable");//field列  DataColumn columnField = new DataColumn();//创建一列  columnField.DataType = System.Type.GetType("System.String");//数据类型  columnField.ColumnName = "field";//列名  dt.Columns.Add(columnField);//添加到table  //title列  DataColumn columnTitle = new DataColumn();columnTitle.DataType = System.Type.GetType("System.String");columnTitle.ColumnName = "title";dt.Columns.Add(columnTitle);//align列  DataColumn columnAlign = new DataColumn();columnAlign.DataType = System.Type.GetType("System.String");columnAlign.ColumnName = "align";dt.Columns.Add(columnAlign);//width列  DataColumn columnWidth = new DataColumn();columnWidth.DataType = System.Type.GetType("System.Int32");columnWidth.ColumnName = "width";dt.Columns.Add(columnWidth);return dt;}  public bool IsReusable {get {return false;}}

前台
<pre name="code" class="html"><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server"><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>DataGrid动态生成列</title><link id="Link1" rel="stylesheet" href="../jQEasyUI/jquery-easyui-1.4.2/themes/default/easyui.css"type="text/css" /><link rel="stylesheet" href="../jQEasyUI/jquery-easyui-1.4.2/themes/icon.css" type="text/css" /><script type="text/javascript" src="../jQEasyUI/jquery-easyui-1.4.2/jquery.min.js"charset="utf-8"></script><script type="text/javascript" src="../jQEasyUI/jquery-easyui-1.4.2/jquery.easyui.min.js"charset="utf-8"></script><script type="text/javascript">var grid;$(function () {grid = $('#tt').datagrid({fit: true,//自动大小    rownumbers: true,//行号   loadMsg: '数据装载中......',singleSelect: true,//单行选取  pagination: false,//显示分页  //height:500px,//width:1000px,toolbar: '#tabs',columns: [[]],toolbar: [{text: '显示1',iconCls: 'icon-add',handler: newData}, '-', {text: '显示2',iconCls: 'icon-add',handler: newData2}]});//  self.parent.$("#tabs").tabs("loaded");});function newData() {$.post('Test.ashx', { id: 1 },function (data) {grid.datagrid({columns: [data.columns]}).datagrid("loadData", data);}, 'json');}function newData2() {$.post('Test.ashx', { id: 2 },function (data) {grid.datagrid({columns: [data.columns]}).datagrid("loadData", data);}, 'json');}</script>
</head>
<body><form id="form1" runat="server"><div style="height: 1000px"><table id="tt" style="height: 535px"></table></div></form>
</body>
</html>


 

这篇关于easyui datagrid动态绑定列名和数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1044221

相关文章

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

Redis的数据过期策略和数据淘汰策略

《Redis的数据过期策略和数据淘汰策略》本文主要介绍了Redis的数据过期策略和数据淘汰策略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录一、数据过期策略1、惰性删除2、定期删除二、数据淘汰策略1、数据淘汰策略概念2、8种数据淘汰策略

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

Python给Excel写入数据的四种方法小结

《Python给Excel写入数据的四种方法小结》本文主要介绍了Python给Excel写入数据的四种方法小结,包含openpyxl库、xlsxwriter库、pandas库和win32com库,具有... 目录1. 使用 openpyxl 库2. 使用 xlsxwriter 库3. 使用 pandas 库

SpringBoot定制JSON响应数据的实现

《SpringBoot定制JSON响应数据的实现》本文主要介绍了SpringBoot定制JSON响应数据的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录前言一、如何使用@jsonView这个注解?二、应用场景三、实战案例注解方式编程方式总结 前言

使用Python在Excel中创建和取消数据分组

《使用Python在Excel中创建和取消数据分组》Excel中的分组是一种通过添加层级结构将相邻行或列组织在一起的功能,当分组完成后,用户可以通过折叠或展开数据组来简化数据视图,这篇博客将介绍如何使... 目录引言使用工具python在Excel中创建行和列分组Python在Excel中创建嵌套分组Pyt

Java使用POI-TL和JFreeChart动态生成Word报告

《Java使用POI-TL和JFreeChart动态生成Word报告》本文介绍了使用POI-TL和JFreeChart生成包含动态数据和图表的Word报告的方法,并分享了实际开发中的踩坑经验,通过代码... 目录前言一、需求背景二、方案分析三、 POI-TL + JFreeChart 实现3.1 Maven

在Rust中要用Struct和Enum组织数据的原因解析

《在Rust中要用Struct和Enum组织数据的原因解析》在Rust中,Struct和Enum是组织数据的核心工具,Struct用于将相关字段封装为单一实体,便于管理和扩展,Enum用于明确定义所有... 目录为什么在Rust中要用Struct和Enum组织数据?一、使用struct组织数据:将相关字段绑

在Mysql环境下对数据进行增删改查的操作方法

《在Mysql环境下对数据进行增删改查的操作方法》本文介绍了在MySQL环境下对数据进行增删改查的基本操作,包括插入数据、修改数据、删除数据、数据查询(基本查询、连接查询、聚合函数查询、子查询)等,并... 目录一、插入数据:二、修改数据:三、删除数据:1、delete from 表名;2、truncate

Java导出Excel动态表头的示例详解

《Java导出Excel动态表头的示例详解》这篇文章主要为大家详细介绍了Java导出Excel动态表头的相关知识,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录前言一、效果展示二、代码实现1.固定头实体类2.动态头实现3.导出动态头前言本文只记录大致思路以及做法,代码不进