NOVOTS KMS ´Ê»ã±í Glossary    ÁªÏµÎÒÃÇ Contact Us
²éѯ Search  
   
°´Àà±ðä¯ÀÀ Browse by Category
NOVOTS KMS .: ¹¤×÷Ðĵà .: ÔÚASP.NET MVC 4ÖÐʹÓÃKendo UI Grid

ÔÚASP.NET MVC 4ÖÐʹÓÃKendo UI Grid

Kendo UI ÊÇTelerikÍÆ³öµÄÒ»Ì×based on jQuery µÄ Framework£¬ÌṩÁËºÜ¶à¿Ø¼þ(Menu ¡¢Grid ¡¢ComboxµÈ...)£¬ µ×²ãÒÔHtml5 + jQuery À´´òÔ죬²¢ÇÒ¼æÈÝÓÚ¸÷´óä¯ÀÀÆ÷£¬°üº¬IE7¡¢IE8¡£Ïà¹Ø½éÉÜ¿ÉÒԲο¼AJAXʽÊý¾ÝÇåµ¥µÄÐÂÑ¡Ôñ-Kendo UI Grid¡£

ÒÔÏÂÄÚÈݲο¼Ì¨ÍåµÄºÚÀÏ´óµÄÎÄÕ£ºÔÚASP.NET MVC 4ÖÐʹÓÃKendo UI Grid

  1. ½¨Á¢Ò»¸öASP.NET MVC 4ר°¸
  • ʹÓÃNuGet°²×°KendoUIWeb¼°KendoGridBinder

image

  1. ´´½¨SimMemberInfo ModelÀ࣬·Åµ½ModelĿ¼ÏÂ

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Drawing;
using System.Reflection;

namespace MvcApplication2.Models
{
    public class SimMemberInfo
    {
        public string UserNo; //»áÔ±±àºÅ
        public string UserName; //»áÔ±Ãû³Æ
        public DateTime RegDate; //×¢²áÈÕÆÚ
        public int Points; //ÀÛ»ýµãÊý

        //Ä£ÄâÊý¾ÝÔ´
        public static List<SimMemberInfo> SimuDataStore = null;

        static SimMemberInfo()
        {
            Random rnd = new Random();
            //½èÓþßÃûÑÕÉ«Ãû³ÆÀ´²úÉúËæ»úÊý¾Ý
            string[] colorNames = typeof(Color)
                .GetProperties(BindingFlags.Static | BindingFlags.Public)
                .Select(o => o.Name).ToArray();
            SimuDataStore =
                colorNames
                .Select(cn => new SimMemberInfo()
                {
                    UserNo = string.Format("C{0:00000}", rnd.Next(99999)),
                    UserName = cn,
                    RegDate = DateTime.Today.AddDays(-rnd.Next(1000)),
                    Points = rnd.Next(9999)
                }).ToList();
        }
    }

}

  1. ÒªÒýÓÃKendo UI£¬ÐèÒªÔØÈë±ØÒªµÄJS¼°CSS£¬±à¼­App_Start/BundleConfig.cs£¬¼ÓÈëÒÔϳÌÐò:

         bundles.Add(new ScriptBundle("~/bundles/kendoUI").Include("~/Scripts/kendo/2012.1.322/kendo.web.min.js"));
         //¾­Êµ²â£¬SytleBundle virtualPath²ÎÊýʹÓÃ"2012.1.322"»áÓÐÎÊÌ⣬¹ÊÏòÉϰáÒÆÒ»²ã
         //½«/Content/kendo/2012.1.322µÄÄÚÈݰáÖÁContent/kendoÏ       
         bundles.Add(new StyleBundle("~/Content/kendo/css").Include("~/Content/kendo/kendo.common.min.css",     
             "~/Content/kendo/kendo.blueopal.min.css"
             ));

  ÓÉÓÚCSSÎļþ·¾¶»á±»µ±³ÉͼƬÎļþµÄ»ù×¼£¬Ô­±¾Kendo UIµÄ.css¼°Í¼Í¼Æ¬±»·ÅÔÚ~/Content/kendo/2012.1.322/Ï£¬ÀíÂÛÉÏStyleBundleÓ¦Éè³É"~/Content/kendo/2012.1.322/css¡±£¬²ÅÄÜÒýµ¼ä¯ÀÀÆ÷µ½¸ÃĿ¼ÏÂÈ¡ÓÃͼÎļþ¡£²»Ðҵأ¬ÎÒ·¢ÏÖStyleBundleµÄvirtualPath²ÎÊý³öÏÖ2012.1.322ʱ£¬»áµ¼ÖÂStyles.Render("~/Content/kendo/2012.1.322/css¡±)ʱ´«»ØHTTP 404´íÎó~ Ϊ¿Ë·þÎÊÌ⣬ÎÒ¾ö¶¨½«2012.1.322Ŀ¼µÄÄÚÈÝÏòÉϰáÒ»²ã£¬Ö±½Ó·ÅÔÚ~/Content/kenoĿ¼Ï£¬²¢½«virtualPathÉè³É"~/Content/kendo/css"£¬ÕâÑù¾ÍÄܱܿªÎÊÌâ¡£

ÔÚ~/Views/Shared/_Layout.cshtmlÖÐ:

<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width" />
    <title>@ViewBag.Title</title>
    @Styles.Render("~/Content/themes/base/css", "~/Content/css", "~/Content/kendo/css") 
    @Scripts.Render("~/bundles/modernizr")  
</head>
<body>
    @RenderBody()

    @Scripts.Render("~/bundles/jquery", "~/bundles/kendoUI")
    @RenderSection("scripts", required: false)
</body>
</html>

  • ÔÚIndex.cshtmlµÄ´úÂëÈçÏ£º

@section Scripts
{
    <style>
        body { font-size: 9pt; }
        #dvGrid { width: 500px; }
        span.hi-lite { color: red; }
        #dvGrid th.k-header { text-align: center; }
    </style>
    <script>
        $(function () {
            //½¨Á¢Êý¾ÝÔ´¶ÔÏó
            var dataSrc = new kendo.data.DataSource({
                transport: {
                    read: {
                        //ÒÔÏÂÆäʵ¾ÍÊÇ$.ajaxµÄ²ÎÊý
                        type: "POST",
                        url: "/Home/Grid",
                        dataType: "json",
                        data: {
                            //¶îÍâ´«ÖÁºó·½µÄ²ÎÊý
                            keywd: function () {
                                return $("#tKeyword").val();
                            }
                        }
                    }
                },
                schema: {
                    //È¡³öÊý¾ÝÊý×é
                    data: function (d) { return d.data; },
                    //È¡³öÊý¾Ý×ܱÊÊý(¼ÆËãÒ³ÊýÓÃ)
                    total: function (d) { return d.total; }
                },
                pageSize: 10,
                serverPaging: true,
                serverSorting: true
            });
            //JSONÈÕÆÚת»»
            var dateRegExp = /^\/Date\((.*?)\)\/$/;
            window.toDate = function (value) {
                var date = dateRegExp.exec(value);
                return new Date(parseInt(date[1]));
            }
            $("#dvGrid").kendoGrid({
                dataSource: dataSrc,
                columns: [
                    { field: "UserNo", title: "»áÔ±±àºÅ" },
                    { field: "UserName", title: "»áÔ±Ãû³Æ",
                        template: '#= "<span class=\\"u-name\\">" + UserName + "</span>" #'
                    },
                    { field: "RegDate", title: "¼ÓÈëÈÕÆÚ",
                        template: '#= kendo.toString(toDate(RegDate), "yyyy/MM/dd")#'
                    },
                    { field: "Points", title: "ÀÛ»ýµãÊý" },
                ],
                sortable: true,
                pageable: true,
                dataBound: function () {
                    //AJAXÊý¾ÝBindÍê³Éºó´¥·¢
                    var kw = $("#tKeyword").val();
                    //ÈôÓÐÉè¹Ø¼ü´Ê£¬×öHighlight´¦Àí
                    if (kw.length > 0) {
                        var re = new RegExp(kw, "g");
                        $(".u-name").each(function () {
                            var $td = $(this);
                            $td.html($td.text()
                           .replace(re, "<span class='hi-lite'>$&</span>"));
                        });
                    }
                }
            });
            //°´Ï²éѯť
            $("#bQuery").click(function () {
                //ÒªÇóÊý¾ÝÔ´ÖØÐ¶ÁÈ¡(²¢Ö¸¶¨ÇÐÖÁµÚÒ»Ò³)
                dataSrc.read({ page: 1, skip: 0 });
                //GridÖØÐÂÏÔʾÊý¾Ý
                $("#dvGrid").data("kendoGrid").refresh();
            });
        });
    </script>
}
<div style="padding: 10px;">
    ¹Ø¼ü´Ê:
    <input id="tKeyword" /><input type="button" value="²éѯ" id="bQuery" />
</div>
<div id="dvGrid">
</div>

  • HomeController.csµÄGrid() Action £º

      public JsonResult Grid(KendoGridRequest request, string keywd)
      {
          var result = SimMemberInfo.SimuDataStore.Where(o => o.UserName.Contains(keywd));
          return Json(new KendoGrid<SimMemberInfo>(request, result));
      }

     Ö»Òªreturn Json(new KendoGrid<T>(KendoGridRequest, IEnumerable<T>))£¬ÓàÏµĻ»Ò³¡¢ÅÅÐò£¬ÉõÖÁ×ֶιýÂ˹¦ÄÜ£¬¾Í¶¼½»¸øKendoGridBinderȫȨ´¦À톪!


ÕâÆªÎÄÕ¶ÔÄã¶àÓÐÓã¿

Ïà¹ØÎÄÕÂ

article ÈçºÎʹÓÃextjs¹¹½¨grid
ʹÄãµÄGridÕý³£¹¤×÷£¬Äú±ØÐë¾ß±¸ÒÔÏÂÌõ¼þ:1.- A...

(No rating)  3-31-2011    Views: 1489   
article ÔÚasp.netÖÐÖ´Ðд洢¹ý³Ì
ÉùÃ÷:±¾ÀýÓõÄÊý¾Ý¿âÊÇϵͳÌṩµÄpubsÊý¾Ý¿â,±íÊÇÊ...

(No rating)  7-30-2011    Views: 1066   
article kendoUI Grid dataSourceÖØÐ¼ÓÔØ
Èç¹ûÎÒÃǸüÐÂÁËDataSourceµÄÊý¾Ýºó£¬Ö»ÐèÒªÖØÐ¼ÓÔ...

(No rating)  6-24-2014    Views: 946   

Óû§ÆÀÓï

Ìí¼ÓÆÀÓï
µ±Ç°»¹Ã»ÓÐÆÀÓï.


.: .: .: .: .:
[ 怫 ]
±±¾©»¤º½¿Æ¼¼ÓÐÏÞ¹«Ë¾ 2006

Novots Technologies Limited