ユーザーがピボット セルをダブルクリックまたは右クリックしたとします。選択された場所を確認するにはどうすればよいですか?
たとえば、ユーザーは場所を選択してその位置を再評価したい場合があります。したがって、場所に応じて、対応する本/地域をグリッドに送信する必要があります。
ユーザーがピボット セルをダブルクリックまたは右クリックしたとします。選択された場所を確認するにはどうすればよいですか?
たとえば、ユーザーは場所を選択してその位置を再評価したい場合があります。したがって、場所に応じて、対応する本/地域をグリッドに送信する必要があります。
com.quartetfs.pivot.live.client.drillthrough.impl.DrillthroughExecutor.execute(IPivotDataCell, IMdxSelect, Cube, IMemberHasChildren, IMdxVisitorContext)
このタスクに使用できます。これは、ドリルスルーのために Live が内部的に使用するものです。IPivotCellContextHandler
これは、次のように実行できます。
@Override
public void onPivotCellContext(PivotCellContextEvent event) {
final IPivotCell pivotCell = event.getPivotCell();
if(null != pivotCell && pivotCell instanceof IPivotDataCell) {
//Show the context menu only for pivot-table data
IPivotDataCell pivotDataCell = (IPivotDataCell) pivotCell;
IMdxSelect select = event.getMdxModelPresenter().getMdxModel().getMdxSelect();
Cube cube = event.getMdxModelPresenter().getMdxModel().getCube();
FilterDescription fd = locationExtractor.execute(
pivotDataCell,
select,
cube,
new MdxModelMemberHasChildren(event.getMdxModelPresenter().getMdxModel()),
new DefaultMdxVisitorContext(select, cube)
);
// If filter description is too complicated we do not display the menu
if (fd == null) {
//TODO add entry in menu explaining that mdx is too complext to be converted to a location.
}
if (fd.getLocations().length != 1) {
//TODO handle, this should not happen but should be checked.
}
そして、fd.getLocations[0]
あなたの目的に使用することができます。