easyui datagrid 出现length的js错误

经常看到有datagrid控件的页面出现length的js错误【 ‘length‘ 为空或不是对象】,查找半天又找不到原因,使劲的在看是不是datagrid的js配置有问题,结果发现改死了也没用。

删掉datagrid的初始化js,后果然不出现这个js问题了,问题集中在datagrid中,

于是乎,打开js调试

看到

var _717=["<table class=\"datagrid-btable\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tbody>"];

for(var i=0;i<rows.length;i++){

var css=opts.rowStyler?opts.rowStyler.call(_712,i,rows[i]):"";

var _718="";

var _719="";

if(typeof css=="string"){

_719=css;

}else{

if(css){

_718=css["class"]||"";

_719=css["style"]||"";

}

}

罪魁祸首就是这个rows.length

打开监视看看rows,发现没定义

在往上找找看看rows怎么定义的

那看看_715.data是个怎么样子,

里面只有一个total,而且还是NaN,

看见这个total和rows,想到了,要到代码里要给datagrid设置total和rows的,回想到之前没找到数据的是时候没设置这两玩意,

设置这2参数后,一起正常啦。世界清静了。

时间: 2024-11-12 01:36:44

easyui datagrid 出现length的js错误的相关文章

easyUI datagrid的合并的js封装

$.extend($.fn.datagrid.methods, { autoMergeCells : function (jq, fields) { return jq.each(function () { var target = $(this); if (!fields) { fields = target.datagrid("getColumnFields"); } var rows = target.datagrid("getRows"); var i =

初识 easyui datagrid

首先应该下载好easyui datagrid所用的各种js 和css 这个可以到官网上去下载. 首先要引入datagrid所引入的js和css. <script src="js/jquery.min.js"></script><script src="js/jquery.easyui.min.js"></script><link rel="stylesheet" type="text

easyui Datagrid查询报错Uncaught TypeError:Cannot read property &#39;length&#39; of undefined

1.问题描述 easyui中datagrid执行loadData方法出现如下异常:Cannot read property 'length' of undefined 2.一开始怀疑是js或者页面的问题,然后从早上干到下午,网上各种方法用尽了就是不行! 最后发现规律了: 使用mybatis从数据库查询返回的List不报错,但是自己new的ArrayList总是报错! 后来发现原来mybatis返回的不是ArrayList!而是PageList! 3.解决问题 PageList中有个参数Pagin

easyui datagrid load 封装 参数问题 js 作用域

var temp = { LoginAccount: $('#LoginAccount').val(), ShopName: $('#ShopName').val() }; function doSearch1() { $('#datagrid').datagrid('load', temp); } function doSearch2() { $('#datagrid').datagrid('load', { LoginAccount: $('#LoginAccount').val(), Sh

[JS][easyui]jQuery EasyUI Datagrid VirtualScrollView视图简单分析

 大家都知道EasyUI的Datagrid组件在加载大数据量时的优势并不是很明显,相对于其他一些框架,如果数据量达到几千,便会比较慢,特别是在IE下面.针对这种情况,我们首要做的是要相办法优化datagrid组件的各方面性能,不过任何事情都是可以变通解决的,virtualScrollView就是一种不错的解决方案. virtualScrollView的准则就是尽量少画tr到table里,表格的高度是有限的,而用户的可见区域是很有限的,所以数据量很大的时候,是没有必要将所有数据数据都画到表格中

Jquery easyui datagrid增改删批量处理

<link href="~/Content/themes/default/easyui.css" rel="stylesheet" /> <link href="~/Content/themes/icon.css" rel="stylesheet" /> <script src="~/scripts/jquery.min.js"></script> <s

[转]easyui datagrid 批量编辑和提交

web前台主要代码: <script type="text/javascript"> $(function() { var $dg = $("#dg"); $dg.datagrid({ url : "servlet/list", width : 700, height : 250, columns : [ [ { field : 'code', title : 'Code', width : 100, editor : "v

JQuery EasyUI 学习——Struts2与EasyUI DataGrid数据表格结合使用显示数据库数据

因为EasyUI DataGrid只要取出后台传过来的一定格式的JSON数据,就可以在前台页面数据表格中,以一定形式显示数据库中的数据.此处,我们使用Struts2框架整合DataGrid,实现数据的显示. 一.页面内容 为了在页面中显示数据库中字段内容,需要定义一个table,通过EasyUI内部设计,自动显示数据,如下: <%@ page language="java" import="java.util.*" pageEncoding="UTF

easyui datagrid 批量编辑和提交

前台主要代码: <script type="text/javascript"> $(function() { var $dg = $("#dg"); $dg.datagrid({ url : "servlet/list", width : 700, height : 250, columns : [ [ { field : 'code', title : 'Code', width : 100, editor : "vali