これに続いてSearch demoを展開し、指定された属性名のみを検索するように拡張しようとしています。ビューアーモデルを属性名で検索する
属性名なしで動作し、一致するIDの配列を返します。しかし、属性名に何かを指定すると、空の配列が返されます。私は、属性名のためにいくつかの魔法が必要であると推測しています。
ので、現在私が持っている:
searchPropertiesは、ユーザ入力、例えば「名前」で、searchPropListは、単一の要素の配列となりfunction search() {
var txtArea = document.getElementById("TextAreaResult");
var searchStr = document.getElementById("SearchString").value;
var searchProperties = document.getElementById("SearchProperties").value;
if (searchStr.length == 0) {
txtArea.value = "no search string.";
return;
}
var viewer = viewerApp.getCurrentViewer();
viewer.clearSelection();
if (searchProperties.length == 0)
viewer.search(searchStr, searchCallback, searchErrorCallback);
else {
var searchPropList = searchProperties.split(',');
viewer.search(searchStr, searchCallback, searchErrorCallback, searchPropList);
}
}
。
同じ例では、各プロパティのdisplayNameとdisplayCategoryを返すgetProperties()についても説明しますが、別の内部名は表示されません。
明らかなものがありません。from here、または何らかの形で「名前」を変換する必要がありますか。
または、displayNameではなく実際の名前をリストする例がありますか?
私はこれを調べていますが、 'attributeNames'パラメータで大文字と小文字が区別されているようです。 –
検索がsearchProperties = 'name'で機能するので、私はまだカスタムプロパティを取得できません。 属性名のない「いいえ」、「いいえ」、または「いいえ」を検索すると、多くのIDが取得され、プロパティパネルで「非表示」と「必須」が強調表示されます。 属性として「非表示」、「非表示」、「必須」または「必須」をそれぞれ追加すると、空のまま返されます。 –
"name"が動作し、 "Name"プロパティが表示されないのに、displayNameプロパティが "Name"である場合、内部 "name"は "Name"として報告されますか? –