Grid 改编自剑道UI音乐商店的示例不起作用

Grid 改编自剑道UI音乐商店的示例不起作用,grid,kendo-ui,Grid,Kendo Ui,我是stackoverflow的新手,剑道UI的新手,web开发的新手。。。我是昨天出生的:)。开玩笑我的问题其实不是一个问题,我知道论坛对具体问题的规定,但我需要帮助 我的问题是: 我修改了剑道UI MVC音乐商店教程,但使用了MVC ASP.net(我使用Delphi),它不起作用 我有两个文件: Category.html <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="

我是stackoverflow的新手,剑道UI的新手,web开发的新手。。。我是昨天出生的:)。开玩笑我的问题其实不是一个问题,我知道论坛对具体问题的规定,但我需要帮助

我的问题是:

我修改了剑道UI MVC音乐商店教程,但使用了MVC ASP.net(我使用Delphi),它不起作用

我有两个文件:

Category.html

   <!DOCTYPE html>
   <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
     <head>
       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

       <title>Administración de Categorías</title>

       <link href="kendo/styles/kendo.common.min.css" rel="stylesheet" type="text/css" />
       <link href="kendo/styles/kendo.default.min.css" rel="stylesheet" type="text/css" />

       <link rel="stylesheet" href="css/menuvir.css" type="text/css"/>

       <script src="kendo/js/jquery.min.js" type="text/javascript"></script>
       <script src="kendo/js/kendo.web.min.js" type="text/javascript"></script>

     </head>

     <body>

       <div id="categGrid"></div>

       <script src="js/category.js type="text/javascript"></script>      

     </body>
   </html>

分类管理

首先,JQuery试图在HTML中不存在的ID上创建KendoGrid

$("#categGrid").kendoGrid( 
与HTML中的任何内容都不匹配。你是说

 $("#grid").kendoGrid({
哪个会找到

<div id="grid"></div>

我解决了这个问题。我改变了一些我适应错误的选项

这就是有效的代码

(function (window, $, kendo) {
  var getCategAsync = function () {
      var deferred = $.Deferred(),

          translateCateg = function (data) {
              deferred.resolve($.map(data.items, function(item) {
                  return {
                      value: item.ID,
                      text: item.Description
                  };
              }));
          },

          loadCateg = function () {
              new kendo.data.DataSource({
                  transport: {
                      read: {
                        url: "/w/Category?select=ID,Description",
                        dataType: "json",
                        type: "GET"
                      }
                  },
                  schema: {
                      data: 'result'/*,
                      total: store.config.wcfSchemaTotal*/
                  }
              }).fetch(function (data) {
                  translateCateg(data);
              });
          };

      window.setTimeout(loadCateg, 1);
      return deferred.promise();
  };

  var getLangAsync = function () {
      var deferred = $.Deferred(),

          translateLang = function (data) {
              deferred.resolve($.map(data.items, function(item) {
                  return {
                      value: item.ID,
                      text: item.Description
                  };
              }));
          },

          loadLang = function () {
              new kendo.data.DataSource({
                  transport: {                      
                      read: {
                        url: "/w/Language?select=ID,Description",
                        dataType: "json",
                        type: "GET"
                      }
                  },
                  schema: {
                      data: 'result'/*,
                      total: store.config.wcfSchemaTotal*/
                  }
              }).fetch(function (data) {
                  translateLang(data);
              });
          };

      window.setTimeout(loadLang, 1);
      return deferred.promise();
  };

  var initGrid = function (categs, langs, categEditor, langEditor) {
      $("#categGrid").kendoGrid({
          sortable: true,
          groupable: false, //true,
          filterable: false, //true,
          pageable: true,
          editable: "inline",
          toolbar: ["create"],

          dataSource: {
              type: "json",
              pageSize: 10,
              serverPaging: false, //true,
              serverFiltering: false, //true,
              serverSorting: false, //true,
              sort: { field: "SortOrder", dir: "asc" },
              transport: {                  
                  read: {
                      url: "/w/Category?select=*",
                      type: "GET",
                      dataType: "json"
                  }/*,
                  update: {
                      url: function(data) {
                        return "/w/Category?ID=" + data.ID;
                      },
                      contentType: "application/json",
                      type: "PUT"
                  },
                  destroy: {
                      url: function (data) {
                          return store.config.albumsUrl + "(" + data.AlbumId + ")";
                      },
                      type: "DELETE"
                  },
                  create: {
                      url: store.config.albumsUrl,
                      type: "POST" 
                  } */
              },
              schema: {
                  data: "result",
                  total: function(response) {
                    return response.result.length;
                  },
                  model: {
                      id: "ID",
                      fields: {
                          ID: { type: "number" },
                          Description: { type: "string", validation: {required: true} },
                          Language: { type: "number", defaultValue: 1 },
                          SortOrder: { type: "number", defaultValue: 0 },
                          Status: { type: "number", defaultValue: 0 },
                          Parent: { type: "number", defaultValue: 0 }
                      }
                  }
              },
          },

          columns: [
              { field: "ID", title: "ID", editable: false, filterable: false, width: 20 },
              { field: "Description", title: "Descripción", filterable: false, width: 150 },
              { field: "Language", title: "Idioma", values: langs, editor: langEditor, filterable: false, width: 50 },
              { field: "SortOrder", title: "Orden", filterable: false, width: 20 },
              { field: "Status", title: "Estado", filterable: false, width: 50 },
              { field: "Parent", title: "Subcategoría de", values: categs, editor: categEditor, filterable: false, width: 150 },
              { command: ["edit", "destroy"], title: "&nbsp;", width: "160px" }
          ]
      });
  };

  // Wait for both the genres and artists lists to load.
  $.when(getCategAsync(), getLangAsync())
      .done(function(categs, langs) {
          var categEditor = function (container, options) {
              $('<input data-text-field="text" data-value-field="value" data-bind="value:' + options.field + '" />')
                  .appendTo(container)
                  .kendoComboBox({
                      autoBind: false,
                      dataSource: categs
                  });
          };

          var langEditor = function (container, options) {
              $('<input data-text-field="text" data-value-field="value" data-bind="value:' + options.field + '" />')
                  .appendTo(container)
                  .kendoComboBox({
                      autoBind: false,
                      dataSource: langs
                  });
          };

          initGrid(categs, langs, categEditor, langEditor);
      });
})(window, jQuery, kendo);                      
(函数(窗口,$,剑道){
var getCategAsync=函数(){
var deferred=$.deferred(),
translateCateg=函数(数据){
延迟.resolve($.map(data.items),函数(item){
返回{
值:item.ID,
文本:项目。说明
};
}));
},
loadCateg=函数(){
新建kendo.data.DataSource({
运输:{
阅读:{
url:“/w/Category?select=ID,Description”,
数据类型:“json”,
键入:“获取”
}
},
模式:{
数据:“结果”/*,
总计:store.config.wcfSchemaTotal*/
}
}).fetch(函数(数据){
translateCateg(数据);
});
};
设置超时(loadCateg,1);
延迟返回。承诺();
};
var getLangAsync=函数(){
var deferred=$.deferred(),
translateLang=函数(数据){
延迟.resolve($.map(data.items),函数(item){
返回{
值:item.ID,
文本:项目。说明
};
}));
},
loadLang=函数(){
新建kendo.data.DataSource({
运输:{
阅读:{
url:“/w/Language?select=ID,Description”,
数据类型:“json”,
键入:“获取”
}
},
模式:{
数据:“结果”/*,
总计:store.config.wcfSchemaTotal*/
}
}).fetch(函数(数据){
翻译(数据);
});
};
setTimeout(loadLang,1);
延迟返回。承诺();
};
var initGrid=函数(categs、langs、categEditor、langEditor){
美元(“#categGrid”)。肯多格里德({
可排序:是的,
groupable:false,//true,
可筛选:false,//true,
pageable:对,
可编辑:“内联”,
工具栏:[“创建”],
数据源:{
键入:“json”,
页面大小:10,
serverPaging:false,//true,
serverFiltering:false,//true,
serverSorting:false,//true,
排序:{字段:“排序器”,目录:“asc”},
运输:{
阅读:{
url:“/w/类别?选择=*”,
键入:“获取”,
数据类型:“json”
}/*,
更新:{
url:函数(数据){
return“/w/Category?ID=“+data.ID;
},
contentType:“应用程序/json”,
类型:“PUT”
},
销毁:{
url:函数(数据){
返回store.config.albumsUrl+”(“+data.AlbumId+”);
},
类型:“删除”
},
创建:{
url:store.config.albumsUrl,
类型:“职位”
} */
},
模式:{
数据:“结果”,
总计:功能(响应){
返回response.result.length;
},
型号:{
id:“id”,
字段:{
ID:{type:“number”},
描述:{type:“string”,验证:{required:true},
语言:{类型:“数字”,默认值:1},
排序器:{type:“number”,默认值:0},
状态:{type:“number”,默认值:0},
父项:{type:“number”,默认值:0}
}
}
},
},
栏目:[
{字段:“ID”,标题:“ID”,可编辑:false,可过滤:false,宽度:20},
{字段:“描述”,标题:“描述”,可过滤:假,宽度:150},
{字段:“语言”,标题:“成语”,值:langs,编辑器:langEditor,可过滤:false,宽度:50},
{字段:“SortOrder”,标题:“Orden”,可过滤:false,宽度:20},
{字段:“状态”,标题:“Estado”,可过滤:false,宽度:50},
{字段:“父”,标题:“子类别”,值:categs,编辑器:categEditor,可过滤:false,宽度:150},
{命令:[“编辑”、“销毁”],标题:,宽度:“160px”}
]
});
};
//等待流派和艺术家