
在对getRowData声明:当你在编辑行或单元格做。这将返回单元格内容和输入的不是实际工作值当您拨打该行仍正在编辑getRowData()?更新同意,jqGrid的不处理非常好。在我的应用我其实是能够得到解决这个不指定一个编辑选项(意思是,键/值均为“联邦快递”);翻译为ID,然后在服务器上完成。这是不正确的方式来编写这一点,但它的工作不够好,我的需求2你要设置列的格式为'选择'例如,从维基:colModel:[{的EditType:“选择”,格式:'选择',editoptions:{值:“1:一个2:两个”}}]查看在这里jqgridwiki我有这个问题,这个工作就像一个charisma3我刚解决了这个问题,设置JQGrid的非格式化选项下面的函数用于非格式的单元格值。functionUnformat_Select(cellvalue,options,cellobject){varunformatValue='';$each(optionscolModeleditoptionsvalue,function(k,value){if(cellvalue==value){unformatValue=k;}});returnunformatValue;}该会被调用时,电网需要的时候你所说的“getRowData”法像单元格数据。不过,我的功能只支持键-值配对的编辑选项。你需要改变你的数据,如下面的模式。editoption:{value:{FE:'FedEx',IN:'InTime',TN:'TNT'}}有关非格式化选项,您可以通过以下链接看到。JQGrid的维基-自定义格式化PS。它是可以修改我的功能,支持客户端的DropDownList值。但我认为这是不可能的,应用此功能的服务器端DropDownList的值。更新在最新的jqGrid的381,我刚刚发现的bug取消编辑行(或编程方式调用“restoreRow”的方法),jqGrid的将创建数据的标识键(而不是数据的值)。我创建下面的函数来解决这个问题。这一点,你必须将其作为本专栏的自定义格式化功能。这个函数单元格的值映射到列表键或值的价值。functionJqGridInlineEditor_SelectFormatter(cellvalue,options,rowObject){vartemp='';$each(optionscolModeleditoptionsvalue,function(key,value){if(cellvalue==key||cellvalue==value){temp=value;returnfalse;}});returntemp;}所以,你可以发送键或值作为列数据由上述定义格式呈现。
colNames=$("#UsersGrid")jqGrid('getGridParam','colNames')colModel=$("#UsersGrid")jqGrid('getGridParam','colModel') 楼主去学下调试工具,firebug或者chrome的开发工具,看结构就知道了
参考jqGrid的源代码,getRowData的实现方法是遍历tr获取td的innerhTML。 getRowData在单元格和行编辑模式下受到影响,在表单编辑模式没问题,因为表单没有直接修改jqGrid生成输入对象,而是在新的控件中生成编辑对象。 要想在单元格和行编辑模式下getRowData返回实际的数据行,而不是包含html代码的内容,可以参考下面的。
对于单元格编辑,需要先还原或者保存此单元格,然后再调用getRowData方法,实现如下
1、给grid添加beforeEditCell事件,声明2个window域的变量记录单元格的行号和列号 beforeEditCell:function(rowid,cellname,v,iRow,iCol){ lastrow = iRow; lastcell = iCol; } 2、在调用getRowData获取数据前,先保存/还原单元格 $("#grid")jqGrid("saveCell",lastrow,lastcell);//保存单元格,切换为文本模式 //或者===> //$("#grid")jqGrid("restoreCell",lastrow,lastcell);//还原单元格,切换为文本模式 var recs=$("#grid")jqGrid("getRowData"); 对于行编辑模式,原理一样,还原正在编辑的行或者保存数据到内存中 1,调用editRow时传递oneditfunc事件处理函数保存正在编辑的行的id $('#list4')jqGrid('editRow', rowid, true, function (rowid) { windowrowid=rowid; }); 2,在调用getRowData获取数据前,先保存/还原正在编辑的数据行 jQuery("#grid_id")saveRow(rowid, false, 'clientArray'); //==>或者还原 //jQuery("#grid_id")restoreRow(rowid); var recs=$("#grid")jqGrid("getRowData");
onSelectRow: function (rowid, status) {
function();
},
onSelectAll: function (aRowids, status) {
function();
},
试试这两个方法,第一个是选择单行,第二个是选择所有的,用过的人应该了解,加在jqGrid的属性里面使用,
rowid是选择的当前行的Id,
aRowids是所有行的id,
status是选中行的状态,是选中还是没选择,
希望对你有用。
使用beforeSelectRow事件进行控制,如果已经选中了两行,在选第三行的时候beforeSelectRow返回false即可,要注意一下版本问题,最新版本471和451版本有点差别,471版本上多选功能有bug
父窗口,在iframe中的?如下
父
<input type="text" id="no" name="no" />
<input type="text" id="n" name="n" />
<input type="text" id="s" name="s" />
<iframe height="400" width="500" src="jqgridtesthtml"></iframe>
子
哎又不显示了,具体看我百度空间的文章吧
以上就是关于jqGrid 5.1.1 getRowData获取所有行总是少一条的问题全部的内容,包括:jqGrid 5.1.1 getRowData获取所有行总是少一条的问题、jqGrid如何通过点击单元格的值来获取当前单元格的行标题与列标题、怎样获取编辑后的jqgrid的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)