2014-06-16 7 views
0

ASPX 페이지를 만들고 데이터보기 웹 파트를 사용했습니다. 도메인없이 사용자 로그온 정보를 기반으로 목록 항목을 필터링하려고합니다.매개 변수 값을 다른 매개 변수로 전달 - SharePoint Designer

나는 기본적으로 (목록의 열/필드라는 USER_NAMES에) 목록 항목을 필터링 할 매개 변수 (로그온) 및 할당 된 서버 변수 LOGON_USER (이 날 "도메인 \ 사용자 이름"username을 제공합니다)

을 만들었습니다 "username"만을 기반으로하며 도메인을 확인하지 않습니다.

필자는 목록 항목 필드를 매개 변수와 동일하게 설정할 수 있습니다. 다른 매개 변수를 만들고 해당 매개 변수의 값을 substring-after ($ Logon, '\')로 지정하려고합니다. 그러나 SharePoint Designer에서이를 수행 할 수 없습니다. 나는 또한 xslt 필터링을 통해 그것을 시도했지만 데이터 소스가 생성 된 후에도 그렇게되지는 않는다.

답변

0

URL로 매개 변수로 보내기 전에 javascript를 사용하여 사용자 이름을 얻거나 사용자 이름을 자르십시오. 그런 다음 DVWP 데이터 소스를 올바르게 필터링 할 수 있습니다.

또는 실제로 XSLT 필터링을 사용하십시오. 어디에 넣을 지 알 필요가 있습니다. XSLT 필터링을 사용하면 모든 사용자의 데이터가 쿼리에 의해 반환되고 필터는 렌더링에만 영향을줍니다.

<xsl:template name="dvt_1"> 
    <xsl:variable name="dvt_StyleName">Table</xsl:variable> 
    <xsl:variable name="Rows" select="/dsQueryResponse/Rows/Row[@UserName = $Logon]" /> 

필드 이름을 반영하도록 조정하십시오.

+0

xslt 필터링의 문제점은 DataSource 인/dsQueryResponse/Rows/Row를 필터링한다는 것입니다. 데이터 소스 쿼리를 점검하고 위의 구성에 따라 LOGON_USER를 기반으로 필터링합니다. 즉, QueryResponse에서 다른 도메인에있는 목록 항목을 가져 오지 않습니다. – TSSS22

+0

그럼 다른 옵션을 사용하십시오. – teylyn

+0

teylyn에게 답해 주셔서 고맙습니다. 그러나 자바 스크립트를 사용하지 않고 몇 가지 솔루션을 얻길 희망합니다. – TSSS22