ItemAdding 이벤트 수신기를 사용하여 한 필드의 값을 기반으로 여러 필드를 업데이트합니다.

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/53731

문제

SpfieldMulticolumn 유형의 사용자 정의 SharePoint 2010 Spield가 있습니다. 이 열의 데이터는 구분 된 문자열에 저장되며 대부분의 영역 (목록보기, '속성'등)에서 읽을 수있는 형식으로 구문 분석되고 렌더링됩니다. 원시 데이터는이 (단어 변경) :

# 0; # label1; #true; #guid; #description_of_label; # 1 # 1; # label2; #true; #guid; # description_label2; # ... ...

등등. 설명은 꽤 오래 되어이 문자열을 수백 인구로 만들고 구문 분석을하지 않고 렌더링 할 때 정말 못 생겼습니다. 이 문제는 시스템의 특정 부분에서 필드의 렌더링을 제어 할 수 없습니다. 우리가 볼 수있는 가장 일반적인 문제는 원시 데이터가 표시되고 끔찍한 것처럼 보입니다. 데이터 시트를 사용자가 거의 사용할 수 없게 만듭니다. 데이터는 경고 이메일 및 검색 결과에도 표시됩니다.

나는 이것을 '예쁘게'하고, 내 솔루션이 보조, '디스플레이'열을 추가하고 '데이터'열을 숨기는 것이 었습니다. 항목이 업데이트되거나 추가되면 데이터를 디스플레이 필드로 변환하고 이동하는 이벤트 수신기가있어 데이터 시트보기 등에서 멋지게 보입니다.

이 모든 항목 이이 메타 데이터를 얻는 각 항목에 2 개의 update () 호출이 필요하다는 사실을 제외하고는 모두 작용합니다. '데이터'필드가 채워지고 이벤트 수신자가 디스플레이에 데이터를 복사 할 때 다른 하나는

우리의 생산량 (및 QAS, 테스트 또는 개발이 아님) 농장은 원격 BLOB 저장소 (RBS)를 사용하며 Operation 팀은이 열 (또는 열이라고 추측하는 것)이 Office 문서에서 업데이트 될 때마다 Docx, etc) 파일 시스템에 새 BLOB를 일으 킵니다. 솔루션이 오늘날에 따라 업로드 된 새 파일은 2 개의 BLOB (업로드 용 하나,이 메타 데이터의 응용 프로그램 용)을 생성합니다. 이 새로운 eventReceiver를 사용하면 이제 우리는 Operation 팀에 시각 할 수없는 3 개의 Blob을 생성 할 것입니다 (이를 지원하는 디스크 공간이 50 % 더 많은 디스크 공간이 없음).

'고정'RBS는 질문이 없으므로 다른 하나를 업데이트하기 위해 이벤트 수신자를 실행하는 대신이 모든 열을 즉시 업데이트해야합니다.

업데이트 할 수있는 1 개의 통화로 2 개의 사용자 정의 스피드를 업데이트하는 방법이 있습니까?

TL; DR : 2 개의 사용자 정의 SPFILEDS가있는 사용자 정의 솔루션 - '편집'양식을 통해 업데이트 된 하나는 이벤트 수신기를 통해 (두 번째 데이터의 데이터에 대해 완전히 의존합니다). 이벤트 수신자를 사용하지 않고도 둘 다 업데이트 할 수 있습니까 (한 번만 업데이트 () 호출 만 있으면?)

도움이 되었습니까?

해결책

ItemUpdated 이벤트를 사용하는 것처럼 들립니다.ItemUpdating를 사용한 경우 두 번째 업데이트를 수행하는 대신 AfterProperties를 수정할 수 있다고 생각합니다.

이것은 다음과 같을 수 있습니다 : NBSP : 이벤트 수신기

다른 팁

조회 열을 만들면 조회 목록에서 추가 열을 표시하도록 선택할 수 있습니다.

여기서 원하는대로 레이블 / 설명이있는 목록이고, 레이블 열에 대한 조회 컬럼이며 설명을 추가 필드로 표시합니다.그래도 데이터 시트보기에서 완벽하게 깨끗하게 될지 모르겠지만 개선이 될 것입니다.

이런 종류의 문제에 대한 또 다른 잠재적 인 해결책은 계산 된 열이지만 시나리오가 보이지 않는 것에서도

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 sharepoint.stackexchange
scroll top