- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有没有办法强制 JqGrid 行/列数据为“脏”?
每当我检查 .getChangedCells('dirty')
时,我想添加一个未修改的附加行,因此使用此方法不会返回它。
我想要的只是将行/列数据强制标记为脏,这样每当我调用此方法时,它也会返回该行。
我的 jqgrid 数据是:
var mydata = [
{id:"1",blkNo:"101",floorNo:"04",unitNo:"184",area:"1000",streetName:"Peck Seah Street",interested:"Yes",price:"3000000",pricePSF:"3000",dateofLaunch:"2011-05-05",dateofSale:"",dateAborted:"",unitStatus:"Draft",saleInd:0,propertyType:1,leastPrice:"200000",leastPricePSF:"200"},
{id:"2,"blkNo:"101",floorNo:"04",unitNo:"184",area:"1000",streetName:"Peck Seah Street",interested:"Yes",price:"3000000",pricePSF:"3000",dateofLaunch:"2011-05-05",dateofSale:"",dateAborted:"",unitStatus:"Draft",saleInd:0,propertyType:1,leastPrice:"200000",leastPricePSF:"200"},
{id:"3",blkNo:"101",floorNo:"04",unitNo:"184",area:"1000",streetName:"Peck Seah Street",interested:"Yes",price:"3000000",pricePSF:"3000",dateofLaunch:"2011-05-05",dateofSale:"",dateAborted:"",unitStatus:"Draft",saleInd:0,propertyType:1,leastPrice:"200000",leastPricePSF:"200"},
{id:"4",blkNo:"101",floorNo:"04",unitNo:"185",area:"1000",streetName:"Peck Seah Street",interested:"Yes",price:"3000000",pricePSF:"3000",dateofLaunch:"2011-05-05",dateofSale:"",dateAborted:"",unitStatus:"Submitted",saleInd:0,propertyType:1,leastPrice:"200000",leastPricePSF:"200"},
{id:"5",blkNo:"101",floorNo:"04",unitNo:"186",area:"1000",streetName:"Peck Seah Street",interested:"Yes",price:"3000000",pricePSF:"3000",dateofLaunch:"2011-05-05",dateofSale:"",dateAborted:"",unitStatus:"Submitted",saleInd:0,propertyType:2,leastPrice:"200000",leastPricePSF:"200"},
{id:"6",blkNo:"101",floorNo:"04",unitNo:"187",area:"1000",streetName:"Peck Seah Street",interested:"Yes",price:"3000000",pricePSF:"3000",dateofLaunch:"2011-05-05",dateofSale:"",dateAborted:"",unitStatus:"Submitted",saleInd:0,propertyType:3,leastPrice:"200000",leastPricePSF:"200"},
{id:"7",blkNo:"101",floorNo:"04",unitNo:"188",area:"1000",streetName:"Peck Seah Street",interested:"Yes",price:"3000000",pricePSF:"3000",dateofLaunch:"2011-05-05",dateofSale:"",dateAborted:"",unitStatus:"Submitted",saleInd:0,propertyType:3,leastPrice:"200000",leastPricePSF:"200"},
{id:"8",blkNo:"101",floorNo:"04",unitNo:"189",area:"1000",streetName:"Peck Seah Street",interested:"Yes",price:"3000000",pricePSF:"3000",dateofLaunch:"2011-05-05",dateofSale:"2011-05-10",dateAborted:"2011-05-15",unitStatus:"Submitted",saleInd:1,purchaserDtail:0,propertyType:0,leastPrice:"200000",leastPricePSF:"200"},
{id:"9",blkNo:"101",floorNo:"04",unitNo:"190",area:"1000",streetName:"Peck Seah Street",interested:"Yes",price:"3000000",pricePSF:"3000",dateofLaunch:"2011-05-05",dateofSale:"2011-05-10",dateAborted:"2011-05-15",unitStatus:"Submitted",saleInd:1,purchaserDtail:0,propertyType:0,leastPrice:"200000",leastPricePSF:"200"},
{id:"10",blkNo:"101",floorNo:"05",unitNo:"191",area:"1000",streetName:"Peck Seah Street",interested:"Yes",price:"3000000",pricePSF:"3000",dateofLaunch:"2011-05-05",dateofSale:"2011-05-10",dateAborted:"2011-05-15",unitStatus:"Submitted",saleInd:1,purchaserDtail:1,propertyType:1,leastPrice:"200000",leastPricePSF:"200"},
{id:"11",blkNo:"101",floorNo:"05",unitNo:"192",area:"1000",streetName:"Peck Seah Street",interested:"Yes",price:"3000000",pricePSF:"3000",dateofLaunch:"2011-05-05",dateofSale:"2011-05-10",dateAborted:"2011-05-15",unitStatus:"Submitted",saleInd:1,purchaserDtail:2,propertyType:2,leastPrice:"200000",leastPricePSF:"200"},
{id:"12",blkNo:"101",floorNo:"05",unitNo:"193",area:"1000",streetName:"Peck Seah Street",interested:"Yes",price:"3000000",pricePSF:"3000",dateofLaunch:"2011-05-05",dateofSale:"2011-05-10",dateAborted:"2011-05-15",unitStatus:"Submitted",saleInd:2,purchaserDtail:2,propertyType:2,leastPrice:"200000",leastPricePSF:"200"},
{id:"13",blkNo:"102",floorNo:"01",unitNo:"183",area:"1000",streetName:"Peck Seah Street",interested:"Yes",price:"3000000",pricePSF:"3000",dateofLaunch:"2011-05-05",dateofSale:"2011-05-10",dateAborted:"2011-05-15",unitStatus:"Submitted",saleInd:2,purchaserDtail:1,propertyType:1,leastPrice:"200000",leastPricePSF:"200"},
{id:"14",blkNo:"102",floorNo:"02",unitNo:"184",area:"1000",streetName:"Peck Seah Street",interested:"Yes",price:"3000000",pricePSF:"3000",dateofLaunch:"2011-05-05",dateofSale:"2011-05-10",dateAborted:"2011-05-15",unitStatus:"Submitted",saleInd:2,purchaserDtail:0,propertyType:0,leastPrice:"200000",leastPricePSF:"200"},
{id:"15",blkNo:"103",floorNo:"03",unitNo:"183",area:"1000",streetName:"Peck Seah Street",interested:"Yes",price:"3000000",pricePSF:"3000",dateofLaunch:"2011-05-05",dateofSale:"2011-05-10",dateAborted:"2011-05-15",unitStatus:"Submitted",saleInd:2,purchaserDtail:0,propertyType:1,leastPrice:"200000",leastPricePSF:"200"}
];
这是我的 getModifiedRows
方法:
function getModifiedRows() {
var allRowsInGrid = $('#list4').jqGrid('getRowData');
for(j=0; j< allRowsInGrid.length;j++)
{
if( allRowsInGrid[j]['unitStatus'] == 'Draft')
{
var rowId = allRowsInGrid[j]['id'];
$('#list4').addClass("dirty-cell");
$("#list4").jqGrid("setCell", rowId ,'pricePSF' ,'', "dirty-cell");
}
}
var retRows = $('#list4').getChangedCells('all');
var retCol = $('#list4').getChangedCells('dirty');
var entireGrid = $("#list4").jqGrid('getGridParam','colNames');
if(retCol != '' && retRows != '')
{
alert(retCol);
for(i=0; i< retCol.length;i++)
{
var obj = retCol[i];
obj['row_Index']= retRows[i]['row_Index'];
obj['unitStatus']= retRows[i]['unitStatus'];
obj['pricePSF']= retRows[i]['pricePSF'];
alert(retRows[i]['unitStatus']);
if(retRows[i]['unitStatus'] == 'New')
{
retCol[i] = retRows[i];
}
}
var modColData = JSON.stringify(retCol);
var modRows = JSON.stringify(retRows);
document.getElementById("getGridData").value = modRows;
document.getElementById("getModColData").value = modColData;
}
}
虽然我没有从这段代码中得到任何错误,但我没有在下面的代码中得到这一行:
var retCol = $('#list4').getChangedCells('dirty');
正如 getModifiedRows 中明确指出的那样,我希望在 unitStatus = Draft
中返回每个单位
var retCol = $('#list4').getChangedCells('dirty');
如果我为此列传递任何硬编码值,我可以看到值发生变化,例如:
$("#list4").jqGrid("setCell", rowId ,'pricePSF' ,'200', "dirty-cell");
但我仍然无法在修改后检索它
var retCol = $('#list4').getChangedCells('dirty');
这是我的 colNames
和 colModel
:
colNames:['S No','Block No','Floor No', 'Unit No', 'Street Name',' 6- Digit Postal Code' ,'Trans Id','Address','Property Type','Area (sqm)','Date of Option Issued','Nett Transacted Price ($)','Gross Transacted Price ($)','Transacted Unit Price ($psf)','Nationality Of Buyer','Interested Party Transaction','Date of Option Aborted','Unit Status','listPriceFilter','salePriceFilter','sale_Date_Filter','aborted_Date_Filter','row_Index'],
//column no [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
colModel:[
{name:'id', index:'id', width:40, align:"center", sorttype:"int"},
{name:'blkNo', index:'blkNo', width:40, align:"center", sorttype:"text", sortable:true, editable:true, editrules:{custom:true, custom_func:mandatoryChk}},
{name:'storey', index:'storey', align:"center", width:40, sorttype:"text", sortable:true, editable:true, editrules:{custom:true, custom_func:storeyCheck}},
{name:'unit_No',index:'unit_No', width:40, align:"center", sorttype:"text", editable:true, editrules:{custom:true, custom_func:checkUnit}, onblur: 'submit'},
{name:'street_Name', index:'street_Name', width:60, align:"center", sorttype:"text", editable:true, editrules:{required:true}},
{name:'postal_code', index:'postal_code', width:60, align:"center", sorttype:"text", editable:true, editrules:{custom:true, custom_func:postalCode}},
// {name:'postal_code', index:'postal_code', width:60, align:"center", sorttype:"text", editable:true, editrules:{custom:true}},
{name:'trans_Id', index:'trans_Id', width:60, align:"center", sorttype:"text", editable:false},
{name:'address', index:'address', width:60, align:"center", sorttype:"text", editable:false},
{name:'property_Type', index:'property_Type', align:"center", width:80, sortable:true, editable:true, edittype:"select", editoptions:{value:pptyTypeStr}, formatter:'select', stype: 'select'},
{name:'area', index:'area', width:50, align:"center", sorttype:"integer", editable:true, editrules:{custom:true, custom_func:myAreaCheck, number:true, required:true}},
{name:'sale_Date', index:'sale_Date', align:"center", width:75, sorttype:"date", sortable:true, editable:true, editoptions: {
dataInit: function (element) {
$(element).datepicker({
dateFormat:"dd/mm/yy",
onSelect: function(dateText, inst) {
var $input = inst.input; // the datepicker input
var $row = $input.parents("tr");
$("#list4").jqGrid('saveRow',$row.attr("id"), false);
}
});
}
}},
// {name:'nett_Price', index:'nett_Price', width:80, align:"center", sorttype:"currency", formatter: 'currency',formatoptions: { thousandsSeparator: ", " , decimalPlaces: 0, defaultValue: '' }, editable:true , editrules:{custom:true, custom_func:mynettpricecheck , number:true} },
{name:'nett_Price', index:'nett_Price', width:80, align:"center", sorttype:"text", editable:true, editrules:{custom:true, custom_func:mynettpricecheck }},
// {name:'sale_Price', index:'sale_Price', width:80, align:"center", sorttype:"currency", formatter: 'currency', formatoptions: { thousandsSeparator: ", " , decimalPlaces: 0}, editable:true ,editrules:{custom:true, custom_func:mypricecheck,number:true}},
{name:'sale_Price', index:'sale_Price', width:80, align:"center", sorttype:"text", editable:true},
{name:'pricePSF', index:'pricePSF', width:80, align:"center", sorttype:"text", editable:false},
{name:'nationality_Code', index:'nationality_Code', width:80, align:"center", editable:true, sortable:true, edittype:"select", formatter:'select', stype: 'select', searchoptions:{
sopt: ['eq'],
dataInit: function(el){
var defOption = $("option:contains("+defaultCategory+")",el);
defOption.attr("selected", "selected");
setTimeout(function(){
$(el).trigger('change');
},500);
}
},
sorttype: function(cell, obj) {
return purchaserDtail[cell];
},
editoptions:{value:purchaserDtailStr}
},
{name:'interested', index:'interested', align:"center",width:70, sortable:true, editable:true, edittype:"select", formatter:'select', stype: 'select', editoptions:{value:interestedStr}},
{name:'dateAborted', index:'dateAborted', align:"center", width:75, sorttype:"date", sortable:true, editable:true,
editoptions: {
dataInit: function (element) {
$(element).datepicker({
dateFormat:"dd/mm/yy",
onSelect: function(dateText, inst) {
var $input = inst.input; // the datepicker input
var $row = $input.parents("tr");
$("#list4").jqGrid('saveRow',$row.attr("id"), false);
}
});
}
}
},
{name:'unitStatus', index:'unitStatus', align:"center", width:60, sortable:true, editable:false},
{name:'listPriceFilter', index:'listPriceFilter', align:"center", width:40, editable:false},
{name:'salePriceFilter', index:'salePriceFilter', align:"center", width:40, editable:false},
{name:'sale_Date_Filter', index:'sale_Date_Filter', align:"center", width:40, editable:false},
{name:'aborted_Date_Filter', index:'aborted_Date_Filter', align:"center", width:40, editable:false},
{name:'row_Index', index:'row_Index', align:"center", width:40, editable:false, key:true}
],
最佳答案
您只需添加 "dirty-cell"
类到您想要标记为“脏”的单元格(<td>
元素)。您可以使用例如 setCell方法将类添加到由 rowid 和列名指定的单元格:
$("#yourGridId").jqGrid("setCell", rowid, "columnName", "", "dirty-cell");
已更新:您以错误的方式提出问题。方法getChangedCells
只能与 cell editing 一起使用。在单元格编辑模式下编辑的每个单元格都会得到 "dirty-cell"
保存单元格修改后的类。这些行另外获得 "edited"
类(class)。方法getChangedCells
使用事实。
您后来发布的代码显示您使用 saveRow方法属于 inline editing 的一部分。您不能在一个网格中混合单元格编辑和内联编辑。
您没有发布您使用的完整代码。所以我不清楚你想使用哪种编辑模式。如果您确实想使用单元格编辑,那么您应该修改代码以使用 saveCell而不是saveRow 。此外,如果您需要将某些单元格标记为“脏单元格”,您需要将该行标记为
var $grid = $("#yourGridId");
$($grid[0].rows.namedItem(rowid)).addClass("edited");
$grid.jqGrid("setCell", rowid, "columnName", "", "dirty-cell");
或
var $grid = $("#yourGridId");
$("#" + $.jgrid.jqID(rowid)).addClass("edited");
$grid.jqGrid("setCell", rowid, "columnName", "", "dirty-cell");
之后您将可以使用getChangedCells
方法。
如果您确实想使用内联编辑而不是单元格编辑,您将无法使用 getChangedCells
,但您可以枚举具有 <tr>
的行( editable
元素)属性。该类将添加到所有已编辑的行中。如果该属性的值为“1”,则该行现在正在编辑,您必须调用 saveRow方法来保存更改。如果该属性的值为“0”,则该行之前已被编辑过,并且可以解释为“脏”。没有 editable
的行属性未根据内联编辑进行编辑。
关于jquery - 将行/列标记为脏,以便可以使用 .getChangedCells ('dirty' 返回),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14703082/
Android 似乎真的不喜欢invalidate (Rect dirty),它用于仅使 Canvas 的一部分无效。当我使 Canvas 的一部分(下面以绿色显示)无效并且需要同时重绘 Canvas
来自 Leoliger 2ed 的 Git 版本控制, After you commit the addition of the new file into the repository, git s
我使用基本的 Valgrind 工具时出现了意外行为。对于基本 block 的每个 Put 语句,我使用以下方法注册一个脏助手unsafeIRDirty_0_N。问题是脏助手被调用的次数比预期的多,例
我想知道是否有人可以告诉我 hibernate 脏 session 是什么?我似乎遇到了一个问题,条件查询在不应该执行插入时执行了插入。我相信这与脏 session 有关,但在不真正了解脏 sessi
我正在尝试构建一个用于通用添加标签的 ADF 映射数据流 - 其目的是查看特定列中的值并将其替换为标签。我已经有了如下所示的数据集(表 B): enter image description here
我需要在刷新所有更改的实体之前编写一些业务逻辑。我尝试过的解决方案之一是 IPreUpdateEventListener。但是这个事件监听器已经将对象非规范化为键值。我需要在非规范化甚至刷新之前的一些
基于此help link我能够实现颜色更改,但在此解决方案中,它将颜色应用于整行,这不是我想要的。 我想更改唯一编辑过的单元格的颜色。如果有人有任何想法,请分享。谢谢。 最佳答案 这是一个带有您想要的
我想做什么? 我正在尝试反编译一个 apk 文件,修改它并重新编译它。 我的工作环境是什么? root@l0calh0st:~/Desktop/APKS/Projects# uname -a Linu
“ps”和“top”等工具报告各种内存使用情况,例如 VM 大小和驻留集大小。但是,这些都不是“真正的”内存使用情况: 程序代码在同一程序的多个实例之间共享。 共享库程序代码在使用该库的所有进程之间共
Martin Fowler说我们应该在添加新功能之前进行重构(假设原始程序结构不佳)。 所以我们都想重构这个脏代码库,这是肯定的。我们还知道,如果没有单元测试代码,就很容易引入细微的错误。 但这是一个
在开始开发一些实验性的东西之前,我创建了一个新分支。我通常会忘记这一点(这不是问题),但现在我事先做了。 从那以后,我更新了 3 个文件。 在 2 中只是我不想提交到安全分支的实验性更改。 在 1 中
这是代码的精简版本: gridDataSource = new kendo.data.DataSource({ batch: true, transport: {
内容: 我正在使用azure广告构建一个简单的登录应用程序,该应用程序可以正常登录并获取 token ,然后可以重定向到下一页,但是在重定向之前会引发错误 错误: The following _Typ
我想将我的摘要字段设置为 body 字段的清理版本,但前提是用户不提供他们自己的摘要,即。 params[:document][:summary] 为空。 如果我创建一个新记录,这似乎工作正常,如果我
我正在使用乐观锁定来防止人们在竞争条件下覆盖彼此的变化。 因为我从 5.1 升级了 Rails至 5.2 ,我的规范坏了,我将其追溯到 changes 中的事实。数组,与文件上传相关的更改不再Uplo
我似乎无法解决这个问题,所以如果有人可以帮助我,请您坚持一下! import 'dart:async'; import 'dart:convert'; import 'package:http/htt
我是一名优秀的程序员,十分优秀!