ビューナビゲータ内の現在のエントリまたは指定されたエントリの次にある、同じレベルのエントリに、現在のポインタを移動します。
パラメータ |
説明 |
entry |
ビュー内のエントリです。NULL にすることはできません。 |
戻り値 |
説明 |
boolean |
- 操作が正常終了した場合は true。
- 次の同じレベルのエントリがない場合は false。
|
例
以下のボタンは、レベルとシーケンス番号を指定する 10 進数形式のユーザー入力に応じて、ビューナビゲータを配置します。例えば、
2.5.1 は、2 番目のエントリに移動し、1 レベル下の 5 番目のエントリに移動し、1 レベル下の最初のエントリに移動することを意味します。
var nav:NotesViewNavigator = database.getView("By category and date").createViewNav();
var entry:NotesViewEntry = null;
var firstTime = true;
var position:string = requestScope.query;
if (position.isEmpty()) {
requestScope.status += "¥nNo position";
return;
}
var p:int = 0;
var n:int = 0;
var i:int = 0;
// Expecting position of form p.p ... .p
// Each iteration processes one p
while (!position.isEmpty()) {
// Parse position and verify as number
n = position.indexOf(".");
if (n > -1) {
p = parseInt(position.left(n));
position = position.right(position.length - n -1);
} else {
p = parseInt(position);
position = "";
}
if (isNaN(p)) {
requestScope.status += "¥nInvalid number";
return;
}
// Go to the first entry for the level being processed
if (!firstTime) {
if (!nav.gotoChild()) {
requestScope.status += "¥nInvalid position";
return;
}
} else {
if (!nav.gotoFirst()) {
requestScope.status += "¥nView empty";
return;
}
firstTime = false;
}
// Go to entry # p on the level being processed
for (var i=1; i<(p); i++) {
if (!nav.gotoNextSibling()) {
requestScope.status += "¥nInvalid position";
return;
}
}
}
// Get the entry
entry = nav.getCurrent();
requestScope.status += "¥n" + entry.getPosition(".") + " ";
requestScope.status += entry.getColumnValues().elementAt(entry.getIndentLevel());