나는 대시 보드 레이아웃에 ListGrid
을 표시했습니다. 어떤 경우에는 보통 우리가 수행하는 Notes 메시지를 SC.say()
을 사용하여 표시해야합니다.Smartclient : 모달 마스크에 캔버스를 표시하는 방법은 무엇입니까?
하지만 모든 메시지를 표시 할 수있는 자체 캔버스를 설계했으며이를 상위 대시 보드에 배치했습니다.
이제 Listgrid 구성 요소에서 어떤 작업이 수행 될 때 메시지를 표시해야합니다. 창은 모달로 설정되어 있으므로 내 메모 캔버스가 표시되지만 대시 보드 레이아웃은 가면으로 표시됩니다.
마스킹없이 캔버스를 표시하고 싶습니까?
Canvas Without Canvas와 ListGrid가 표시되도록하려면 어떻게해야합니까? [1] 윈도우가 isModal (true) 및 setModalMask (true)로 설정되어 있고 이것이 옵션이지만 프로젝트에서 필요하지만 지금은 그냥 지금 이제이 메시지 구성 요소가 발표자 파일이라고
public class GetMessageDialogBox extends Canvas
{
private GetMessageDialogBox(String messageText)
{
mainLayout = new GetHorizontalLayout("100%", "40", null, 0, 5, null);
btnClose = new GetImgButton(16, 16, "Red_Square_Close.png");
btnClose.setVisible(true);
btnClose.setShowTitle(true);
btnClose.addClickHandler(new ClickHandler()
{
@Override
public void onClick(ClickEvent event)
{
setAnimateTime(1000);
animateMove(10 , Window.getClientHeight());
isVisibleMessageStatus = false;
setVisible(false);
}
});
displayLabel = new GetLabel(messageText,"messageLabelDialogText");
displayLabel.setBackgroundColor("yellow");
displayLabel.setHeight100();
displayLabel.setWidth100();
displayLabel.setValign(VerticalAlignment.CENTER);
mainLayout.addMember(new Canvas(){{
setWidth("50%");
}});
mainLayout.addMember(displayLabel);
mainLayout.addMember(new Canvas(){{
setWidth("20%");
}});
mainLayout.addMember(btnClose);
setParentElement(StaticInfo.mainDashboardLayout);
setVisible(true);
setHeight(40);
setBackgroundColor("yellow");
setBorder("1px solid black");
setLeft(10);
setTop(Window.getClientHeight()-40);
setShowShadow(true);
setShadowOffset(5);
setShadowSoftness(5);
setAnimateTime(100);
timer.schedule(5000);
addChild(mainLayout);
customMask.show();
bringToFront();
show();
}
}
표시되어 정상적인 마스크로 강조하지로 단지 YELLOW 캔버스 메시지 표시를 가지고해야합니다.
customMask.show();
winLoadList.bringToFront();
winLoadList.show();
위의 코드는 내가 또한 메시지 구성 요소는 다음과 같은 코드를 함께 가면 표시 할 필요가 나는이 메시지 구성 요소를 호출 할 때 현재의 마스크 있지만 보여줄 필요로 목록 그리드에 사용되지만, 세 가지 브라우저 다른 O/P를 제공합니다.
customMask.show();
GetMessageDialogBox.getInstance(messages.LoadPresenter_NoRecordSelected()).bringToFront();
GetMessageDialogBox.getInstance(messages.LoadPresenter_NoRecordSelected()).show();
나는이 문제를 이해하지 않습니다. 양식은 선택 사항입니다. 샘플 코드 또는 더 나은 스크린 샷을 게시 할 수 있습니까? –
@ Jean-Michel Garcia : 스크린 샷을 추가하고 질문을 편집했습니다. ListGrid가 표시 될 때 마스크가없는 노란 캔버스 쇼 만 필요합니다. 마스크가 적용될 필요가 있다고 생각하면 – sbhatt
여기서 우리는 StackOverflow에서 작업을 수행 할 수 없습니다. 모든 것이 아닌 관련 * 코드를 게시해야합니다. 이와 같은 귀하의 게시물은 커뮤니티가 확실히 무시할 것입니다. 나는 당신이 그것을 성취 할 수있는 방법에 대한 단서를 게시했다. –