0

Я пытаюсь поставить пользовательских JavaScript переменную или функцию на странице просмотра списка в Sharepoint, в внутри CAML запроса, с помощью SharePoint DesignerИспользование JavaScript переменной или функции внутри CAML запроса на список SharePoint просмотра страницы с Sharepoint дизайнером

, например:

Я открываю список видов, которые я хочу изменить. чем я добавление персонализированного кода JavaScript код, который будет выполняться при загрузке страницы, и я хочу использовать значение, возвращенное этой функции внутри CAML запроса:

<View Name="{SOMENAME}" MobileView="TRUE" Type="HTML" DisplayName="MyGroups" Url="SOMEURL" Level="1" BaseViewID="2" ContentTypeID="0x" ImageUrl="/_layouts/15/images/issuelst.png?rev=23" > 
      <Query> 
       <OrderBy> 
        <FieldRef Name="ID" Ascending="FALSE"/> 
       </OrderBy> 
       <Where> 
        <Eq> 
         <FieldRef Name="Group_x0020_Name"/> 
         <Value Type="Text">BPA</Value> 
        </Eq> 
       </Where> 
      </Query> 
      <ViewFields> 
       <FieldRef Name="LinkTitle"/> 
      </ViewFields> 
      <RowLimit Paged="TRUE">10</RowLimit> 
      <Aggregations Value="Off"/> 
      <JSLink>clienttemplates.js</JSLink> 
      <XslLink Default="TRUE">main.xsl</XslLink> 
      <Toolbar Type="Standard"/> 
     </View> 

так что я хочу поставить переменную или функцию здесь:

<FieldRef Name="Group_x0020_Name"/> 
<Value Type="Text">HERE VARIABLE OR JAVASCRIPT</Value> 

Возможно ли это?

+0

пожалуйста, по крайней мере, ответьте, если возможно – wol

+0

на странице listVIew (на сайте, а не SPD) -> изменить страницу -> добавить веб-часть скриптов и там вставить свой код при загрузке и т. д. – WantToDo

+0

да, я могу вставить код там, но как передать нужную переменную в listview? – wol

ответ

0

here - отличная статья. Но как насчет того, что я сейчас ругаюсь, не может правильно удалить лишние элементы из представления. для exmaple:

(function() { 
function listPreRender(renderCtx) { 
    var rows = renderCtx.ListData.Row; 
    var i = rows.length; 
    while (i--) { 
     var del = rows[i]['Group_x0020_Name'] === 'BPA'; 
     if (del) { 
      rows.splice(rows[i], 1); 
     } 
    } 
    renderCtx.ListData.LastRow = rows.length; 
} 
function registerListRenderer() { 
    var context = {}; 
    context.Templates = {}; 
    context.OnPreRender = listPreRender; 
    SPClientTemplates.TemplateManager.RegisterTemplateOverrides(context); 
} 
ExecuteOrDelayUntilScriptLoaded(registerListRenderer, 'clienttemplates.js'); 
})(); 

иногда удаляет предметы из вида, иногда нет. И несмотря на то, что ни один элемент не показан, фильтр столбцов по-прежнему доступен для просмотра. здесь изображение link

Смежные вопросы