本文将介绍一下,在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. IE8浏览器不能识别CSS伪类的解决办法。

    1. 方法一:开头加上这两句 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "htt ...

  2. 用 Python 排序数据的多种方法

    用 Python 排序数据的多种方法 目录 [Python HOWTOs系列]排序 Python 列表有内置就地排序的方法 list.sort(),此外还有一个内置的 sorted() 函数将一个可迭 ...

  3. Python环境安装

    Windows: 1.Python安装包下载 可以去官网下载安装包:https://www.python.org/downloads/ 2.Python安装 默认安装路径:C:\python27:也可 ...

  4. 使用rsync同步文件

    rsync是Unix/Linux下同步文件的一个高效算法,它能同步更新两处计算机的文件与目录,并适当利用查找文件中的不同块以减少数据传输.关于rsync的核心算法,有兴趣的看下这篇文章. 这里介绍一下 ...

  5. vim操作

    2.vi的基本操作 a) 进入vi    在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面: $ vi myfile 不过有一点要特别注意,就是您进入vi之后,是处于「命令行模式(comm ...

  6. Full exploitation of a cluster hardware configuration requires some enhancements to a single-system operating system.

    COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION Operating System Desi ...

  7. android studio 2.0 GPU Debugger使用说明

    GPU Debugger GPU Debugging Tools The GPU debugging tools are an experimental feature intended to hel ...

  8. selenium RC+JAVA 笔记 一

    selenium 常用操作有:open,type,click,select,selectFrame. package com.example.tests; import com.thoughtwork ...

  9. 2003-can't connect to mysql server on 'localhost'(10061) MySQL错误

    开始遇到这个问题,我以为是服务没链接,在网上查了下错误,但没解决,后来链接了下端口,结果发现我原来我 端口不对,MySQL端口默认是3306我安装时端口是设的3307.希望能帮到遇到这种问题的人

  10. 解决UIScrollView把uitableviewcell的点击事件屏蔽

    cell中 [self.contentView addSubview:self.scrollView]; self.scrollView.userInteractionEnabled = NO; [s ...