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( ...
随机推荐
- &与&&,|与||
http://bokeid.blog.163.com/blog/static/93102786201181710259178/ &&:逻辑运算符,连接两个或多个表达式,结果为TRUE或 ...
- SOA架构设计(转发)
阅读目录: 1.背景介绍 2.SOA的架构层次 2.1.应用服务(原子服务) 2.2.组合服务 2.3.业务服务(编排服务) 3.SOA化的重构 3.1.保留服务空间,为了将来服务的组合 4.运用DD ...
- 分享一个oraclehelper
分享一个拿即用的oraclehelper 首先要引用本机中的oralce access,如果是64位的话,也必须是64位运行,不然会报连接为空connection 等于null. using Orac ...
- Java实现MySQL数据库导入
距离上班还有一段时间.现在总结一下如何使用Java语言实现MySQL数据库导入: 首先新建名为test的数据库: 其次执行下面Java代码: import java.io.File; import j ...
- ZooKeeper 配置
# The number of milliseconds of each ticktickTime=2000 # The number of ticks that the initial# synch ...
- 创建两个对象的两种方法,一中\new,另外一种不new
方法一: String s1=new String("hello"); String s2=new String("hello"); 这里是new了 ...
- MySQL 一些查询语句及技巧
生成唯一随机数 # 非补0版本 SELECT FLOOR(100000 + RAND() * 899999) AS random_number FROM target_table WHERE &quo ...
- Angular-ngtable联动全选
之前于Angular第三方插件ngTable的官网demo上看到的例子,但苦于demo中联动全选为选中所有,项目中并不适用,因此做了下小小的修改,修改目的只是为实现其功能,方法不敢苟同,若有更加简便的 ...
- HTTPS 进阶
参考 一.中间人攻击 概念:攻击者插入到原本直接通信的双方,让双方以为还在直接跟对方通讯,但是实际上双方的通信对方已经变成中间人,信息已经被中间人获取或篡改. HTTPS 的攻击分为两类:SSL 连接 ...
- JS 数组去重复值
var arr1 = [90, 91, 92]; var arr2 = [80, 81]; var arr3 = [80, 71, 72, 73]; var arr = arr1.concat(50, ...