MiniUI DataGrid使用 - MVC

1.效果展示:



2.具体步骤:



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

 1 <link href="~/Content/StyleSheet1.css" rel="stylesheet" />
 2 <script src="~/Scripts/jquery-1.8.2.js"></script>
 3 <link href="~/Content/miniui.css" rel="stylesheet" />
 4 <script src="~/Scripts/miniui.js"></script>
 5 <link href="../../scripts/miniui/themes/blue/skin.css" rel="stylesheet" type="text/css" />
 6 <style type="text/css">
 7     table {
 8         margin-top: 0;
 9     }
10 </style>
11
12 <div id="datagrid1" class="mini-datagrid" style="width:600px;height:380px;" url="JsonHtml" allowresize="true" sizelist="[10,20,30,50]"
13 pagesize="10" allowcellselect="true" multiselect="true">
14     <div property="columns">
15         <div type="checkcolumn" headeralign="center" ="center"></div>
16         <div type="indexcolumn" headeralign="center" ="center">序号</div>
17         <div field="d1" headeralign="center" ="center" width="80">时间</div>
18         <div field="d2" headeralign="center" ="center" width="80">赛制</div>
19         <div field="d3" headeralign="center" ="center" width="80">战绩</div>
20     </div>
21 </div>

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

 1 public void JsonHtml()
 2 {
 3     int sum = 10;
 4     DataTable dt = new DataTable();
 5     DataColumn dc1 = new DataColumn("d1", Type.GetType("System.String"));
 6     DataColumn dc2 = new DataColumn("d2", Type.GetType("System.String"));
 7     DataColumn dc3 = new DataColumn("d3", Type.GetType("System.String"));
 8     dt.Columns.Add(dc1);
 9     dt.Columns.Add(dc2);
10     dt.Columns.Add(dc3);
11     for (int i = 1; i < sum + 1; i++)
12     {
13         DataRow dr = dt.NewRow();
14         dr["d1"] = "2015-10-20";
15         dr["d2"] = "排位赛 第" + i + "场";
16         dr["d3"] = "10杀 0死 0助攻";
17         dt.Rows.Add(dr);
18     }
19     int pageIndex = Convert.ToInt32(Request["pageIndex"]);
20     int pageSize = Convert.ToInt32(Request["pageSize"]);
21     ArrayList AlData = DataTableToArrayList(dt);
22     int index = pageIndex, size = pageSize;
23     ArrayList data = new ArrayList();
24     int start = index * size, end = start + size;
25     for (int i = 0, l = AlData.Count; i < l; i++)
26     {
27         Hashtable record = (Hashtable)AlData[i];
28         if (record == null) continue;
29         if (start <= i && i < end)
30         {
31             data.Add(record);
32         }
33     }
34     Hashtable result = new Hashtable();
35     result["data"] = data;
36     result["total"] = sum;
37     Response.Write(MyEncode(result));
38 }
39
40 public static string MyEncode(object o)
41 {
42     if (o == null || o.ToString() == "null") return null;
43
44     if (o != null && (o.GetType() == typeof(String) || o.GetType() == typeof(string)))
45     {
46         return o.ToString();
47     }
48
49     IsoDateTimeConverter dt = new IsoDateTimeConverter();
50     dt.DateTimeFormat ="yyyy‘-‘MM‘-‘dd‘T‘HH‘:‘mm‘:‘ss";
51     return JsonConvert.SerializeObject(o, dt);
52 }
53
54 private static ArrayList DataTableToArrayList(DataTable data)
55 {
56     ArrayList array = new ArrayList();
57     for (int i = 0; i < data.Rows.Count; i++)
58     {
59         DataRow row = data.Rows[i];
60         Hashtable record = new Hashtable();
61         for (int j = 0; j < data.Columns.Count; j++)
62         {
63             object cellValue = row[j];
64             if (cellValue.GetType() == typeof(DBNull))
65             {
66                 cellValue = null;
67             }
68             record[data.Columns[j].ColumnName] = cellValue;
69         }
70         array.Add(record);
71     }
72     return array;
73 }

3> 接下来我们就可以运行编译,查看效果了。

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

时间: 2024-10-20 13:41:39

MiniUI DataGrid使用 - MVC的相关文章

miniui datagrid 保存到服务端,使用.NET 自带 JSON 转换时发现日期格式不兼容。

使用 miniui datagrid 修改表格后,保存到服务端,然后使用 .NET 自带 JSON 转换,会抛出DateTime 内容“2015-12-27T11:02:28”未按 JSON 的要求以“\/Date(”开始并以“)\/”结束.异常,以下是解决方案: function saveData() { //前面代码略 var data = grid.getChanges(); var jsonArray = mini.decode(data);//转成json for (var i = 0

MiniUI DataGrid获取当前行某列值 - MVC

前言: 本文将给大家介绍一下, miniUI官网没有涉及到的内容:如何获取当前行某一列的值?这里配合着console.log()一起来使用(最近发现用console.log()来调试js.Jquery相当好用),教你如何自己寻找未知的属性. 程序需求: 需要知道当前选中行的某一列的值,然后选择性的去显示内容. 我们来看一下官网的API,看着挺好,但是都不适用. 转变思路: 一看官网API都没有,就想直接自己调试吧,凭着对Datagridview控件使用的感悟,打算找到table,然后索引出来行.

MiniUI DataGrid新增数据 - MVC

1.效果展示: ↓ 2.具体代码: 1 <script type="text/javascript"> 2 mini.parse(); 3 var grid = mini.get("divDatagrid"); 4 grid.load(); 5 6 function addDatarow() { 7 var row = { "text": "新增内容" }; 8 grid.addRow(row, 0); 9 gri

jQuery EasyUI DataGrid在MVC中的运用-基本属性并实现分页

※ datagrid的基本属性和方法  ※ datagrid分页在前后台的实现 最终效果:    与视图显示对应的view model   public class Book public string ItemId { get; set; } public string ProductId { get; set; } public decimal ListPrice { get; set; } public decimal UnitCost { get; set; } public strin

设置MiniUI Datagrid setData错误json error解决方法

背景公司购买的MiniUI,改造现有项目Table表格时,官网API未提供静态数据案例,导致各种失败 解决方案上官网论坛,看到有人说grid.load()是相对于url使用的,去掉就好了 正确的setData使用方法      <div id="datagridTable" class="mini-datagrid" style="width:100%;min-height: 300px;" allowResize="true&q

miniUI 可编辑datagrid获取值的问题

<div id="variableGrid" class="mini-datagrid" borderStyle="border-right:0px;border-top:0px;" style="height: auto;"> <div property="columns"> <div field="varCode" name="varCode&

(easyui datagrid+mvc+json)之asp.net分页查询

最近在做分页查询的功能,在网上也翻看了不少,但是自己的吸收能力就差了好多,而且当时最大的想法就是,怎么就没有我想要的那种,既是easyui的,又要用mvc的架构,还要能够实现底层的分页传值,用.net平台写的demo,那时就想,等我做出来了,我也要写一篇分页查询的博客,专门为了实现这种需求来做的demo. 效果图 前台view <table id="list_data" class="easyui-datagrid" style="width:107

asp.net mvc easyui datagrid分页

提到 asp.net mvc 中的分页,很多是在用aspnetpager,和easyui datagrid结合的分页却不多,本文介绍的是利用easyui 中默认的分页控件,实现asp.net mvc分页. easyui datagrid分页要求数据采用的格式 :{total:2,row:[]}, 在asp.net mvc 中服务器端只要返回这符合这样格式的json数据就好. 页面前端: 服务器端: 附带asp.net 结合 easyui 增删改查的例子: asp.net mvc easyui d

Asp.Net MVC EasyUI DataGrid查询分页

function doSearch() { //查询方法 var searchValue = $('#txtQueryTC001').textbox('getText'); $('#dgCMSTC').datagrid('options').queryParams = { condition: searchValue }; //initDataGrid(searchValue); $.ajax({ type: 'post', url: '/CMSTC/GetJson', data: 'condi