SharePoint Designer 2010에서 XlstViewWebPart를 사용자 정의하는 방법은 무엇입니까?
-
09-12-2019 - |
문제
XLSTViewWebPart를 편집하기 위해 XlstViewWebPart를 편집하려고 시도합니다. Butvnt 내 시나리오에 대한 단서를 얻는 것입니다.
WebPart 페이지의 디스플레이 모드 대신 편집 모드에서 제목 링크를 변경하고 싶습니다.
타이틀 링크의 링크가 디스플레이 모드에서 렌더링 됨
다음과 같이 :
편집 모드에서 직접 열려고합니다. 어떤 사람도 Me Plz?
해결책
이를 달성하는 몇 가지 방법이 있습니다.
가장 선호하는 방법이 계산 된 필드를 만드는 것입니다.
1. 계산 된 필드
점은 실제로 모든 SharePoint 목록에 5 개의 "제목"필드가 있습니다.
는 먼저 데이터를 저장하고 다른 4는 계산 이며 첫 번째 열에서 데이터를 사용하여 일부 HTML을 생성하기 만하면됩니다.
비슷한 접근 방식을 사용하고 자신의 계산 된 필드를 목록에 추가 한 다음 목록보기에 추가 할 수 있습니다.
계산 된 필드를 추가하려면 addfieldasxml 메소드.
addfieldasxml 을 사용하여 필드 생성을위한 예제 :
- http://aroundsharepoint.blogspot.com. /2009/02/dynamically-creat-spview-with-checkbox.html
p.s. 편집 양식을 처리하는 가장 안전한 방법은 다음과 같이 ListForm.aspx 페이지를 사용하는 것입니다.
./_layouts/listform.aspx?PageType=6&ListId={PUT-LIST-GUID-HERE}&ID=5
(pageType 값은 pageType 열거 )
2. XSL 변환
다른 옵션은 xsltlistviewwebpart 의 xslt 기능을 사용하는 것입니다. 이 경우 XSL 파일을 작성하고 예를 들어 spview.xsllink 속성.
예 :
.<xsl:stylesheet xmlns:x="http://www.w3.org/2001/XMLSchema" xmlns:d="http://schemas.microsoft.com/sharepoint/dsp" version="1.0" exclude-result-prefixes="xsl msxsl ddwrt" xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime" xmlns:asp="http://schemas.microsoft.com/ASPNET/20" xmlns:__designer="http://schemas.microsoft.com/WebParts/v2/DataView/designer" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:SharePoint="Microsoft.SharePoint.WebControls" xmlns:ddwrt2="urn:frontpage:internal" xmlns:o="urn:schemas-microsoft-com:office:office"> <xsl:include href="/_layouts/xsl/main.xsl"/> <xsl:include href="/_layouts/xsl/internal.xsl"/> <xsl:param name="AllRows" select="/dsQueryResponse/Rows/Row[$EntityName = '' or (position() >= $FirstRow and position() <= $LastRow)]"/> <xsl:param name="dvt_apos">'</xsl:param> <xsl:template match="FieldRef[@Name='LinkTitle']" mode="Computed_LinkTitle_body"> <xsl:param name="thisNode" select="." /> <a> <xsl:attribute name="href">/_layouts/listform.aspx?PageType=6&ListId=<xsl:value-of select="$List" />&ID=<xsl:value-of select="$thisNode/@ID" /></xsl:attribute> <xsl:attribute name="onclick"> SP.UI.ModalDialog.showModalDialog({ url: '/_layouts/listform.aspx?PageType=6&ListId=<xsl:value-of select="$List" />&ID=<xsl:value-of select="$thisNode/@ID" />' }); return false; </xsl:attribute> <xsl:value-of select="$thisNode/@Title"/> </a> </xsl:template> </xsl:stylesheet>
p.s. 이 코드는 테스트되었으며 작동합니다.
다른 팁
다른 가능한 옵션은 디자이너에서보기를 열고 xsl 요소를 추가하는 경우
누구든지 큰 목록에서 세 가지 방법으로 성능 차이에 대해 알고 있습니까?