昨天在做 Jquery DataTables 的时候,遇到的一个问题,我使用MVC,在tables上加入了一个actionlink的href。但是在运行起来的时候,报错:

DataTables warning: Requested unknown parameter '3' from the data source for row 0

通过search一下网上大神们的解决方法,所以我就把blogs上的解决方法给copy过来了,这是原文链接地址 http://seaboycs.iteye.com/blog/2015230

希望能够帮助遇到同样问题的朋友,也给自己的工作总结一下

今天遇到一个Datatables常见的问题,搞了好久没弄好,查看baidu也没有成果,在google上查到了原因。

问题:

DataTables warning: Requested unknown parameter '3' from the data source for row 0

JS:

  1. function initializeEvents() {
  2. $('.datatable').dataTable({
  3. "sDom": "<'row-fluid'<'span6'l><'span6'f>r>t<'row-fluid'<'span12'i><'span12 center'p>>",
  4. "bServerSide" : true,
  5. "sAjaxSource" : "/uploadDemo/admin/photo/list.spring",
  6. "sServerMethod" : "POST" ,
  7. "bProcessing" : false,
  8. "bPaginate": true,
  9. "bLengthChange" : true,
  10. "iDisplayLength" : 10,
  11. "fnAdjustColumnSizing" : false,
  12. "bStateSave": false,
  13. "bSort":false,
  14. "bFilter":false,
  15. "aoColumnDefs" : makeCollumnDef(),
  16. "aoColumns" : makeCollomns(),
  17. "sPaginationType": "bootstrap",
  18. "oLanguage": {
  19. "sLengthMenu": "_MENU_ records per page"
  20. }
  21. } );
  22. }
  23. function makeCollumnDef() {
  24. return [
  25. { "fnRender" : function (oObj, sVal) {
  26. return oObj.aData.id;
  27. },
  28. "bVisible" : true ,
  29. "aTargets" : [ 0 ]
  30. },
  31. { "fnRender" : function (oObj, sVal) {
  32. return oObj.aData.name;
  33. },
  34. "bVisible" : true ,
  35. "aTargets" : [ 1 ]
  36. },
  37. { "fnRender" : function (oObj, sVal) {
  38. return "<img src='/uploadDemo/" +oObj.aData.path +"' width=50px height=40px />";
  39. },
  40. "bVisible" : true ,
  41. "aTargets" : [ 2 ]
  42. },
  43. { "fnRender" : function (oObj, sVal) {
  44. return createAction(oObj.aData.id);
  45. },
  46. "bVisible" : true ,
  47. "aTargets" : [ 3 ]
  48. }];
  49. }
  50. function makeCollomns(){
  51. return [{ "mDataProp" : "id", "sHeight":"15px"},
  52. { "mDataProp" : "name"},
  53. { "mDataProp" : "path"}}];
  54. }
  55. function createAction(id) {
  56. var inhtml = '<a class="btn btn-success" href="/uploadDemo/admin/photo/view.spring?id=' + id + '">';
  57. inhtml += '<i class="icon-zoom-in icon-white"></i>View</a> ';
  58. inhtml += '<a class="btn btn-info" href="/uploadDemo/admin/photo/preUpdate.spring?id=' + id + '">';
  59. inhtml += '<i class="icon-edit icon-white"></i>Edit</a> ';
  60. inhtml += '<a class="btn btn-danger" href="/uploadDemo/admin/photo/delete.spring?id=' + id + '">';
  61. inhtml += '<i class="icon-trash icon-white"></i>Delete</a>';
  62. return inhtml;
  63. }

参考了 https://gist.github.com/kagemusha/1660712 这个大神的解决方案:

意思就是 aoColumns 和 aoColumnDefs的个数必须相等,否则会出错,由于我在表格中加入了一个Action列,导致aoColumns 和 aoColumnDefs的数目不等,就出了上面的错,该法就比较简单:

在 Java Bean 中添加一个任意字段,把他添加到aoColumnDefs 就好了。

  1. public class PhotoBean {
  2. private int id;
  3. private String name;
  4. private String path;
  5. private String checked;
  1. function makeCollomns(){
  2. return [{ "mDataProp" : "id", "sHeight":"15px"},
  3. { "mDataProp" : "name"},
  4. { "mDataProp" : "path"},
  5. { "mDataProp" : "checked"}];

我添加了一个checked的字符串,问题解决。

Jquery DataTables warning : Requested unknown from the data source for row 0的更多相关文章

  1. DataTables warning : Requested unknown parameter '5' from the data source for row 0

    在该项目中我使用了jquery.dataTables.js来作为我的前端数据表格. 表格的官网地址:https://www.datatables.net/ 一.jsp部分代码片段如下: <tab ...

  2. DataTables warning : Requested unknown parameter '0' from the data source for row 0错误

    在做datatables的项目,从后台取得数据后,返回给datatables界面时会报下面的错误: DataTables warning : Requested unknown parameter ' ...

  3. DataTables warning: table id=dataTable - Requested unknown parameter &#39;acceptId&#39; for row 0. For more

    重点内容 DataTables warning: table id=dataTable - Requested unknown parameter 'acceptId' for row 0. For ...

  4. DataTables warning requested unknown parameter

    This is possibly the most cryptic warning message that DataTables will show. It is a short error mes ...

  5. DataTables warning (table id = 'myTable'): Requested unknown parameter '0' from the data source for row 0

    第一种方式:不用在js里设置列Html: <table id="myTable"> <thead> <tr> <th>Title-1 ...

  6. data source 和initial catalog

    initial catalog与database的区别是什么Initial Catalog: DataBase: 两者没有任何区别只是名称不一样,就好像是人类的真实姓名与曾用名一样..都可以叫你. * ...

  7. DataTables warning: table id=data-table - Requested unknown parameter '3' for row 0.

    本文为博主原创,未经允许,不得转载: 在使用jquery 的datatable时,报错在页面弹出弹出框,并提示以下内容: DataTables warning: table id=data-table ...

  8. jquery dataTables.min.js API

    demo: http://datatables.net/release-datatables/examples/api/select_single_row.html 选择一行http://datata ...

  9. jquery datatables api (转)

    学习可参考:http://www.guoxk.com/node/jquery-datatables http://yuemeiqing2008-163-com.iteye.com/blog/20069 ...

随机推荐

  1. 服务器 IIS 发布网站 支持下载 apk 和 ipa

    方法/步骤   1 打开IIS服务管理器,找到服务器,右键-属性,打开IIS服务属性: 2 单击MIME类型下的"MIME类型"按钮,打开MIME类型设置窗口: 3 单击" ...

  2. 55.ERROR:Place:1136 - This design contains a global buffer instance…… non-clock load pins off chip

    ISE在布局布线时,出现下图所示错误. 对于"clock_dedicated_route”错误原因有两种情况: 1.  就是有一个时钟你没有放到全局时钟或者局部时钟的引脚,布局的时候不能把它 ...

  3. Java Day 13

    线程的状态 被创建 运行 冻结 消亡  被创建--start()--> 运行 运行----run()----> 消亡         stop() 运行---sleep(time)---& ...

  4. 四则运算三+psp0级表格

    一.题目 在四则运算二的基础上,选择一个方向进行拓展,我选择的是增加了答题模块 二.设计思路 1.在上次的基础上,增加了答题模块,每出现一道四则运算题目,便提醒输入结果,如果结果错误,就会提示错误 2 ...

  5. 小学生四则运算C/C++编程设计思想

    题目: 1.题目避免重复:        2.可定制(数量(打印方式)):        3.可控制下列参数:是否有乘除法.是否有括号.数值范围.加减有无负数.        除法有无余数.是否支持分 ...

  6. 单元测试篇----cppUnit的安装与使用

    在刚学习单元测试章节的时候,尝试着使用dev—c++来编译cppunit,但一直没成功,也尝试问过同学,一直没有很好的方法,因此浪费了不少时间.今天又耐心的尝式一下,意外成功了.以下是详细的安装步骤: ...

  7. 程序调试手段之gdb, vxworks shell

    调试一个程序主要用到的功能: 启动程序 设置函数断点 设置数据断点 单步执行 查看内存值 修改内存值 linux下的gdb,和vxworks下的shell 虽然使用方式和调试命令略有不同,但是都能满足 ...

  8. 使用 NIO.2 遍历目录下所有的Java文件

    package wellGrounded; import java.io.IOException; import java.nio.file.FileVisitResult; import java. ...

  9. python 数据结构-元组tuple

    tuple0=() #空 tuple1="wo", #元组中包括单个元素用, tuple2="monkey","cat","chi ...

  10. ExtJS登陆页面涉及到的几个问题

    1.如何在文本框中增加提示信息      输入框中无法直接使用tooltip,需要使用单独的代码 var tip = Ext.create('Ext.tip.ToolTip', { target : ...