ソート後、row.originalItemsが不正な値を示す
対象製品
SpreadJS 9J
発生環境
9.20161.0
状況
現象確認済み
詳細
ソートの実行後、row.originalItemsを参照すると不正な値(期待されるoriginalItems値ではない値)が確認される現象が発生します。
【再現手順】
1.以下の再現コードを実行します
2.A列のフィルタボタンを押下し、"Sort Decending"(降順ソート)を実行します
3."getDirtyRows"ボタンを押下します
4.コンソール出力を確認します
【現象】
コンソール出力に
----
col01:"data03"
col02:"A0001"
----
と表示されます。
※期待されるoriginalItems値は
----
col01:"data01"
col02:"A0001"
----
です。
【再現コード HTML】
--------------------------------------------------
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<meta charset="utf-8" />
<script src="http://code.jquery.com/jquery-1.9.1.min.js" type="text/javascript"></script>
<link href="http://cdn.grapecity.com/spreadjs/32015219/css/spread.3.20152.19.css" rel="stylesheet" type="text/css" />
<script src="http://cdn.grapecity.com/spreadjs/32015219/scripts/spread.all.3.20152.19.min.js" type="text/javascript"></script>
<script type="text/javascript">
var data = [{ col01: "data01", col02: "A0001" }, { col01: "data02", col02: "A0002" }, { col01: "data03", col02: "A0003" }];
$(document).ready(function () {
$("#ss").wijspread();
var spread = $("#ss").wijspread("spread");
var sheet = spread.getActiveSheet();
sheet.setDataSource(data);
sheet.rowFilter(new $.wijmo.wijspread.HideRowFilter(new $.wijmo.wijspread.Range(-1, -1, -1, -1)));
$("#button1").click(function () {
var dirtyRows = sheet.getDirtyRows();
var len = dirtyRows.length, str="";
if (len > 0) {
for (var i = 0; i < len; i++) {
var dr = dirtyRows[i];
console.log(dr.originalItem);
}
}
sheet.clearPendingChanges();
});
});
</script>
</head>
<body>
<div id="ss" style="width:100%;height:500px"></div>
<input id="button1" type="button" value="getDirtyRows" />
</body>
</html>
--------------------------------------------------
【再現手順】
1.以下の再現コードを実行します
2.A列のフィルタボタンを押下し、"Sort Decending"(降順ソート)を実行します
3."getDirtyRows"ボタンを押下します
4.コンソール出力を確認します
【現象】
コンソール出力に
----
col01:"data03"
col02:"A0001"
----
と表示されます。
※期待されるoriginalItems値は
----
col01:"data01"
col02:"A0001"
----
です。
【再現コード HTML】
--------------------------------------------------
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<meta charset="utf-8" />
<script src="http://code.jquery.com/jquery-1.9.1.min.js" type="text/javascript"></script>
<link href="http://cdn.grapecity.com/spreadjs/32015219/css/spread.3.20152.19.css" rel="stylesheet" type="text/css" />
<script src="http://cdn.grapecity.com/spreadjs/32015219/scripts/spread.all.3.20152.19.min.js" type="text/javascript"></script>
<script type="text/javascript">
var data = [{ col01: "data01", col02: "A0001" }, { col01: "data02", col02: "A0002" }, { col01: "data03", col02: "A0003" }];
$(document).ready(function () {
$("#ss").wijspread();
var spread = $("#ss").wijspread("spread");
var sheet = spread.getActiveSheet();
sheet.setDataSource(data);
sheet.rowFilter(new $.wijmo.wijspread.HideRowFilter(new $.wijmo.wijspread.Range(-1, -1, -1, -1)));
$("#button1").click(function () {
var dirtyRows = sheet.getDirtyRows();
var len = dirtyRows.length, str="";
if (len > 0) {
for (var i = 0; i < len; i++) {
var dr = dirtyRows[i];
console.log(dr.originalItem);
}
}
sheet.clearPendingChanges();
});
});
</script>
</head>
<body>
<div id="ss" style="width:100%;height:500px"></div>
<input id="button1" type="button" value="getDirtyRows" />
</body>
</html>
--------------------------------------------------