簡體   English   中英

使用Sharepoint Designer在Sharepoint列表視圖頁面上的caml查詢中使用JavaScript變量或函數

[英]Using javascript variable or function inside caml query on sharepoint list view page with sharepoint designer

我正在嘗試使用共享點設計器將自定義JavaScript變量或函數放入caml查詢內的共享點的列表視圖頁面中

例如:

我正在打開要修改的列表視圖。 比我要添加將在頁面加載時執行的自定義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>

可能嗎?

是一篇很棒的文章。 但是我現在正在修補的是,無法正確地從視圖中刪除多余的項目。 例如:

(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');
})();

有時從視圖中刪除項目,有時否。 盡管事實上沒有任何項目顯示在視圖中,但仍然可以看到列過濾器。 這是圖像鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM