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

dhtmlxgrid cell采用 模态窗口输入数据

阅读更多
附件 eXcell_popWin.rar 是定义的 eXcell_popWin
附件 dhtmlxgrid-ModalWinDialog.rar 是整个例子的文件


参考
http://www.iteye.com/topic/73776 如何给dhtmlxgrid加弹出窗口  <BR> http://www.iteye.com/topic/320483 扩展eXcell 实现多个超级链接


大致思路:
  <1>先定一个用于dhtmlxgrid弹出窗口用的eXcell,也就是 eXcell_popWin,参考eXcell_popWin.js
  <2>定义dhtmlxgrid使用的xml文件:grid2.xml   ,参考附件图片 image1.jpg
  <3>定义主页面:oWin2.html 参考 附件图片 image2.jpg
  <4>定义弹出窗口页面:win2.html 参考 附件图片 image3.jpg

/***----------------------------------------------------------*****/

1.定义相应eXcell:eXcell_popWin
/*********
主题:如何给dhtmlxgrid加弹出窗口
@see http://www.iteye.com/topic/73776
@see http://www.iteye.com/topic/320483

example
  <cell>myvalue^http://news.sina.com.cn^select</cell>
*******/


function eXcell_popWin(cell)
{
  var cellVal="";
  try
  {
   this.cell = cell;
    this.grid = this.cell.parentNode.grid;
  }catch(er){}



this.getValue = function(){
    var valsAr = this.cell.val.split("^");
    return   valsAr[0];
}



this.setValue = function(val){
   var valsAr = val.split("^");
   if(valsAr.length==1)
     valsAr[0] = "";

   var popMethod = valsAr[1];
   this.cell.val = val;
   var rowid = this.cell.parentNode.idd;
   var  colIdx =  this.cell._cellIndex;

   //alert('rowid=' + rowid +",colIdx=" +colIdx);
   //alert('popMethod' +popMethod);

   popMethod =   popMethod + "(" + rowid + "," + colIdx+ ")";
   //alert('popMethod' +popMethod);
   var buttonLabel = '...';

   if(valsAr[2]){
    buttonLabel  = valsAr[2];
   }

   this.cell.buttonLabel = buttonLabel;

   var div ="<div>" +valsAr[0] +"  <input type='button' value='" + buttonLabel + "' onclick='" + popMethod +  "'>" + "</div>";
   //alert('div' +div);
   this.cell.innerHTML = div;
   this.cell.link = valsAr[1];
}

this.getLink =function (){
     return   this.cell.link;
  }

this.getButtonLabel = function (){
return   this.cell.buttonLabel;
}
}


eXcell_popWin.prototype = new eXcell;


  • 大小: 14.2 KB
  • 大小: 9.7 KB
  • 大小: 2.8 KB
分享到:
评论
2 楼 wdzwdz 2009-01-25  
3.弹出窗口

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>

<BODY>
<script>
function updateData()
{
//opener.mygrid.cell.innerHTML=document.getElementById('content').value;
//opener.mygrid.cell.val=document.getElementById('content').value+"^modUserName('"+document.getElementById('content').value+"')"
//if(opener){
  // opener.result = document.getElementById('content').value;
//}
this.window.returnValue =document.getElementById('content').value;
window.close();
}
</script>
content:<INPUT TYPE="text" NAME="content" id="content">
<INPUT TYPE="button" onclick="updateData()" value="提交">
</BODY>
</HTML>
1 楼 wdzwdz 2009-01-25  
2.主页面
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>DHTML Grid samples. dhtmlXGrid - Initialize object on page</title>
<meta name="KEYWORDS" content="dhtmlxgrid, dhtml grid, javascript grid, javascript, DHTML, grid, grid control, dynamical scrolling, xml, AJAX, API, cross-browser, checkbox, XHTML, compatible, gridview, navigation, script, javascript navigation, web-site, dynamic, javascript grid, dhtml grid, dynamic grid, item, row, cell, asp, .net, jsp, cold fusion, custom tag, loading, widget, checkbox, drag, drop, drag and drop, component, html, scand">

<meta name="DESCRIPTION" content="Cross-browser DHTML grid with XML support and powerful API. This DHTML JavaScript grid can load its content dynamically from server using AJAX technology.">

</head>
<style>
body {font-size:12px}
.{font-family:arial;font-size:12px}
h1 {cursor:pointer;font-size:16px;margin-left:10px;line-height:10px}
xmp {color:green;font-size:12px;margin:0px;font-family:courier;background-color:#e6e6fa;padding:2px}
div.hdr{
background-color:lightgrey;
margin-bottom:10px;
padding-left:10px;
}
</style>
<body>
<div class="hdr">dhtmlxgrid open window sample<p><B>Author:</B>rautinee <B>Email:</B>rautinee@yahoo.com.cn</div>

<link rel="STYLESHEET" type="text/css" href="css/dhtmlXGrid.css">
<script  src="js/dhtmlXCommon.js"></script>
<script  src="js/dhtmlXGrid.js"></script>
<script  src="js/dhtmlXGridCell.js"></script>
<script  src="js/eXcell_popWin.js"></script>

<table width="600">
<tr>
<td>
<div id="gridbox" width="100%" height="250px" style="background-color:white;overflow:hidden"></div>
</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table>
<hr>

<script>
function modUserName(rowid,colIdx)
{
  //这个函数就是我们在xml中需要调用的
  var cell  = mygrid.cells(rowid,colIdx);
  //能弹出模态窗口; 
  var res =  window.showModalDialog("win2.html", "选择","width=400,height=350");
// window.showModalDialog("testpp1.html","Dialog   Arguments   Value","dialogHeight:   400px;   dialogWidth:   400px");
  //alert('res=' +res);
  var link  = cell.getLink();
  var val = res + "^" +  link + "^" + cell.getButtonLabel();

  //根据结果处理
  cell.setValue(val);

}

mygrid = new dhtmlXGridObject('gridbox');
mygrid.setImagePath("imgs/");
mygrid.setHeader("Column A, Column B");
mygrid.setInitWidths("100,250")
mygrid.setColAlign("center,center")
mygrid.setColTypes("ro,popWin");
mygrid.setColSorting("int,str")
mygrid.enableMultiselect(true)
mygrid.init();
mygrid.loadXML("grid2.xml");
</script>


</body>
</html>

相关推荐

    dhtmlxgrid自定义CELL编辑事件

    dhtmlxgrid自定义CELL编辑事件 dhtmlxgrid是一个功能强大的网格控件,提供了丰富的编辑功能,包括自定义CELL编辑事件。在本篇文章中,我们将详细介绍如何自定义dhtmlxgrid的CELL编辑事件,实现自定义的编辑控件。 ...

    自己整理的 dhtmlxgrid 的例子

    dhtmlxGrid 是一个强大的JavaScript表格组件,它提供了丰富的功能,用于展示和操作大量数据。这个压缩包文件"mydatagrid"可能包含了一系列的示例,展示了如何在网页中集成和使用dhtmlxGrid。 1. **基本结构与初始化...

    dhtmlxgrid常用方法

    dhtmlxGrid是一款强大的JavaScript数据网格组件,它提供了丰富的功能,用于构建数据密集型的Web应用。虽然部分核心脚本是收费的,但其轻量级的设计和灵活的特性使其成为开发人员的首选工具。dhtmlxGrid允许开发者...

    progressBar in grid cell

    在IT领域,尤其是在Web开发中,"progressBar in grid cell"是一个常见的需求,指的是在表格(grid)的单元格(cell)中展示进度条。这种功能可以用于展示数据处理的进度,比如上传、下载或者计算等操作的完成度。本...

    cell lac 基站数据

    "Cell Lac"是移动通信领域中的一个术语,全称为Location Area Code(位置区编码),它与基站(Base Transceiver Station, BTS)数据紧密相关。在移动通信系统中,位置区是一个逻辑区域,用于管理和跟踪用户的移动...

    Ext自定义Grid Cell插件

    在Ext JS这个强大的JavaScript框架中,`Grid`是用于展示数据的一种常见组件,它提供了灵活的数据展示和操作功能。在实际开发中,我们有时需要在Grid的单元格(Cell)中添加更丰富的交互元素,例如输入框、下拉选择器...

    单细胞RNA测序(scRNA-seq)Cellranger流程入门和数据质控.md

    单细胞RNA测序(scRNA-seq)Cellranger流程入门和数据质控

    ios-点击多个cell返回他们的数据,对每个cell进行判断,并进行本地保存.zip

    1.点击cell并block返回数据,对返回的数据进行本地保存 2.每个cell上都有一个属于它的比率,当点击的两个cell的比率值不同的时候,... 3.解决cell 的数据重用问题 4.对本地保存的数据进行读取 5.做了一个保存的分类

    cell_double.rar_cell_cell double_cell类型转换_cell转double_文件转换为cell

    当需要进行数值计算、矩阵操作或者使用某些只接受`double`类型输入的内置函数时,就需要将`cell`类型的数据转换成`double`。`double`类型是MATLAB中用于表示浮点数的标准类型,它提供了高精度和广泛的数值范围。 3...

    zk 数据绑定(grid进行嵌套显示数据)

    它提供了丰富的组件库,包括Grid组件,使得开发者可以方便地在Web应用中展示和操作数据。在ZK中,数据绑定是连接应用程序模型与用户界面的关键特性,允许数据自动更新并反映到UI上。本文将深入探讨如何利用ZK的数据...

    dhtmlx 使用翻译

    以上示例展示了如何初始化 dhtmlxGrid 并加载数据。值得注意的是,为了更好地集成到现有布局中,通常会将原有元素的 `display` 属性设置为 `none` 或隐藏该元素。 通过上述介绍,我们可以看出 dhtmlx 提供了非常...

    Cell_cell文档_Cell类的API文档_cell_cell类API_

    - 可以设定单元格的数据验证规则,例如限制输入范围、格式等,以确保数据的正确性。 8. **合并单元格**: - 支持单元格的合并功能,创建跨行或跨列的大单元格。 9. **高级特性**: - 公式错误检查:自动检查...

    dhtmlx参考界面

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

    dhtmlxwindow包及使用方法

    3. **内容加载**:内容可以是HTML文本、URL地址、或者另一个dhtmlx组件,如dhtmlxGrid或dhtmlxForm。 4. **事件处理**:支持窗口创建、显示、隐藏、关闭等事件的监听和处理,方便进行业务逻辑控制。 ### 四、dhtmlx...

    Invalid Grid Cell(解决方案).md

    Invalid Grid Cell(解决方案).md

    cell数组MATLAB详情介绍使用排序.doc

    在 MATLAB 环境中,Cell 数组是一种非常灵活的数据结构,它允许存储不同类型的数据,如字符串、数值、数组甚至其他 Cell 数组。这种特性使得 Cell 数组在处理复杂数据时特别有用。以下是对 Cell 数组更深入的介绍,...

    MATLAB中的Cell数组:用法解析与示例代码

    **Cell数组**是在MATLAB中一种特殊的数据结构,它能够容纳不同类型的数据,包括但不限于数值、字符串(文本)、甚至其他的数组或Cell数组。这种灵活性使得Cell数组成为处理复杂数据集的理想选择。与其他单一类型的...

    华表cell组件帮助手册

    Cell组件(Activex 控件,扩展名为OCX)主要适用于开发windows应用程序,是为商业软件解决实际开发过程中的图表、报表显示,输入,打印输出等问题的最理想的解决方案。可在VC, VB, Delphi, PB,VFP,C++ Builder等...

    麦肯锡工具软件:think_cell详细教程

    - think_cell内置了数据输入表,方便用户直接在PowerPoint中输入数据。 - 数据表支持绝对值和相对值两种输入方式。 **绝对值与相对值** - 绝对值表示具体数值,而相对值则是相对于其他数据的比例。 - 用户可以根据...

Global site tag (gtag.js) - Google Analytics