2010년 4월 13일 화요일

인포패스 양식에서 보조데이터 코드로부터 이름(값) 가져오기


콤보박스에 연결된 보조데이터에서 코드 및 코드값(이름)가져오는 방법을 알아낸 것 같군요.
XPATH를 잘 쓰면 되겠다 싶었는데, 알고 보니 그걸 인포패스에서 지원을 해줍니다.
그동안 코드노드 혹은 이름노드 한곳에만 값을 넣었고, 필요할 때 다른 하나를 가져오지 못했는데 할 수 있게 되었습니다.
정광원선생은 아래 방식을 사용해서 아까 얘기했던 IO값 및 Account값을 가져와서 수정하는 것에 적용해주기 바랍니다.
1. 규칙을 사용하면 아래 그림처럼 설정해주면 되고,
2. 코딩으로 할 때는 빨간상자6번에 있는 XPATH 값을 아래 코딩에서처럼 사용하면 됩니다.
String code = XHelper.OutputNodeData(원본데이터코드노드, “원본데이터코드노드의Xpath”, “”);
String value = XHelper.OutputNodeData(보조데이터반복노드, string.Format(“보조데이터이름노드의Xpath[../PV_MASTERCODE = ‘{0}’]”,code), “값이 없는 경우 기본값”);
XHelper.InputNodeData(targetValueNode, “코드밸류입력할본문노드XPATH”, value);
예를 들어 다음과 같은 XPATH 가 있으면

//*[local-name()=’AccountName’][../*[local-name()=’AccountCode’ and text()=’101010’]
해석은 다음과 같습니다.
AccountCode값이 ‘101010’인 AccountName 노드를 가져와라…

댓글 없음:

댓글 쓰기