本文将介绍一下,在ASP.NET MVC环境下,如何用Jquery MiniUI中的Datagrid控件载入数据。

1.效果展示:


2.具体步骤:


1>  既然是在MVC里,那我们的界面自然选择cshtml,界面内代码如下:

 <!--需要引用的文件-->
<link href="~/Content/StyleSheet1.css" rel="stylesheet" />
<script src="~/Scripts/jquery-1.8.2.js"></script>
<link href="~/Content/miniui.css" rel="stylesheet" />
<script src="~/Scripts/miniui.js"></script>
<link href="../../scripts/miniui/themes/blue/skin.css" rel="stylesheet" type="text/css" />
<style type="text/css">
table {
margin-top: 0;
}
</style> <div id="datagrid1" class="mini-datagrid" style="width:600px;height:380px;" url="JsonHtml" allowresize="true" sizelist="[10,20,30,50]"
pagesize="10" allowcellselect="true" multiselect="true">
<div property="columns">
<div type="checkcolumn" headeralign="center" ="center"></div>
<div type="indexcolumn" headeralign="center" ="center">序号</div>
<div field="d1" headeralign="center" ="center" width="80">时间</div>
<div field="d2" headeralign="center" ="center" width="80">赛制</div>
<div field="d3" headeralign="center" ="center" width="80">战绩</div>
</div>
</div>

Head标签内代码

2> 完成界面上内容以后,其实布局已经出来,但是这个DataGrid是没有数据的,它的数据来源就是那个 div-url 的属性,它的属性是一个返回值(就是后台的一个方法名),另外这个方法还需要两个辅助的方法,具体代码如下:

 public void JsonHtml()
{
//新建表
int sum = ;
DataTable dt = new DataTable();
DataColumn dc1 = new DataColumn("d1", Type.GetType("System.String"));
DataColumn dc2 = new DataColumn("d2", Type.GetType("System.String"));
DataColumn dc3 = new DataColumn("d3", Type.GetType("System.String"));
dt.Columns.Add(dc1);
dt.Columns.Add(dc2);
dt.Columns.Add(dc3);
//循环添加数据
for (int i = ; i < sum + ; i++)
{
DataRow dr = dt.NewRow();
dr["d1"] = "2015-10-20";
dr["d2"] = "排位赛 第" + i + "场";
dr["d3"] = "10杀 0死 0助攻";
dt.Rows.Add(dr);
}
//设置表的页码,如果缺失,会导致数据无法显示
int pageIndex = Convert.ToInt32(Request["pageIndex"]);
int pageSize = Convert.ToInt32(Request["pageSize"]);
//将数据转换相应的格式
ArrayList AlData = DataTableToArrayList(dt);
int index = pageIndex, size = pageSize;
ArrayList data = new ArrayList();
int start = index * size, end = start + size;
for (int i = , l = AlData.Count; i < l; i++)
{
Hashtable record = (Hashtable)AlData[i];
if (record == null) continue;
if (start <= i && i < end)
{
data.Add(record);
}
}
Hashtable result = new Hashtable();
result["data"] = data;
result["total"] = sum;
//输出数据和总条数
Response.Write(MyEncode(result));
}

后台JsonHtml()

 public static string MyEncode(object o)
{
if (o == null || o.ToString() == "null") return null;
if (o != null && (o.GetType() == typeof(String) || o.GetType() == typeof(string)))
{
return o.ToString();
}
IsoDateTimeConverter dt = new IsoDateTimeConverter();
dt.DateTimeFormat ="yyyy'-'MM'-'dd'T'HH':'mm':'ss";
return JsonConvert.SerializeObject(o, dt);
}

后台MyEncode()

 private static ArrayList DataTableToArrayList(DataTable data)
{
ArrayList array = new ArrayList();
for (int i = ; i < data.Rows.Count; i++)
{
DataRow row = data.Rows[i];
Hashtable record = new Hashtable();
for (int j = ; j < data.Columns.Count; j++)
{
object cellValue = row[j];
if (cellValue.GetType() == typeof(DBNull))
{
cellValue = null;
}
record[data.Columns[j].ColumnName] = cellValue;
}
array.Add(record);
}
return array;
}

后台DataTableToArrayList()

3> 接下来我们就可以运行编译,查看效果了,值得注意的是: 官网所给出属性列表很多,需要的样式需要仔细调试,比如显示分页...就得多看它的API了。

技术文档:http://miniui.com/docs/api/index.html

第一次如此欢快的写技术文档,如有纰漏,还请指正!

MiniUI中DataGrid数据的载入的更多相关文章

  1. 利用Aspose.Cells完成easyUI中DataGrid数据的Excel导出功能

    我准备在项目中实现该功能之前,google发现大部分代码都是利用一般处理程序HttpHandler实现的服务器端数据的Excel导出,但是这样存在的问题是ashx读取的数据一般都是数据库中视图的数据, ...

  2. silverlight中datagrid数据到处excel

    首先新建一个DataGrdiExtensions类,代码为: public static class DataGridExtensions { /// <summary> /// 导出dg ...

  3. silverlight中DataGrid数据高亮显示

    效果如图所示, <UserControl xmlns:controls="clr-namespace:System.Windows.Controls;assembly=System.W ...

  4. 【原创】flash中DataGrid数据列显示顺序的解决办法(非数据排序)

    今天在用flash做一个简单的地图展示功能,需要把xml绑定到DataGrid,完成后,又仔细看了几遍,发现列的顺序不对,准确的说是不稳定,不固定,于是在网上查了一下,没有相关的内容.于是自己研究了一 ...

  5. 第二百二十二节,jQuery EasyUI,DataGrid(数据表格)组件

    jQuery EasyUI,DataGrid(数据表格)组件 学习要点: 1.加载方式 2.分页功能 本节课重点了解 EasyUI 中 DataGrid(数据表格)组件的使用方法,这个组件依赖于 Pa ...

  6. DataGrid( 数据表格) 组件[9]

    本节课重点了解 EasyUI 中 DataGrid(数据表格)组件的使用方法,这个组件依赖于Panel(面板).Resizeable(调整大小).LinkButton(按钮).Pageination( ...

  7. DataGrid( 数据表格) 组件[8]

    本节课重点了解 EasyUI 中 DataGrid(数据表格)组件的使用方法,这个组件依赖于Panel(面板).Resizeable(调整大小).LinkButton(按钮).Pageination( ...

  8. DataGrid( 数据表格) 组件[7]

    本节课重点了解 EasyUI 中 DataGrid(数据表格)组件的使用方法,这个组件依赖于Panel(面板).Resizeable(调整大小).LinkButton(按钮).Pageination( ...

  9. DataGrid( 数据表格) 组件[6]

    本节课重点了解 EasyUI 中 DataGrid(数据表格)组件的使用方法,这个组件依赖于Panel(面板).Resizeable(调整大小).LinkButton(按钮).Pageination( ...

随机推荐

  1. centos 安装 opencv-3.1.0

    官方安装教程 http://docs.opencv.org/3.1.0/d9/d52/tutorial_java_dev_intro.html#gsc.tab=0 注意要先安装jdk和apache a ...

  2. javascript:算法之for循环

    一.for中的表达式 ①短路表达式 a && b是表达式:当执行的时候如果表达式a结果不是0,就会执行表达式b.如果表达式a执行的结果是0,表达式b不执行 ②i++与++i的不同 ++ ...

  3. c#解析xml

    贴代码 xml <?xml version="1.0" encoding="utf-8" ?> <CoInfo Name="Bota ...

  4. C#中文件多选 批量下载

    public class MyNameTransfom : ICSharpCode.SharpZipLib.Core.INameTransform { #region INameTransform 成 ...

  5. 阿里云服务器Linux CentOS安装配置(六)resin多端口配置、安装、部署

    阿里云服务器Linux CentOS安装配置(六)resin多端口配置.安装.部署 1.下载resin包 http://125.39.66.162/files/2183000003E08525/cau ...

  6. IBM 3090 with Vector Facility

    COMPUTER OR GANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION

  7. Image模块

    1.创建一个新的图片 Image.new(mode,size) Image.new(mode,size,color) 2.层叠图片 层叠两个图片,img1和img2,alpha是一个介于[0,1]的浮 ...

  8. centos 查看版本(转)

    # lsb_release -aLSB Version:    :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch ...

  9. VS2013自带的Browser Link功能引发浏览localhost网站时不停的轮询

    浏览localhost网站时候不管你打开那个页面它都会不停的轮询.据悉这是VS2013自带的Browser Link功能,里面用到SignalR机制 什么是Browser Link功能,什么是Sign ...

  10. 关于checkbox的一些问题(全选,反选,以及取值)

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...