`
ZQX123456
  • 浏览: 2862 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

jqgrid实现级联组合框

阅读更多
如何实现jqgrid的级联组合框呢?就是类似:先选中"国家"组合框、"城市"组合框的内容根据"国家"组合框的内容而改变。在网上查了一下、有人提出来过、但无人解决。想了半天终于解决了。
   基本思路:
  1 国家对应的城市肯定要用一个变量保存起来。类如:
    var citys={
    {'contry':'china',
     'city':'beijing'
    },
    {'contry':'china',
     'city':'shanghai'
    },
    {'contry':'china',
     'city':'lanjing'
    },
    {'contry':'americal',
     'city':'newyouk'
    },
    {'contry':'americal',
     'city':'warshonton'
    }
   }  
   2 jqgrid点击城市单元格时、肯定要先根据columnModel中的editoptions中的value属性(也就是select的选项)生成select组合框。要在select控件生成之前改变editoptions的value属性、select中的选项值也就改变了。用调试跟踪的方法、我发现这个功能在jqgrid中的editCell函数中。修改这个函数
原来的函数:
$.jgrid.extend({
  editCell : function (iRow,iCol, ed){
     return this.each(function (){
var $t = this, nm, tmp,cc, cm;
if (!$t.grid || $t.p.cellEdit !== true|| ) {return;}
改为:
$.jgrid.extend({
  editCell : function (iRow,iCol, ed){
     return this.each(function (){
var $t = this, nm, tmp,cc, cm,flg;
if (beforeFocus !='undefind'){
   flg=beforeFocus(iRow,iCol);
}
if (!$t.grid || $t.p.cellEdit !== true|| !flg ) {return;}
说明:
  1 增加了一个flg变量、用来保存自定义函数beforeFocus的返回值、假如没有选中国家
则editCell函数返回、城市组合框就不能输入了
  2修改colunmModel的任务就交给beforeFocus函数了。
再来看beforeFocus函数
function beforeFocus(iRow,iCol){
  if (iCol==2){
     var ids=$("#gridTable").getDataIDs();
     //取得选择行的数据
     var rdata=$("#gridTable").getRowData (ids[iRow])[0];
    //取得选择的国家值
     var v_country=rdata.country
     if (v_country==""){
alert("请首先输入国家!")
return false;
     }
     //生成columnModel的editoptions的value的字符串
     var selectStr=""
     $.each(citys,function(i,rowdt){
       if  (rowdt.country==v_country){
           selectStr+=";"+rowdt.city;
       }
     });
     //设置columnModel
     $("#gridTable").setColProp("city",{editoptions:{value:selectStr.substr(1)}});
}
  return true;
}
测试ok!
0
2
分享到:
评论

相关推荐

    jqgrid+三大框架

    这个项目基于MyEclipse2014开发环境,主要目标是实现数据的查询功能并通过jqGrid进行前端展示。 **jqGrid** 是一个非常强大的JavaScript表格插件,它提供了丰富的特性,如分页、排序、过滤、编辑、导入导出数据等...

    基于jqgrid实现树形菜单分页列表查询

    "基于jqgrid实现树形菜单分页列表查询"这一主题,旨在创建一个既能展示层级结构又能进行高效分页查询的表格组件。jqGrid是一款强大的jQuery插件,它提供了丰富的功能,如数据网格、分页、排序、过滤、编辑等,同时...

    table表格样式利用jqgrid实现

    本教程将深入探讨如何利用jqGrid来实现美观且功能丰富的表格样式。 首先,我们需要了解jqGrid的基本概念。jqGrid是由Trirand公司开发的,基于jQuery的开源项目,它提供了数据网格的功能,支持数据分页、排序、过滤...

    jqGrid整合Java SSH框架实例

    在jqGrid中,Spring可以管理各种bean,包括数据库连接池、DAO、Service等,实现组件间的解耦。 **3. Hibernate** Hibernate是Java领域的一款ORM(对象关系映射)框架,它将数据库操作转换为对Java对象的操作,降低...

    jqgrid实现分组显示和统计

    在本教程中,我们将深入探讨如何利用jqGrid实现数据的分组显示和统计,这对于数据分析和报告呈现来说尤其重要。 一、分组显示 1. 初始化jqGrid 首先,我们需要在HTML中创建一个表格元素,并通过jQuery初始化jqGrid...

    利用jqGrid实现类似Excel录入功能

    总结来说,利用jqGrid实现类似Excel的录入功能,关键在于理解其配置选项和方法,灵活运用行内编辑、弹出式编辑、数据验证和交互反馈等特性。通过熟练掌握jqGrid,开发者可以构建功能强大且用户友好的Web数据管理应用...

    jqgrid 表格的增删改查以及modal弹出框

    在这个项目文件“RuanTai.Finance”中,我们将深入探讨如何使用 jqGrid 实现这些功能,并且在修改和添加操作时使用 modal 弹出框来增强用户体验。 首先,让我们看看 jqGrid 的增删改查功能: **增加(Add)**:在 ...

    jqgrid 实现数据行列合计

    jqgrid 实现数据行列合计

    jqgrid实现图片上传功能(java版)

    在这个主题中,我们将探讨如何利用jqGrid来实现图片上传的功能,并结合Java后端的Servlet技术,构建一个完整的文件上传系统。首先,我们来看看前端部分。 1. **jqGrid 配置** 在jqGrid中添加上传功能,我们需要对...

    jqGrid控件导入导出Excel文件

    jqGrid控件导入导出Excel文件,将几个jqgrid导出一份Excel多sheet文件 ,亦可多sheet的excel导入至多个jqGrid表格。

    jqGrid自定义组合控件范例

    在这个“jqGrid自定义组合控件范例”中,我们将深入探讨如何利用jqGrid的自定义编辑类型(edittype)来创建更符合用户需求的交互式控件,从而提升用户体验。 首先,理解jqGrid的列模型(colModel)是关键。列模型...

    实现jqGrid三级表头功能,支持冻结,拖动

    在这个项目中,我们将探讨如何实现jqGrid的三级表头功能,并且支持冻结列以及拖动列的功能。 首先,让我们了解什么是三级表头。在标准的表格中,我们通常有单一或双层的表头,而在三级表头中,列标题被分为了三个...

    jqGrid的表格数据呈编辑转态

    jqGrid是一款功能强大的jQuery插件,用于在网页上实现数据网格展示。它不仅支持数据展示,还提供了丰富的交互功能,如排序、搜索、分页等,并且允许用户自定义列样式和格式。 #### 二、jqGrid中的数据编辑特性 根据...

    JQGrid本地数据分页

    在这个“JQGrid本地数据分页”的示例中,我们将探讨如何使用JQGrid实现对本地数据的分页处理。 JQGrid提供了一种灵活的方式来处理数据,无论是从服务器获取还是直接使用本地数据。本地数据分页意味着数据已经在...

    jqGrid实现ajax后端代码交付、分页、多选、分页保持选中,切换选中

    在这个场景中,我们将详细探讨如何使用jqGrid来实现ajax后端代码交付、分页、多选以及在切换分页时保持选中的状态。 首先,要实现ajax后端代码交付,我们需要在jqGrid中配置服务器交互。jqGrid支持使用AJAX进行数据...

    Jquery 实现列的拖动 jquery grid

    本文将详细讲解如何利用jQuery实现网格(Grid)中的列拖动功能,以及如何展示和压缩内容,以达到类似Excel的效果。 首先,我们需要引入jQuery库和jQuery Grid插件的相关文件。jQuery Grid通常基于jQuery UI,因此...

    jqgrid中文文档API

    jQgrid使用ajax来实现对请求与响应的处理。 皮肤 从3.5版本开始,jQgrid完全支持jquery UI的theme。我们可以从http://jqueryui.com/themeroller/下载我们所需要的theme。当然,你也可以编辑自己的theme。jQgrid也...

    PHP+jqGrid表格插件实现增删改查

    要实现“PHP+jqGrid表格插件实现增删改查”,首先需要在HTML页面中引入jqGrid的CSS和JS文件,然后创建一个表格元素,定义相应的列名和ID。接着,使用jQuery初始化jqGrid,设置数据源(通常是PHP脚本返回的JSON或XML...

    jqgrid+struts2实现的增删改查

    jqGrid内部实现了AJAX请求的封装,可以直接调用它的方法完成与后台的交互。 6. **处理服务器响应**:当服务器返回数据时,jqGrid会自动解析JSON格式的数据并更新表格内容。对于增删改操作,通常会刷新整个表格或...

Global site tag (gtag.js) - Google Analytics