作成日: 2018/06/18 最終更新日: 2018/06/27
文書種別
不具合
状況
修正済み
詳細
GcListBoxにチェックボックスを表示して、GcListBoxの高さを2アイテム分以下に設定した場合、アイテムをチェックしてポストバックするとページがビジー状態となり処理が戻らなくなります。
回避方法
Service Pack 2(v10.0.4002.2012)で修正済み。
Service Pack 2を適用せずに対処する場合、この問題に対応したスクリプトをaspxファイルに追加することで回避可能です。
[JavaScript]
<script type="text/javascript">
window.onload = function () {
GCIM.ListCommand.prototype.GetTopIndex = function () {
var scrollTop = this._render._dataContainer.scrollTop;
var min = 0;
var max = this._data._visibleItemIndexCol.GetLength() - 1;
if (this._render._htmlTable.rows.length == 0 || this._render._dataContainer.scrollHeight == 0) {
return -1;
}
var previouseMiddle = -1;
while (min < max) {
var middle = Math.floor((min + max) / 2);
var middleRowIndex = this._data._visibleItemIndexCol.GetAt(middle);
if (previouseMiddle == middle) {
return middleRowIndex;
}
var middleScrollTop = this._render._htmlTable.rows.item(middleRowIndex).offsetTop;
if (middleScrollTop > scrollTop) {
if (middle > 0) {
if (this._render._htmlTable.rows.item(this._data._visibleItemIndexCol.GetAt(middle - 1)).offsetTop < scrollTop) {
return middleRowIndex;
}
else {
max = middle;
}
}
else {
return middleRowIndex;
}
}
else if (middleScrollTop === scrollTop) {
return middleRowIndex;
}
else {
min = middle;
}
previouseMiddle = middle;
}
var result = Math.min(this._data._rowCount - 1, this._data._visibleItemIndexCol.GetAt(min));
if (isNaN(result)) {
result = -1;
}
return result;
};
}
</script>
Service Pack 2を適用せずに対処する場合、この問題に対応したスクリプトをaspxファイルに追加することで回避可能です。
[JavaScript]
<script type="text/javascript">
window.onload = function () {
GCIM.ListCommand.prototype.GetTopIndex = function () {
var scrollTop = this._render._dataContainer.scrollTop;
var min = 0;
var max = this._data._visibleItemIndexCol.GetLength() - 1;
if (this._render._htmlTable.rows.length == 0 || this._render._dataContainer.scrollHeight == 0) {
return -1;
}
var previouseMiddle = -1;
while (min < max) {
var middle = Math.floor((min + max) / 2);
var middleRowIndex = this._data._visibleItemIndexCol.GetAt(middle);
if (previouseMiddle == middle) {
return middleRowIndex;
}
var middleScrollTop = this._render._htmlTable.rows.item(middleRowIndex).offsetTop;
if (middleScrollTop > scrollTop) {
if (middle > 0) {
if (this._render._htmlTable.rows.item(this._data._visibleItemIndexCol.GetAt(middle - 1)).offsetTop < scrollTop) {
return middleRowIndex;
}
else {
max = middle;
}
}
else {
return middleRowIndex;
}
}
else if (middleScrollTop === scrollTop) {
return middleRowIndex;
}
else {
min = middle;
}
previouseMiddle = middle;
}
var result = Math.min(this._data._rowCount - 1, this._data._visibleItemIndexCol.GetAt(min));
if (isNaN(result)) {
result = -1;
}
return result;
};
}
</script>
旧文書番号
82903