ctx 에서 CSR 반환하지 않습 제목
-
10-12-2019 - |
문제
이 필요한 작업의 제목을 클릭하면 목록 항목의 편집 형태로,그리고 볼 수 있습니다.이렇게 하려면 선택하여 사용 CSR.
나는 다음과 같은 코드:
(function () {
var statusFieldCtx = {};
statusFieldCtx.Templates = {};
statusFieldCtx.Templates.Fields = {
"Title": {"View": DataFieldViewTemplate},
};
SPClientTemplates.TemplateManager.RegisterTemplateOverrides(statusFieldCtx);
})();
function DataFieldViewTemplate(ctx) {
var data = ctx.CurrentItem.Title;
console.log(data);
}
그러나 나는 아무것도 볼 브라우저에서 console.변경하는 경우는 코드,이동,하지만 제목 열가 존재하지 않습니다.
여기에 내 편집 코드:
(function () {
var statusFieldCtx = {};
statusFieldCtx.Templates = {};
statusFieldCtx.Templates.Fields = {
"dt_x0020_proximo_x0020_contato": {"View": DataFieldViewTemplate},
};
SPClientTemplates.TemplateManager.RegisterTemplateOverrides(statusFieldCtx);
})();
function DataFieldViewTemplate(ctx) {
var data = ctx;
console.log(data);
}
나의 질문은:은 거기에 오류가 나의 코드?을 할 수 있습니 내가 무엇을 원하는 다른 방법이 있을까?
해결책
그것은 보이려고 하는 사용자 정의 LinkTitle
야 Title (linked to item with edit menu)
, 지 Title
다.
다음 예제를 렌더링하는 방법 LinkTitle
Url 을 설정하여 편집하는 형태로 표시하는 대신 모양:
(function () {
function titleRenderer(renderCtx) {
var item = ctx.CurrentItem;
return '<a class="ms-listlink" onfocus="OnLink(this)" href="' + renderCtx.editFormUrl + '" onclick="EditLink2(this,' + renderCtx.ListTemplateType + ');return false;" target="_self">' + item.Title + '</a>';
}
function registerRenderer()
{
var ctxTitleField = {};
ctxTitleField.Templates = {};
ctxTitleField.Templates.Fields = {
"LinkTitle": {
"View": titleRenderer
}
};
SPClientTemplates.TemplateManager.RegisterTemplateOverrides(ctxTitleField);
}
ExecuteOrDelayUntilScriptLoaded(registerRenderer, 'clienttemplates.js');
})();
다른 팁
이 문제를 적용하려고 시도하는보기의 제목 필드입니다.실제로 제목 필드의 여러 변형 (예 : ...) 메뉴와 함께 있으므로 내부 이름의 내부 이름이 있는지 확인하십시오.
또는 두 번째 코드 스 니펫의 ctx.currentItem에서 얻은 정보를 사용하여 다른 속성이 없는지 확인하려면
제휴하지 않습니다 sharepoint.stackexchange