2013-08-07 2 views
2

7 주 전에 XPage를 개발하기 시작했으며 "데이터 가져 오기"에 문제가 있습니다.XPage에서 새 문서를 만들 때 어떻게 다른 문서의 데이터를 가져올 수 있습니까?

내 첫 페이지에는 많은 문서가있는보기와 새 페이지를 나에게 리디렉션하는 단추가있어 새 문서를 만듭니다. 첫 번째 페이지에서 문서를 선택할 수 있으며 button을 클릭하면 sessionscope에서 선택된 ID 문서를 넣습니다.

버튼 스크립트 : 나의 새로운 XPage에

var viewPanel=getComponent("viewPanel1"); 
var docIDArray=viewPanel.getSelectedIds(); 
var docUID=database.getDocumentByID(docIDArray[0]).getUniversalID(); 
sessionScope.put("docUID", docUID); 
context.redirectToPage("AjoutSuivi"); 

나는이 스크립트 실행 XPage의 clientLoad에 나의 선택한 문서에 일부 데이터를 얻으려면 : 내 데이터베이스 i에서

var docUID = sessionScope.get("docUID"); 
var doc:NotesDocument = database.getDocumentByUNID(docUID); 
getComponent("contactname1").setValue(doc.getItemValueString("ContactName")); 

을 "ContactName"필드가 있고 XPage에는 contactname1 필드가 있습니다. 나는 "database.getDocumentByID (docUID)"로 시도하고 "데이터베이스"가 데이터베이스의 좋은 링크라는 것을 확신합니다.

나는 그것을 시도 할 때 fieldname1이 (가) 작동하지 않는 이유가 무엇인가?

감사의 날

에게 얀을 도울 수 있다면

PS 그래서 많은 : 미안 내 나쁜 영어

답변

2

경우 afterPageLoad에 코드를 넣고 그 이벤트의 실행 순서에 대해 (작동합니다 보십시오 XPage Cheat Sheet #1 - The Page Lifecycle를보십시오).

+0

오 매우 작동 감사합니다 (지금 유리 따기는, 올바른 구문에 대한 조심) !! – y4nn

2

Y4n XPages 클럽에 오신 것을 환영합니다. 컨트롤을 데이터 소스에 바인딩하는 경우 데이터 소스의 값을 컨트롤보다 더 설정하는 것이 좋습니다. 그래서 당신은 쓰기 :

document1.getDocument().replaceItemvalue(...)