不显示列表的项目消息 [英] Display no items message for a list
本文介绍了不显示列表的项目消息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个列表,可以在页面上的CEWP上显示警报,如下所示。根据每个项目的列选择,它有不同的颜色。如何显示"无活动项目"?当allitems.aspx
视图中没有商品时,带有绿色背景的消息?
< style>
.alert {
padding:5px;
background-color:#f44336;
颜色:白色;
border:black 3px;
border-style:Solid
}
.alert1 {
padding:5px;
background-color:orange;
颜色:白色;
border:black 3px;
border-style:Solid
}
.closebtn {
margin-
color:white;
font-weight:bold;
float:right;
字体大小:22px;
line-height:20px;
cursor:pointer;
过渡:0.3s;
}
.closebtn:悬停{
颜色:黑色;
}
< / style>
< div id =" ParentWrapper">
< / div>
< script src =" / _ layouts / 15 / sp.runtime.js"类型= QUOT;文本/ JavaScript的">< /脚本>
< script src =" / _ layouts / 15 / sp.js"类型= QUOT;文本/ JavaScript的">< /脚本>
< script type =" text / javascript" src =" https://code.jquery.com/jquery-3.3.1.js">< / script>< script type =" text / javascript">
jq = jQuery.noConflict(true);
SP.SOD.executeFunc('sp.js','SP.ClientContext',retrieveListItems);
函数retrieveListItems()
{
var clientContext = new SP.ClientContext.get_current();
var oList = clientContext.get_web()。get_lists()。getByTitle('Alerts');
var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml("< View>< Query>< Where>< And>< Leq>< FieldRef Name ='Start'/>< Value Type ='DateTime'IncludeTimeValue ='TRUE'><今天/>< / Value>< / Leq>< Geq>< FieldRef Name ='Expires_x0020_On'/>< Value Type ='DateTime'IncludeTimeValue ='TRUE' ><今天/>< / Value>< / Geq>< / And>< / Where>< OrderBy>< FieldRef Name ='Body'Ascending ='TRUE'/>< /排序依据>< /查询>< /视图>");
this.collListItem = oList.getItems(camlQuery);
clientContext.load(collListItem);
clientContext.executeQueryAsync(Function.createDelegate(this,this.onQuerySucceeded),Function.createDelegate(this,this.onQueryFailed));
}
函数onQuerySucceeded(sender,args)
{
var listItemInfo ='';
var listItemEnumerator = collListItem.getEnumerator();
while(listItemEnumerator.moveNext()){
var oListItem = listItemEnumerator.get_current();
var alertBody = oListItem.get_item('Body');
var clrHTML ="< div style ='clear:both; width:100%; height:5px;'>< / div>" ;;
var alertContentHTML ="" ;;
if(oListItem.get_item('Event_x0020_type')==" A"){
alertContentHTML + ="< div class ='alert1'>" ;;
}其他{
alertContentHTML + ="< div class ='alert'>" ;;
}
alertContentHTML + ="< div class ='Logo'>< / div>< span class ='closebtn'onclick ='this.parentElement.style.display =&# 39;无&#39;;'>×< / span>< div id ='AlertBodyBox'>" + alertBody +"< / div>< / div>" + clrHTML;
jq("#ParentWrapper")。append(alertContentHTML);
}
}
函数onQueryFailed(sender,args)
{
alert('Request failed。'+ args.get_message()+'\\ \\ n'+ args.get_stackTrace());
}
< / script>
解决方案
以下代码供您参考。
< style>
.alert {
padding:5px;
background-color:#f44336;
颜色:白色;
border:black 3px;
border-style:Solid
}
.alert1 {
padding:5px;
background-color:orange;
颜色:白色;
border:black 3px;
border-style:Solid
}
.alertEmpty {
padding:5px;
background-color:green;
颜色:白色;
border:black 3px;
border-style:Solid
}
.closebtn {
margin-
color:white;
font-weight:bold;
float:right;
字体大小:22px;
line-height:20px;
cursor:pointer;
过渡:0.3s;
}
.closebtn:悬停{
颜色:黑色;
}
< / style>
< div id =" ParentWrapper">
< / div>
< script src =" / _ layouts / 15 / sp.runtime.js"类型= QUOT;文本/ JavaScript的">< /脚本>
< script src =" / _ layouts / 15 / sp.js"类型= QUOT;文本/ JavaScript的">< /脚本>
< script type =" text / javascript" src =" https://code.jquery.com/jquery-3.3.1.js">< / script>< script type =" text / javascript">
jq = jQuery.noConflict(true);
SP.SOD.executeFunc('sp.js','SP.ClientContext',retrieveListItems);
函数retrieveListItems(){
var clientContext = new SP.ClientContext.get_current();
var oList = clientContext.get_web()。get_lists()。getByTitle('Alerts');
var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml("< View>< Query>< Where>< And>< Leq>< FieldRef Name ='Start'/>< Value Type ='DateTime'IncludeTimeValue ='TRUE'><今天/>< / Value>< / Leq>< Geq>< FieldRef Name ='Expires_x0020_On'/>< Value Type ='DateTime'IncludeTimeValue ='TRUE' ><今天/>< / Value>< / Geq>< / And>< / Where>< OrderBy>< FieldRef Name ='Body'Ascending ='TRUE'/>< /排序依据>< /查询>< /视图>");
this.collListItem = oList.getItems(camlQuery);
clientContext.load(collListItem);
clientContext.executeQueryAsync(Function.createDelegate(this,this.onQuerySucceeded),Function.createDelegate(this,this.onQueryFailed));
}
函数onQuerySucceeded(sender,args){
var listItemInfo ='';
var listItemEnumerator = collListItem.getEnumerator();
if(collListItem.get_count()== 0){
var alertContentHTML ="< div class ='alertEmpty'>< div id ='AlertBodyBox'>没有可用的活动项目。 < / DIV>< / DIV>英寸;
jq("#ParentWrapper")。append(alertContentHTML);
} else {
while(listItemEnumerator.moveNext()){
var oListItem = listItemEnumerator.get_current();
var alertBody = oListItem.get_item('Body');
var clrHTML ="< div style ='clear:both; width:100%; height:5px;'>< / div>" ;;
var alertContentHTML ="" ;;
if(oListItem.get_item('Event_x0020_type')==" A"){
alertContentHTML + ="< div class ='alert1'>" ;;
}其他{
alertContentHTML + ="< div class ='alert'>" ;;
}
alertContentHTML + ="< div class ='Logo'>< / div>< span class ='closebtn'onclick ='this.parentElement.style.display =&# 39;无&#39;;'>×< / span>< div id ='AlertBodyBox'>" + alertBody +"< / div>< / div>" + clrHTML;
jq("#ParentWrapper")。append(alertContentHTML);
}
}
}
函数onQueryFailed(sender,args){
alert('请求失败。'+ args.get_message()+'\ n' + args.get_stackTrace());
}
< / script>
最好的问候,
Dennis
I have a list to display alerts on a CEWP on a page as below. It's different colors based on column choice for every item. How can I display a "No active items available" message with a green background for when there are no items in the allitems.aspx view?
<style> .alert { padding: 5px; background-color: #f44336; color: white; border:black 3px; border-style:Solid } .alert1 { padding: 5px; background-color: orange; color: white; border:black 3px; border-style:Solid } .closebtn { margin- color: white; font-weight: bold; float: right; font-size: 22px; line-height: 20px; cursor: pointer; transition: 0.3s; } .closebtn:hover { color: black; } </style> <div id="ParentWrapper"> </div> <script src="/_layouts/15/sp.runtime.js" type="text/javascript"></script> <script src="/_layouts/15/sp.js" type="text/javascript"></script> <script type="text/javascript" src="https://code.jquery.com/jquery-3.3.1.js"></script><script type="text/javascript"> jq = jQuery.noConflict( true ); SP.SOD.executeFunc('sp.js', 'SP.ClientContext', retrieveListItems); function retrieveListItems() { var clientContext = new SP.ClientContext.get_current(); var oList = clientContext.get_web().get_lists().getByTitle('Alerts'); var camlQuery = new SP.CamlQuery(); camlQuery.set_viewXml("<View><Query><Where><And><Leq><FieldRef Name='Start'/><Value Type='DateTime' IncludeTimeValue='TRUE'><Today /></Value></Leq><Geq><FieldRef Name='Expires_x0020_On'/><Value Type='DateTime' IncludeTimeValue='TRUE'><Today /></Value></Geq></And></Where><OrderBy><FieldRef Name='Body' Ascending='TRUE' /></OrderBy></Query></View>"); this.collListItem = oList.getItems(camlQuery); clientContext.load(collListItem); clientContext.executeQueryAsync( Function.createDelegate(this, this.onQuerySucceeded),Function.createDelegate(this, this.onQueryFailed) ); } function onQuerySucceeded(sender, args) { var listItemInfo = ''; var listItemEnumerator = collListItem.getEnumerator(); while (listItemEnumerator.moveNext()) { var oListItem = listItemEnumerator.get_current(); var alertBody=oListItem.get_item('Body'); var clrHTML ="<div style='clear: both;width: 100%;height: 5px;'></div>"; var alertContentHTML=""; if(oListItem.get_item('Event_x0020_type')=="A"){ alertContentHTML+="<div class='alert1'>"; }else{ alertContentHTML+="<div class='alert'>"; } alertContentHTML+="<div class='Logo'></div><span class='closebtn' onclick='this.parentElement.style.display='none';'>×</span><div id='AlertBodyBox'>"+alertBody+"</div></div>"+clrHTML; jq("#ParentWrapper").append(alertContentHTML); } } function onQueryFailed(sender, args) { alert('Request failed. ' + args.get_message() +'\n' + args.get_stackTrace()); } </script>
解决方案
Hi,
The following code for your reference.
<style> .alert { padding: 5px; background-color: #f44336; color: white; border:black 3px; border-style:Solid } .alert1 { padding: 5px; background-color: orange; color: white; border:black 3px; border-style:Solid } .alertEmpty{ padding: 5px; background-color: green; color: white; border:black 3px; border-style:Solid } .closebtn { margin- color: white; font-weight: bold; float: right; font-size: 22px; line-height: 20px; cursor: pointer; transition: 0.3s; } .closebtn:hover { color: black; } </style> <div id="ParentWrapper"> </div> <script src="/_layouts/15/sp.runtime.js" type="text/javascript"></script> <script src="/_layouts/15/sp.js" type="text/javascript"></script> <script type="text/javascript" src="https://code.jquery.com/jquery-3.3.1.js"></script><script type="text/javascript"> jq = jQuery.noConflict( true ); SP.SOD.executeFunc('sp.js', 'SP.ClientContext', retrieveListItems); function retrieveListItems(){ var clientContext = new SP.ClientContext.get_current(); var oList = clientContext.get_web().get_lists().getByTitle('Alerts'); var camlQuery = new SP.CamlQuery(); camlQuery.set_viewXml("<View><Query><Where><And><Leq><FieldRef Name='Start'/><Value Type='DateTime' IncludeTimeValue='TRUE'><Today /></Value></Leq><Geq><FieldRef Name='Expires_x0020_On'/><Value Type='DateTime' IncludeTimeValue='TRUE'><Today /></Value></Geq></And></Where><OrderBy><FieldRef Name='Body' Ascending='TRUE' /></OrderBy></Query></View>"); this.collListItem = oList.getItems(camlQuery); clientContext.load(collListItem); clientContext.executeQueryAsync( Function.createDelegate(this, this.onQuerySucceeded),Function.createDelegate(this, this.onQueryFailed) ); } function onQuerySucceeded(sender, args){ var listItemInfo = ''; var listItemEnumerator = collListItem.getEnumerator(); if(collListItem.get_count()==0){ var alertContentHTML="<div class='alertEmpty'><div id='AlertBodyBox'>No active items available.</div></div>"; jq("#ParentWrapper").append(alertContentHTML); }else{ while (listItemEnumerator.moveNext()) { var oListItem = listItemEnumerator.get_current(); var alertBody=oListItem.get_item('Body'); var clrHTML ="<div style='clear: both;width: 100%;height: 5px;'></div>"; var alertContentHTML=""; if(oListItem.get_item('Event_x0020_type')=="A"){ alertContentHTML+="<div class='alert1'>"; }else{ alertContentHTML+="<div class='alert'>"; } alertContentHTML+="<div class='Logo'></div><span class='closebtn' onclick='this.parentElement.style.display='none';'>×</span><div id='AlertBodyBox'>"+alertBody+"</div></div>"+clrHTML; jq("#ParentWrapper").append(alertContentHTML); } } } function onQueryFailed(sender, args){ alert('Request failed. ' + args.get_message() +'\n' + args.get_stackTrace()); } </script>Best Regards,
Dennis
这篇关于不显示列表的项目消息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文