在实际的项目开发中我们经常会遇到这样的问题,一个列表页面呈现的内容可能是多个表联合查询的结果,如果我们要更改某个cell当中的值,他可能会涉及到其它多个表内容的修改,如何解决这样的问题?我的思路是使用弹出窗口,在弹出窗口中让用户执行数据的修改操作,然后再把修改后的值返回到cell更新cell的内容,但是dhtmlxgrid当中我还没有发现有弹出窗口的这项功能,没办法只好自己扩展,看例子,首先我要增加一种xcell的类型oWin
在dhtmlXGridCell.js文件中添加如下代码
js 代码
-
-
-
- function eXcell_oWin(cell)
- {
- var cellVal="";
- try
- {
- this.cell = cell;
- this.grid = this.cell.parentNode.grid;
- }catch(er){}
-
- this.edit = function(){
- this.val = this.cell.val;
- eval(this.val.split("^")[1]);
- this.cell._cediton=true;
- }
- this.getValue = function(){
- }
-
-
- this.setValue = function(val){
- var valsAr = val.split("^");
- if(valsAr.length==1)
- valsAr[0] = "";
- this.cell.innerHTML=valsAr[0];
- this.cell.val=val;
-
- }
-
- }
-
- eXcell_oWin.prototype = new eXcell;
然后在grid.xml的定义如下
xml 代码
xml 代码
- <?xml version="1.0" encoding="UTF-8"?>
- <rows>
- <row id="1">
- <cell>1</cell>
- <cell>John Grisham^modUserName('John Grisham')</cell>
-
- </row>
- <row id="2">
- <cell>2</cell>
- <cell>Stephen King^modUserName('Stephen King')</cell>
-
- </row>
-
-
- </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的值更新了,具体请看附件的例子。
分享到:
相关推荐
编辑模式可以是行编辑、单元格编辑或弹出窗口编辑。删除记录通常通过选择行后点击删除按钮实现,而插入新记录则通过调用`insertRow()`方法完成。 **3. 表格功能** - **排序**:通过点击列头可以实现升序或降序排序...
3. 内联编辑与弹出编辑:支持行级编辑模式和单独弹出窗口编辑,根据项目需求选择合适的编辑方式。 4. 导入导出:允许将表格数据导入或导出为CSV、Excel等常见格式,便于数据交换和备份。 三、响应式设计 改造后的...
**dhtmlxMenu** 是一个菜单系统,用于创建下拉式菜单、弹出菜单和工具栏。它可以高度定制,包括分组、子菜单、快捷键和图标,适合于各种用户界面设计。 **dhtmlxWindows** 是一个窗口管理器,允许在页面上创建浮动...
Dialog组件允许在页面上弹出浮动窗口,可以用于显示信息、提示、设置等。它支持自定义大小、位置,以及添加其他组件。 5. **日历组件(Calendar)** DHTMLX Calendar提供了一个直观的日历界面,支持日期选择、...
- **dhtmlxPopup**:用于创建弹出窗口的组件,可以包含各种类型的元素和内容。 - **dhtmlxCombo**:组合框组件,常用于下拉选择列表。 - **dhtmlxChart**:图表绘制组件,支持柱状图、折线图等多种图表类型。 #### ...
- dhtmlxGrid用于展示和操作表格数据,支持排序、过滤、编辑等功能。 - 数据可以通过XML或JavaScript逐条加载,也可以使用URL一次性加载。 6. **下拉框(Combo)** - 提供下拉列表供用户选择,支持搜索和自定义...
dhtmlxWindow是一款强大的JavaScript组件,它允许开发者在Web应用程序中创建可自定义的弹出窗口。这个组件以其灵活性、可扩展性和丰富的功能集而著称,广泛应用于创建浮动对话框、模态窗口、工具提示和其他交互式...
从2.0版本开始,dhtmlxLayout加强了与其他DHTMLX组件的集成,例如dhtmlxGrid(表格组件)、dhtmlxTree(树形组件)、dhtmlxWindows(窗口组件)和dhtmlxMenu(菜单组件)。这使得开发者可以将这些组件组合在不同的...
- **窗口(Window)**:提供弹出窗口的功能,常用于表单提交或信息展示。 #### 常见数据元素 - **表格(Grid)**:显示数据列表的有效方式,支持排序、过滤等功能。 - **树(Tree)**:以层次结构展示数据,适用于文件...
7. **对话框(Dialog)**:弹出式窗口,常用于显示详情或进行确认操作,支持自定义内容和大小。 ### Ajax驱动的优势 DHTMLX Suite 的Ajax技术使得组件能实时更新数据,无需刷新整个页面,提升了用户体验。此外,...
3. **组件集成**:从2.0版本开始,dhtmlxLayout支持与其他DHTMLX组件如dhtmlxGrid、dhtmlxTree、dhtmlxWindows和dhtmlxMenu的深度集成,使开发者能够创建复杂的多组件应用,并为每个布局定制功能。 4. **皮肤与兼容...