`
rautinee
  • 浏览: 97939 次
  • 来自: 成都 四川
社区版块
存档分类
最新评论

如何给dhtmlxgrid加弹出窗口

阅读更多

在实际的项目开发中我们经常会遇到这样的问题,一个列表页面呈现的内容可能是多个表联合查询的结果,如果我们要更改某个cell当中的值,他可能会涉及到其它多个表内容的修改,如何解决这样的问题?我的思路是使用弹出窗口,在弹出窗口中让用户执行数据的修改操作,然后再把修改后的值返回到cell更新cell的内容,但是dhtmlxgrid当中我还没有发现有弹出窗口的这项功能,没办法只好自己扩展,看例子,首先我要增加一种xcell的类型oWin

 在dhtmlXGridCell.js文件中添加如下代码

js 代码
  1. /****************/  
  2.   
  3.   
  4. function eXcell_oWin(cell)   
  5. {   
  6.     var cellVal="";   
  7. try  
  8.     {   
  9. this.cell = cell;   
  10.  this.grid = this.cell.parentNode.grid;   
  11.  }catch(er){}   
  12.   
  13.  this.edit = function(){   
  14.     this.val = this.cell.val;   
  15.     eval(this.val.split("^")[1]);   
  16.     this.cell._cediton=true;   
  17.  }   
  18.  this.getValue = function(){   
  19. }   
  20.   
  21.   
  22.  this.setValue = function(val){   
  23.  var valsAr = val.split("^");   
  24.  if(valsAr.length==1)   
  25.  valsAr[0] = "";   
  26.  this.cell.innerHTML=valsAr[0];   
  27.  this.cell.val=val;   
  28.   
  29. }   
  30.   
  31. }   
  32.   
  33. eXcell_oWin.prototype = new eXcell;  

然后在grid.xml的定义如下

xml 代码

 

xml 代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <rows>  
  3.     <row id="1">  
  4.         <cell>1</cell>  
  5.         <cell>John Grisham^modUserName('John Grisham')</cell>  
  6.            
  7.     </row>  
  8.     <row id="2">  
  9.         <cell>2</cell>  
  10.         <cell>Stephen King^modUserName('Stephen King')</cell>  
  11.            
  12.     </row>  
  13.        
  14.        
  15. </rows>  

 大家注意第二个cell的内容是由两部分组成,前面是cell显示的内容,后面是双击调用的函数modUserName,他们之间用^分开

然后在oWin.html中添加如下代码:
function modUserName(val1)
{//这个函数就是我们在xml中需要调用的,这段代码中我是定义了弹出窗口程序,当然你也可以写成div的。

window.open("win.html", "smallwin","width=400,height=350");

}

同时也要注意mygrid的定义代码更改成mygrid.setColTypes("ro,oWin");

此时浏览oWin.html,双击第二列cell,弹出窗口,在弹出窗口的文本框中输入文字,点击提交,datagrid中相应的cell的值更新了,具体请看附件的例子。

分享到:
评论
1 楼 冷风扫心 2007-07-10  
坚决支持,我早有这个想法

相关推荐

    dhtmlxGrid v2.0使用手册

    编辑模式可以是行编辑、单元格编辑或弹出窗口编辑。删除记录通常通过选择行后点击删除按钮实现,而插入新记录则通过调用`insertRow()`方法完成。 **3. 表格功能** - **排序**:通过点击列头可以实现升序或降序排序...

    改造过的DhtmlXGrid表格控件

    3. 内联编辑与弹出编辑:支持行级编辑模式和单独弹出窗口编辑,根据项目需求选择合适的编辑方式。 4. 导入导出:允许将表格数据导入或导出为CSV、Excel等常见格式,便于数据交换和备份。 三、响应式设计 改造后的...

    dhtmlx2.6 API(HTML DOC)和 详细例子

    **dhtmlxMenu** 是一个菜单系统,用于创建下拉式菜单、弹出菜单和工具栏。它可以高度定制,包括分组、子菜单、快捷键和图标,适合于各种用户界面设计。 **dhtmlxWindows** 是一个窗口管理器,允许在页面上创建浮动...

    dhtmlx3.5企业专业版

    Dialog组件允许在页面上弹出浮动窗口,可以用于显示信息、提示、设置等。它支持自定义大小、位置,以及添加其他组件。 5. **日历组件(Calendar)** DHTMLX Calendar提供了一个直观的日历界面,支持日期选择、...

    dhtmlx中文使用手册

    - **dhtmlxPopup**:用于创建弹出窗口的组件,可以包含各种类型的元素和内容。 - **dhtmlxCombo**:组合框组件,常用于下拉选择列表。 - **dhtmlxChart**:图表绘制组件,支持柱状图、折线图等多种图表类型。 #### ...

    dhtmlx参考界面

    - dhtmlxGrid用于展示和操作表格数据,支持排序、过滤、编辑等功能。 - 数据可以通过XML或JavaScript逐条加载,也可以使用URL一次性加载。 6. **下拉框(Combo)** - 提供下拉列表供用户选择,支持搜索和自定义...

    dhtmlxwindow包及使用方法

    dhtmlxWindow是一款强大的JavaScript组件,它允许开发者在Web应用程序中创建可自定义的弹出窗口。这个组件以其灵活性、可扩展性和丰富的功能集而著称,广泛应用于创建浮动对话框、模态窗口、工具提示和其他交互式...

    DHTMLX中文使用手册2.0版本.doc

    从2.0版本开始,dhtmlxLayout加强了与其他DHTMLX组件的集成,例如dhtmlxGrid(表格组件)、dhtmlxTree(树形组件)、dhtmlxWindows(窗口组件)和dhtmlxMenu(菜单组件)。这使得开发者可以将这些组件组合在不同的...

    dhtmlx技术使用总结与介绍中文手册

    - **窗口(Window)**:提供弹出窗口的功能,常用于表单提交或信息展示。 #### 常见数据元素 - **表格(Grid)**:显示数据列表的有效方式,支持排序、过滤等功能。 - **树(Tree)**:以层次结构展示数据,适用于文件...

    dhtmlxSuite3.6 专业版

    7. **对话框(Dialog)**:弹出式窗口,常用于显示详情或进行确认操作,支持自定义内容和大小。 ### Ajax驱动的优势 DHTMLX Suite 的Ajax技术使得组件能实时更新数据,无需刷新整个页面,提升了用户体验。此外,...

    DHtmlXTree中文使用手册2.0版本

    3. **组件集成**:从2.0版本开始,dhtmlxLayout支持与其他DHTMLX组件如dhtmlxGrid、dhtmlxTree、dhtmlxWindows和dhtmlxMenu的深度集成,使开发者能够创建复杂的多组件应用,并为每个布局定制功能。 4. **皮肤与兼容...

Global site tag (gtag.js) - Google Analytics