MiniUI中DataGrid数据的载入
本文将介绍一下,在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数据的载入的更多相关文章
- 利用Aspose.Cells完成easyUI中DataGrid数据的Excel导出功能
我准备在项目中实现该功能之前,google发现大部分代码都是利用一般处理程序HttpHandler实现的服务器端数据的Excel导出,但是这样存在的问题是ashx读取的数据一般都是数据库中视图的数据, ...
- silverlight中datagrid数据到处excel
首先新建一个DataGrdiExtensions类,代码为: public static class DataGridExtensions { /// <summary> /// 导出dg ...
- silverlight中DataGrid数据高亮显示
效果如图所示, <UserControl xmlns:controls="clr-namespace:System.Windows.Controls;assembly=System.W ...
- 【原创】flash中DataGrid数据列显示顺序的解决办法(非数据排序)
今天在用flash做一个简单的地图展示功能,需要把xml绑定到DataGrid,完成后,又仔细看了几遍,发现列的顺序不对,准确的说是不稳定,不固定,于是在网上查了一下,没有相关的内容.于是自己研究了一 ...
- 第二百二十二节,jQuery EasyUI,DataGrid(数据表格)组件
jQuery EasyUI,DataGrid(数据表格)组件 学习要点: 1.加载方式 2.分页功能 本节课重点了解 EasyUI 中 DataGrid(数据表格)组件的使用方法,这个组件依赖于 Pa ...
- DataGrid( 数据表格) 组件[9]
本节课重点了解 EasyUI 中 DataGrid(数据表格)组件的使用方法,这个组件依赖于Panel(面板).Resizeable(调整大小).LinkButton(按钮).Pageination( ...
- DataGrid( 数据表格) 组件[8]
本节课重点了解 EasyUI 中 DataGrid(数据表格)组件的使用方法,这个组件依赖于Panel(面板).Resizeable(调整大小).LinkButton(按钮).Pageination( ...
- DataGrid( 数据表格) 组件[7]
本节课重点了解 EasyUI 中 DataGrid(数据表格)组件的使用方法,这个组件依赖于Panel(面板).Resizeable(调整大小).LinkButton(按钮).Pageination( ...
- DataGrid( 数据表格) 组件[6]
本节课重点了解 EasyUI 中 DataGrid(数据表格)组件的使用方法,这个组件依赖于Panel(面板).Resizeable(调整大小).LinkButton(按钮).Pageination( ...
随机推荐
- java并发控制:lock
一.synchronized的缺陷 synchronized是java中的一个关键字,也就是说是Java语言内置的特性.那么为什么会出现Lock呢? 在上面一篇文章中,我们了解到如果一个代码块被syn ...
- ssh项目部署到weblogic中问题总结
部署到weblogic还是比较费劲的 ,不过基本上问题全是由于classloader顺序的问题引起的. 首先在web-inf底下添加weblogic.xml文件如下 <?xml version= ...
- iTop Webservice列表
{ u'operations':[ { u'verb':u'core/create', u'description':u'Create an object', u'extension':u'CoreS ...
- Hyper-V~双网卡设置
Windows: Win10 有线网卡+无线网卡各一块 Hyper-V: 10.0.10240.16384 公司网络服务器180网段,公网192.168.0.*网段 家里网络:192.168.1.*网 ...
- IBM 3090 with Vector Facility
COMPUTER OR GANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION
- 抓包工具fiddler
具体的可以看这个链接,后来补充了些东西,cnblog复制图片太麻烦了 http://note.youdao.com/yws/public/redirect/share?id=37f8556270b44 ...
- C#实现对远程服务器的内存和CPU监控
C#实现对远程服务器的内存和CPU监控小记 1. 主要使用到的组件有System.Management.dll 2. 主要类为 :ManagementScope 连接远程服务器示例代码: priv ...
- Java中的Atomic包使用指南
Atomic包介绍 在Atomic包里一共有12个类,四种原子更新方式,分别是原子更新基本类型,原子更新数组,原子更新引用和原子更新字段.Atomic包里的类基本都是使用Unsafe实现的包装类. 原 ...
- CDN技术详解
CDN,全称为Content DeliveryNetwork,中文意为"内容分发网络"".通过将网络内容发布到最靠近用户的『边缘节点』,使不同地区的用户在访问相同页面.图 ...
- windows2008吃尽内存的解决办法
最近才用上windows2008,之前一直用的是windows2003,发现系统运行一段时间后,内存吃紧,赶紧打开资源查看器,发现当前运行的程序占有内存都很小,后经查资料,原来是被windows200 ...