获得所有繁荣目标的Skript: var all = Bookmark.FragmentBookmark.getAllBookmarkInfos(); all.forEach(function(element,index){LISTBOX_1.addItem(element.id,element.id);});
用于从列表中加载所选书签的脚本: var id = LISTBOX_1.getSelectedValue(); Bookmark.FragmentBookmark.loadBookmark(id);
Sawan,
对于片段书签,通常建议使用面板组件作为容器,但是您可以使用任何有效的容器类型。 我怀疑您的问题与您如何加载"片段书签"而不是容器的选择有关。 为了给您提供进一步的指导,如果您发布以下内容,将会很有帮助:
1)应用程序布局的屏幕快照,突出显示面板;
2)用于保存和加载片段书签的脚本代码。
此致
穆斯塔法。
嗨,穆斯塔法,
感谢您的回复。
以下是我用于保存,加载和删除书签的脚本。
保存:
var书签名称= INPUTFIELD_2.getValue();
如果(bookmarkname =="")
{
APPLICATION.alert("请输入书签名称");
}
其他
{
如果(Bookmark.bookmarkWithTitleExists(bookmarkname))
{
APPLICATION.alert("书签名称已存在");
}
其他
{
Bookmark.FragmentBookmark.saveBookmark(PANEL_1,bookmarkname);
var书签= Bookmark.FragmentBookmark.getAllBookmarkInfos();
bookmarks.forEach(函数(元素,索引)
{
LISTBOX_2.addItem(element.id,element.title);
});
INPUTFIELD_2.setValue("");
}
}
正在加载:
var id = LISTBOX_2.getSelectedValue();
Bookmark.FragmentBookmark.loadBookmark(id);
var书签= Bookmark.FragmentBookmark.getAllBookmarkInfos();
bookmarks.forEach(函数(元素,索引)
{
LISTBOX_2.addItem(element.id,element.title);
});
删除:
Bookmark.FragmentBookmark.deleteBookmark(LISTBOX_2.getSelectedValue());
INPUTFIELD_2.setValue("");
LISTBOX_2.removeAllItems();
LISTBOX_2.addItem(" 1","选择书签",0);
var array = Bookmark.FragmentBookmark.getAllBookmarkInfos();
array.forEach(function(element,index)
{LISTBOX_2.addItem(element.id,element.title);
});
嗨,穆斯塔法,
感谢您的回复。
以下是我用于保存,加载和删除书签的脚本。
保存:
var书签名称= INPUTFIELD_2.getValue();
如果(bookmarkname =="")
{
APPLICATION.alert("请输入书签名称");
}
其他
{
如果(Bookmark.bookmarkWithTitleExists(bookmarkname))
{
APPLICATION.alert("书签名称已存在");
}
其他
{
Bookmark.FragmentBookmark.saveBookmark(PANEL_1,bookmarkname);
var书签= Bookmark.FragmentBookmark.getAllBookmarkInfos();
bookmarks.forEach(函数(元素,索引)
{
LISTBOX_2.addItem(element.id,element.title);
});
INPUTFIELD_2.setValue("");
}
}
正在加载:
var id = LISTBOX_2.getSelectedValue();
Bookmark.FragmentBookmark.loadBookmark(id);
var书签= Bookmark.FragmentBookmark.getAllBookmarkInfos();
bookmarks.forEach(函数(元素,索引)
{
LISTBOX_2.addItem(element.id,element.title);
});
删除:
Bookmark.FragmentBookmark.deleteBookmark(LISTBOX_2.getSelectedValue());
INPUTFIELD_2.setValue("");
LISTBOX_2.removeAllItems();
LISTBOX_2.addItem(" 1","选择书签",0);
var array = Bookmark.FragmentBookmark.getAllBookmarkInfos();
array.forEach(function(element,index)
{LISTBOX_2.addItem(element.id,element.title);
});
嗨Sawan,
使用便携式片段书签时,作为最佳实践,容器组件应仅包括您希望为其状态添加书签的视觉内容。 它不应包含负责书签处理(例如保存,加载和删除)的"管理"组件。
以您的示例为例,用作片段书签容器的PANEL_1组件仅包含管理组件(按钮,列表框,输入字段等),而没有诸如图表之类的"真实"内容。 您需要相应地重组应用程序,以使PANEL_1仅包含可视内容,并将管理组件移到PANEL_1之外。
我上面描述的方法实际上是Christian在他的答案中张贴的示例中实现的方法,尽管我不希望在书签容器中包括过滤器组件。
此致
穆斯塔法。
嗨Sawan,
我建议将面板存储在交叉表/图表或过滤面板所在的位置。
在我的示例中,我有一个交叉表,位于" PANEL_1"(白色背景)中,
在" PANEL_2"(灰色背景)中具有一个维度过滤器
在单击"保存"时,无论存储1还是2都没有区别,因为两者都与同一个数据源相关。
但是:更改容器时,我已经保存的书签遇到了问题,我将其用作书签源。 因此,我始终将容器存储在过滤器面板所在的位置,因为在我看来,这是容器,将对其进行较小的更改。
保存的速记:
//保存灰色容器
Bookmark.FragmentBookmark.saveBookmark(PANEL_2);
获得所有繁荣目标的Skript:
var all = Bookmark.FragmentBookmark.getAllBookmarkInfos(); all.forEach(function(element,index){LISTBOX_1.addItem(element.id,element.id);});
用于从列表中加载所选书签的脚本:
var id = LISTBOX_1.getSelectedValue(); Bookmark.FragmentBookmark.loadBookmark(id);
致谢,
克里斯
一周热门 更多>