문제

필드의 값에 따라 특정 메타 데이터 필드를 편집 양식으로 표시하고 싶습니다.

예 : 사용자는 DOCLIB에 문서를 업로드하여 관리자가 승인합니다. 항목이 관리자가 승인 할 때까지 메타 데이터 이름, 사례 번호, 위치를 변경할 수 있습니다. 항목이 승인되면 이름과 케이스 번호를 읽도록 설정하고 싶습니다.

이 요구 사항을 충족하는 가장 좋은 방법은 무엇입니까?

승인 된 경우 = 예 이름과 케이스 번호 = 읽기 만 읽기 만하면 아무것도하지 않습니다.


이 방법을 약 5 시간 동안 시도했습니다. 나는 이것이 ModerationStatus와 다를 수 있다고 믿었습니다. 특별한 것이 필요할 수 있습니다

print("<xsl:choose>
<xsl:when test="@_ModerationStatus != '0;#approved'">               
<SharePoint:FormField runat="server" id="ff12{$Pos}" ControlMode="Edit" FieldName="Test_x0020_Session" __designer:bind="{ddwrt:DataBind('u',concat('ff12',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@Test_x0020_Session')}"/>
<SharePoint:FieldDescription runat="server" id="ff12description{$Pos}" FieldName="Test_x0020_Session" ControlMode="Edit"/>                      
</xsl:when>
<xsl:otherwise>
     <xsl:value-of select="@Test_x0020_Session"></xsl:value-of>
</xsl:otherwise>

");

다른 필드와 함께 일할 수는 있지만 중재는 적용 할 수 없습니다. 나는 또한 그것을! = '0'및! = '승인'및 '0;#승인으로 변경하려고 시도했습니다. 내가 잘못하고있는 일이 있습니까?

0에 붙어있는 것 같습니다.#승인

도움이 되었습니까?

해결책

이것은 SharePoint 디자이너와 쉽게 해결할 수 있습니다.

  • 수정해야합니다 editform.aspx 당신의 목록을 위해
  • 기본값을 숨 깁니다 ListFormWebPart (삭제하지 마십시오!)
  • 사용자 정의 편집 항목 양식 삽입 (자세한 내용은...)

사용자 정의 양식은 기본 형식과 정확히 동일하게 보이지만 SharePoint 디자이너와 맞춤화 할 수 있습니다. 아래 코드는 기본 WSS 문제 목록에 사용할 수 있습니다. 문제 제목을 읽기 전용으로 표시합니다 문제 상태 = 닫힙니다.

<xsl:choose>
    <xsl:when test="@Status != 'Closed'">
        <SharePoint:FormField runat="server" id="ff1{$Pos}" ControlMode="Edit" FieldName="Title" __designer:bind="{ddwrt:DataBind('u',concat('ff1',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@Title')}"/>
        <SharePoint:FieldDescription runat="server" id="ff1description{$Pos}" FieldName="Title" ControlMode="Edit"/>
    </xsl:when>
    <xsl:otherwise>
        <xsl:value-of select="@Title"></xsl:value-of>
    </xsl:otherwise>
</xsl:choose>

사용자 정의 목록 또는/및 요구 사항에 동일한 논리를 적용 할 수 있습니다.

평소와 같이 몇 가지 추가 문제가 발생할 수 있습니다. 데이터 뷰 웹 파트에서 @_moderationstatus의 값을 얻을 수 없었습니다. 나는 정확한 이유를 모른다 ...

간단한 해결 방법은 다음과 같습니다.

  1. 문서 라이브러리에서 열을 만듭니다
  2. 새로운 워크 플로 SharePoint 디자이너를 만듭니다.

항목이 변경되면 발사되어 승인 상태의 값을 새로 생성 된 열에 복사해야합니다.

조건부 서식에 사용자 정의 열을 사용할 수 있습니다.

다른 팁

Toni의 의견을 따르십시오 _moderationstatus 다음 XSLT 기능 다음과 같은 현장 사용 :

<xsl:when test="not(starts-with(@_ModerationStatus,'0'))">
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top