jquery easyui datagrid 加载成功,选中某一行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery easyui datagrid 加载成功,选中某一行相关的知识,希望对你有一定的参考价值。
jquery easyui datagrid 重新加载成功,选中某一行。代码如下:
$('#dg').datagrid('reload',onLoadSuccess:function(data)
$('#dg').datagrid('selectRow',3);
);
为什么这样无法选中?而且那个loading条一直在那转。。。急急急
你好!!
jquery easyui datagrid中的 reload 不是这样用的~
1.首先你需要设置datagrid的onLoadSuccess$('#dg').datagrid(onLoadSuccess : function(data)
$('#dg').datagrid('selectRow',3);
);
2.onLoadSuccess如果是通过 data-options的方式设置的没问题,如果通过js脚本设置的话,
需要保证在loadData之前绑定这个事件函数,类似下面这样
$('#dg').datagrid("onLoadSuccess":function(data)
$(this).datagrid('selectRow',3);
).datagrid("loadData",XXXXX);
否则在加载数据之后,可能不会去执行onLoadSuccess里面的代码;
3.reload方法重新加载当前页面数据
$('#dg').datagrid("reload");
至于loading一只显示,说明你的数据应该没有加载成功吧··
希望对你有帮助!!
参考技术Ajquery easyui datagrid中的 reload 不是这样用的。
1.你需要设置datagrid的onLoadSuccess$('#dg').datagrid(onLoadSuccess : function(data) $('#dg').datagrid('selectRow',3);); 2.onLoadSuccess如果是通过 data-options的方式设置的没问题,如果通过js脚本设置的话,需要保证在loadData之前绑定这个事件函数,类似下面这样$('#dg').datagrid("onLoadSuccess":function(data) $(this).datagrid('selectRow',3);).datagrid("loadData",XXXXX);否则在加载数据之后,可能不会去执行onLoadSuccess里面的代码; 3.reload方法重新加载当前页面数据$('#dg').datagrid("reload");至于loading一只显示,说明你的数据应该没有加载成功。
扩展资料:
jQuery EasyUI是一组基于jQuery的UI插件集合体,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。开发者不需要编写复杂的javascript,也不需要对css样式有深入的了解,开发者需要了解的只有一些简单的html标签。
jQuery EasyUI 提供了用于创建跨浏览器网页的完整的组件集合,包括功能强大的 datagrid(数据网格)、treegrid(树形表格)、 panel(面板)、combo(下拉组合)等等。 用户可以组合使用这些组件,也可以单独使用其中一个。
jQuery EasyUI为提供了大多数UI控件的使用,如:accordion,combobox,menu,dialog,tabs,validatebox,datagrid,window,tree等等。
jQuery EasyUI是基于JQuery的一个前台ui界面的插件,功能相对没extjs强大,但页面也是相当好看的,同时页面支持各种themes以满足使用者对于页面不同风格的喜好。一些功能也足够开发者使用,相对于extjs更轻量。
jQuery EasyUI有以下特点:
1、基于jquery用户界面插件的集合
2、为一些当前用于交互的js应用提供必要的功能
3、EasyUI支持两种渲染方式分别为javascript方式(如:$('#p').panel(...))和html标记方式(如:class="easyui-panel")
4、支持HTML5(通过data-options属性)
5、开发产品时可节省时间和资源
6、简单,但很强大
7、支持扩展,可根据自己的需求扩展控件
8、目前各项不足正以版本递增的方式不断完善
参考资料:jQueryEasyUI_百度百科
jquery easyui datagrid 动态 加载列
实现方式:
首先根据输入的sql语句获得相关的列名称返回给前台,然后在datagrid中动态加载列,接着根据查询条件(包括sql语句)获取相关的记录返回给前台用于填充datagrid。从而实现类似oracle web版的sql查询。
前台主要js为:
- function sqlSearch(){
- var sqlStatement = $.trim($("#sqlStatementId").val());
- if(sqlStatement == null || sqlStatement == ""){
- return false;
- }
- var type = "POST";
- var url = "sqlExecCtrl.action?cmd=getColumnNameList";
- var param = "sqlStatement=" + $("#sqlStatementId").val();
- ajaxExtend(type,url,param,function(data){
- var options = $("#sqlResultDisplay").datagrid("options"); //取出当前datagrid的配置
- options.columns = eval(data.columns); //添加服务器端返回的columns配置信息
- options.queryParams = getQueryParams("sqlConditionId"); //添加查询参数
- $("#sqlResultDisplay").datagrid(options) ;
- $("#sqlResultDisplay").datagrid("load") ; //获取当前页信息
- });
- }
- /**
- * 根据指定条件请求系统资源
- *1、 异步
- *2、返回格式为json
- *
- * @param type //请求方式
- * @param url //请求url
- * @param param //请求参数
- * @param callback //回调函数
- */
- function ajaxExtend(type,url,param,callback){
- ajaxExtendBase(type,url,param,true,callback);
- }
- /**
- * ajax请求基础方法
- * @param type
- * @param url
- * @param param
- * @param async
- * @param callback
- */
- function ajaxExtendBase(type,url,param,async,callback){
- $.ajax({
- type: type,
- url: url,
- data:param,
- async : async,
- dataType:"json",
- success:function(result){
- if(result.success){ //只有sql正确能获取相关列名后才再请求列表资源
- callback(result.data); //获取当前页信息
- }
- else{
- dealWithException(result.exception);
- }
- }
- });
- }
- /**
- * 将指定form参数转换为json对象
- */
- function getQueryParams(conditionFormId){
- var searchCondition = getJqueryObjById(conditionFormId).serialize();
- var obj = {};
- var pairs = searchCondition.split(‘&‘);
- var name,value;
- $.each(pairs, function(i,pair) {
- pair = pair.split(‘=‘);
- name = decodeURIComponent(pair[0]);
- value = decodeURIComponent(pair[1]);
- obj[name] = !obj[name] ? value :[].concat(obj[name]).concat(value); //若有多个同名称的参数,则拼接
- });
- return obj;
- }
后台返回的json格式如下
- {"total":3,
- "columns":[[{"field":"ROLE_ID","title":"ROLE_ID","width":100,"resizable":true},
- {"field":"NAME","title":"NAME","width":100,"resizable":true},
- {"field":"CREATE_DATE","title":"CREATE_DATE","width":100,"resizable":true},
- {"field":"DESCRIPTION","title":"DESCRIPTION","width":100,"resizable":true}]],
- "rows":[{"NAME":"普通人员","DESCRIPTION":"只具有查看权限","CREATE_DATE":"2012-09-21 16:31:53.0","ROLE_ID":"7"},
- {"NAME":"调度人员","DESCRIPTION":"开放全部功能,但无系统管理相关权限","CREATE_DATE":"2012-09-21 16:32:24.0","ROLE_ID":"8"},
- {"NAME":"超级管理员","DESCRIPTION":"具有所有权限","CREATE_DATE":"2012-09-17 20:23:19.0","ROLE_ID":"1"}]}
其中,"columns"对应sqlSearch方法的ajaxExtend(type,url,param,function(data){})回调函数中的data,"total"和"rows"为datagrid加载数据
以上是关于jquery easyui datagrid 加载成功,选中某一行的主要内容,如果未能解决你的问题,请参考以下文章
jquery easyui 的 datagrid如何动态加载数据?
关于jquery easyui的datagrid组件,如何动态加载表头及其数据