其实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进行返回值传递。

形式一:

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

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

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

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

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

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

形式二:

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

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

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

二、loadDate方法

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

  1. <span style="font-family:Microsoft YaHei;font-size:14px;">function doSearch(value) {
  2. var flag=(value != "");
  3. if (flag) {
  4. var grid = $('#dg');
  5. var options = grid.datagrid('getPager').data("pagination").options;
  6. var curr = options.pageNumber;
  7. var pageSize = options.pageSize;
  8. $.ajax({
  9. type: "POST", //提交数据的类型 分为POST和GET
  10. async: false,
  11. url: "/QuestionType/FuzzyQueryQuestionType",  //提交url 注意url必须小写
  12. data: { "SearchContent": value, "pageSize": pageSize, "pageIndex": curr },
  13. success: function (data) {
  14. var jsondata = eval(data);
  15. //var jsData = (new Function("", "return " + data))();
  16. $('#dg').datagrid('loadData', data);
  17. }
  18. });
  19. return;
  20. }</span>

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

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

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

jQuery easyui datagrid 的数据加载的更多相关文章

  1. [转载]再次谈谈easyui datagrid 的数据加载

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

  2. 谈谈easyui datagrid 的数据加载(转)

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

  3. 再次谈谈easyui datagrid 的数据加载

    from:http://www.easyui.info/archives/204.html 这篇文章只谈jQuery easyui datagrid 的数据加载,因为这也是大家谈论最多的内容.其实ea ...

  4. 谈谈easyui datagrid 的数据加载

    文章目录 1url方式加载数据 1.1调用方式 1.2相关方法 1.3二次加载问题 2加载本地数据方式 2.1调用方式 2.2如何分页 2.3加载中效果 2.4如何不统计总数 这篇文章只谈jQuery ...

  5. easyui datagrid 的数据加载Json数据

    var obj = {'total':100,'rows':[{id:'1',name:'一'},{id:'2',name:'二'}]}; $('#tt').datagrid('loadData',o ...

  6. jquery easyui easyui-treegrid 使用异步加载数据

    jquery easyui easyui-treegrid 使用异步加载数据 jquery easyui easyui-treegrid 异步请求 >>>>>>&g ...

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

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

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

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

  9. Jquery EasyUI datagrid后台数据表格生成及分页详解

    由于项目原因,网站后台需要对用户信息进行各种操作,有时还需要进行批量操作,所以首先需要将用户信息展示出来,查了不少资料.发现Jquery EasyUI确实是一个不错的选择,功能强大,文档也比较全面,而 ...

随机推荐

  1. 如何创建并发布一个 vue 组件

    步骤 创建 vue 的脚手架 npm install -g @vue/cli vue init webpack 绑定 git 项目 cd existing_folder git init git re ...

  2. 安装运行zookeeper的坑

    从官网下载zookeeper的地址中有俩文件 一个是apache-zookeeper-3.5.5.tar.gz ,另一个是apache-zookeeper-3.5.5-bin.tar.gz 若是使用前 ...

  3. [.net core] 12.环境变量

    异常给开发人员提供了很大好的排错功能. 但是其背后的技术细节很复杂,会损耗性能,也会使.net core web app更容易被反派攻击. 于是我们要学会使用环境变量, 通过环境变量,控制一些逻辑 当 ...

  4. vue学习【番外篇】vue-cli脚手架的安装

    大家好,我是一叶,今天和大家分享的是vue-cli脚手架的安装,关于vue-cli的优点,我就不赘述了. 一.检查安装node 安装vue-cli之前,先检查node是否安装.win+R,输入cmd打 ...

  5. Core Graphics 定制UIVIew 处理图片

    许多UIView的子类,如UIButton或UILabel,它们的形状都是系统固定的.但是,对于一些特殊的情况,我们需要绘制产品狗想要的图形.那么等待我们的只有两个选择:第一,可以使用UIImageV ...

  6. 一个线程oom,进程里其他线程还能运行吗?

    线程之间互相不影响:守护线程生活周期相同 引言 这题是一个网友@大脸猫爱吃鱼给我的提问,出自今年校招美团三面的一个真题.大致如下 一个进程有3个线程,如果一个线程抛出oom,其他两个线程还能运行么? ...

  7. ARIMA模型

    ARIMA模型(英语:Autoregressive Integrated Moving Average model),差分整合移动平均自回归模型,又称整合移动平均自回归模型(移动也可称作滑动),时间序 ...

  8. Linux 学习 (一)

    最常用的7个Linux命令: cd:切换目录. pwd:查看当前所在目录. ls:查看目录下的文件. touch:没有文件则创建文件. mkdir:创建目录. mr:remove删除.         ...

  9. linux加固安全之密码复杂度

    随着linux系统使用的普遍性,对linux用户及系统安全要求也随之提升,单纯从单位制度,用户安全意识上来规范,并不能杜绝弱口令,必须从技术上要求用户定时修改复杂的密码,从而提高用户和系统的安全性. ...

  10. AUC计算方法

    本质是ROC曲线下的面积,ROC曲线x轴是误判率/误报率(false positive rate),y轴是准确率/命中率(true positive rate). AUC是ROC曲线与横轴所围的面积. ...