其实easyuidatagrid加载数据只有两种方式:一种是ajax加载目标url返回的json数据;另一种是加载js对象,也就是使用loadDate方法,这种方法用于加载本地js数据(非url调用)。在项目中我用到的以及研究别人代码中用到的普遍是第一种,下面就分别对他们进行总结。

一、ajax加载目标url返回的json数据

首先明确,通过ajax加载目标url返回的值不一定是json格式,在http://blog.csdn.net/luckystar689/article/details/51107388 这篇文章中,楼主向我们介绍了MVC中传值返回到View的集中数据格式,对于这篇博客的思考,对于下拉框、表格、text框我们该传递何种类型的数据进行总结。而对于datagrid我们选择用json进行返回值传递。

形式一:

<span style="font-family:Microsoft YaHei;font-size:14px;">function SelectSubsidiary() {//获取类别var CadresType = $('#DictionaryName12').combobox('getText');//获取所属单位var SubsidiaryName = $('#UnitName1234').combobox('getText');$('#dg').datagrid({url: '/CadresBasicInfo/SelectSubsidiaryName?CadresType=' + CadresType + '&SubsidiaryName =' + SubsidiaryName});//刷新表格$("#dg").datagrid("reload");
}
</span>

该形式直接通过JQuery EasyUI的datagrid方法进行传值,在url中需要注意当传递多个参数的时候,引号之内不能有空格,就像这样:

<span style="font-family:Microsoft YaHei;font-size:14px;">        url: '/CadresBasicInfo/SelectSubsidiaryName?CadresType=' + CadresType + '&SubsidiaryName =' + SubsidiaryName
</span>

在Controller当中我们所写的接受View的代码是这样的:

<span style="font-family:Microsoft YaHei;font-size:14px;"> string SubsidiaryName = Request["SubsidiaryName"];</span>

在此处会出现一个问题,我在传值的时候注意到代码规范中“=”的两侧是要有空格的,但是实际上传到Controller中的变量却是"SubsidiaryName ",多出的一个空格,让我在传递多个参数时候在Controller中仅仅能够收到一个值,这种方式需要小心这一点。

形式二:

<span style="font-family:Microsoft YaHei;font-size:14px;">  $.post("/CadresBasicInfo/EditCadresBasicInfo",{"sex": sex, "dictionaryname": dictionaryname, "education": education, "principle": principle, "id": id, "name": name, "position": position, "workexperience": workexperience, "birthday": birthday, "worktime": worktime, "partytime": partytime, "tel": tel},function (result) {if (result) {$.messager.alert('提示消息', '县市区基本信息编辑成功!', 'info')$("#editCadresBasicWindow").window("close");$("#dg").datagrid("reload");} else {$.messager.alert('提示消息', '县市区基本信息编辑失败!', 'warning')}})
</span>

在js里面可以应用ajax方法,通过地址(/controllor/action),发送post或get请求,执行地址对应的control下的某个action。注意,此时传递多个参数,通过{"param1":A,"param2":B}的方式,相对于形式一url的传参方式,格式上更加合理,出错概率也低。

对于Controller的返回值的处理,除了通过判断result的真假方法之外,通过写success ,complete , failed也可以来进行判断。

二、loadDate方法

该方法作为datagrid表格加载的扩展,在考试系统代码中有用到:

<span style="font-family:Microsoft YaHei;font-size:14px;">function doSearch(value) {var flag=(value != "");if (flag) {var grid = $('#dg');var options = grid.datagrid('getPager').data("pagination").options;var curr = options.pageNumber;var pageSize = options.pageSize;$.ajax({type: "POST", //提交数据的类型 分为POST和GETasync: false,url: "/QuestionType/FuzzyQueryQuestionType",  //提交url 注意url必须小写data: { "SearchContent": value, "pageSize": pageSize, "pageIndex": curr },success: function (data) {var jsondata = eval(data);//var jsData = (new Function("", "return " + data))();$('#dg').datagrid('loadData', data);}});return;}</span>

显然,$('#dg').datagrid('loadDate',date)这句中的date已经在date:{"SearchContent":value,"pageSize":pageSize}规定为一个json字符串,所以LoadDate方法加载的仅仅是本地js的数据,而且最终加载的data值需要转换成json对象,而不是json字符串。

<span style="font-family:Microsoft YaHei;font-size:14px;">var data = '{"total":1,"rows":[{"id":"001","name":"Vincent","role":"吉他手"}]}';
data = JSON.parse(data);//转换成json对象
$('#dg').datagrid('loadData', data); </span>

至此,应用MVC之后对于datagrid的数据加载,目前项目中的应用就这些。

【颗粒归仓】(一)jQuery easyui datagrid 的数据加载相关推荐

  1. easyui datagrid 的数据加载

    这篇文章只谈jQuery easyui datagrid 的数据加载,因为这也是大家谈论最多的内容.其实easyui datagrid加载数据只有两种方式:一种是ajax加载目标url返回的json数 ...

  2. jQuery EasyUI DataGrid Checkbox 数据设定与取值

    纯粹做个记录,以免日后忘记该怎么设定. 这一篇将会说明两种使用 jQuery EasyUI DataGrid 的 Checkbox 设定方式,以及在既有数据下将 checked 为 true 的该笔数 ...

  3. easyui中的datagrid的数据加载的问题

    我们在第一次使用easyui的datagrid的url加载所需的数据时,如果第二次加载数据我们使用的不是ulr而是数据返回结果进行加载的时候$("#div").datagird(' ...

  4. JQuery插件:遮罩+数据加载中。。。(特点:遮你想遮,罩你想罩)

    在很多项目中都会涉及到数据加载.数据加载有时可能会是2-3秒,为了给一个友好的提示,一般都会给一个[数据加载中...]的提示.今天就做了一个这样的提示框. 先去jQuery官网看看怎么写jQuery插 ...

  5. WPF Datagrid 大量数据加载问题

    需求:自定义Datagrid样式加载大量数据,至少5000条,加载速度的快慢统计? 第一步:自定义Datagrid样式 这个就不多说了,可以参照以下这篇博客,代码什么都有,根据自己想要的样式修改就行 ...

  6. ThinkPHP+jQuery EasyUI Datagrid查询数据的简单处理

    ThinkPHP和jQuery EasyUI这两个都是不错的框架,现在要把它两个整合到一块,做个简单的Ajax调用查询. 在ThinkPHP模板中引入EasyUI的相关文件,然后设置按钮3的调用: & ...

  7. jquery easyui DataGrid 数据表格 属性

    扩展自 $.fn.panel.defaults ,用 $.fn.datagrid.defaults 重写了 defaults . 依赖 panel resizable linkbutton pagin ...

  8. easyui datagrid数据加载缓慢问题,优化方法

    问题:数据列表展示,主从表展示,多表展示.每个表10行,10-20列.谷歌浏览器.页面加载速度大于5S 解决方法1:列宽度设为固定值,取消自适应.页面加载速度低于2S 参考于:http://www.o ...

  9. 让jquery easyui datagrid列支持绑定嵌套对象

    嵌套对象是指返回的json数据,是对象的某个属性自带有属性.而我们恰恰又需要这个属性,默认情况下easyui的datagrid是不支持绑定嵌套对象的.比如:datagrid的field属性只能为fie ...

  10. jQuery EasyUI datagrid实现本地分页的方法

    本文实例讲述了jQuery EasyUI datagrid实现本地分页的方法.分享给大家供大家参考.具体如下: 一般分页都是后台做,前端做无论从哪方面考虑都不合适.但是有的时候还是有这种需求. 这里重 ...

最新文章

  1. Golang 垃圾回收机制
  2. 腾讯云直播sdk_官方推荐 | 2分钟带你认识腾讯云直播 CSS
  3. 第三方支付平台源码 商业支付源码
  4. axios的请求配置
  5. shell脚本面试题
  6. 【英语学习】【Level 07】U03 Amazing wonders L4 The Qin Dynasty legacy
  7. Javascript综合应用小案例
  8. pip 指定版本安装
  9. 【论文详解】词向量ELMo: Embeddings from Language Models
  10. 网站视频链接自动提取下载
  11. 从内存原理的角度深入解析 JS 中变量存储在堆中还是栈中
  12. 【转】京东抢购服务高并发实践
  13. 网页中在线玩街头霸王
  14. Gearman 性能调优
  15. 提取邮件内容 html,整个Html内容以邮件的方式发送出去(取出标签包含的用户输入信息)...
  16. Mac Charles抓包配置
  17. CAD绘图次序调整 绘图次序置底 c#
  18. 东北大学计算机郭军,东北大学教师信息表.doc
  19. 3D【7】人脸重建:Hands on Shape from Shading阅读笔记
  20. 不会盲打的程序员和不懂技术的 CTO

热门文章

  1. 对训练样本分布不均的思考
  2. unity 简易太空大战
  3. HDU5510 Bazinga(KMP)
  4. Gris游戏开发-day03
  5. C++ builder 添加资源文件
  6. Java 实现图片上面添加文字
  7. 【spring事务管理】
  8. SQL Server研习录(20)——FLOOR()函数
  9. autoit java_AutoIt3客户端和Java服务器端TCP通信
  10. windows server 12 r2用Hyper-v安装centos7