我收到了这个警告
DataTables warning(table id ='userList'):从第0行的数据源请求未知参数'1'
我知道我收到此警告 因为表格为空。我没有表中的数据。
我想知道,如何忽略此警告并显示空表?我的意思是只有标题。
我的拥有如下。
$(document).ready(function(){
$('#userList').dataTable( {
"bPaginate": false,
"bSort": true,
"sPaginationType": "full_numbers",
"bJQueryUI": true,
"aoColumns": [
{ "sType": "natural" },
null
],
"oLanguage": {
"sEmptyTable": '',
"sInfoEmpty": ''
},
"sEmptyTable": "Loading data from server"
});
});
&安培;
<h:dataTable id="userList" value="#{FullScopeBens.gtAllDealsForMe()}"
var="userInfo" bgcolor="#{msg['tableColor']}" border="1" cellpadding="5"
cellspacing="1" width="100%" style="color: #{msg['fontColor']}; border: 1px solid white;"
columnClasses="setNWCol01,setNWCol02"
>
<!-- <f:facet name="header" class="centerText">
<h:outputText value="News" style="font-size: 18px;text-align: center;color: #{msg['backColor']};"/>
</f:facet>-->
<h:column>
<f:facet name="header">
<br />
<h:outputText value="Sr. No." />
<br />
<br />
</f:facet>
<h:outputText value="#{userInfo.serNo}" />
</h:column>
</h:dataTable>
Thiis就是我用HTML获得的
<table id="userList" bgcolor="#F1F1F1" border="8" cellpadding="5" cellspacing="3" dir="LTR" width="100%" class="dataTable">
<thead>
<tr><th colspan="4" scope="colgroup"><span style="font-size: 18px;text-align: center;">Countries</span></th></tr>
<tr>
<th scope="col" class="ui-state-default">Serial No.</th>
</tr>
</thead>
<tbody role="alert" aria-live="polite" aria-relevant="all">
<tr><td class=" "></td></tr></tbody>
</table>
在java中,我有以下内容。
public List<NewsBean> fetAllCompData() {
try {
db = new ConnectToDatabase();
conn = db.makeconnection();
PreparedStatement psmt = conn.prepareStatement("SELECT * FROM news ORDER BY id DESC");
ResultSet rs = psmt.executeQuery();
List<NewsBean> myList = new ArrayList<NewsBean>();
long testNum = 1;
while (rs.next()) {
NewsBean newsBean = new NewsBean();
newsBean.setId(rs.getString(1));
newsBean.setSrNo(testNum + "");
newsBean.setNewsEn(rs.getString(2));
newsBean.setNewsAr(rs.getString(3));
newsBean.setWhenAdd(rs.getString(4));
testNum++;
myList.add(newsBean);
}
if (conn != null) {
conn.close();
}
return myList;
} catch (Exception e) {
System.out.println("Exception while fetching data " + e);
return null;
}
}
现在,当我在新闻表中没有数据时,我什么都得不到。
当我打印myList时,我内心一无所有......
System.out.println("myList in news===" + myList);
myList in news===[]
答案 0 :(得分:2)
该死!!!为什么我一开始没有这样做?
只需搜索function _fnLog( oSettings, iLevel, sMesg )
隐藏以下声明......
var sAlert = (oSettings===null) ?
"DataTables warning: "+sMesg :
"DataTables warning (table id = '"+oSettings.sTableId+"'): "+sMesg;
现在你不会得到警觉......
合...
答案 1 :(得分:1)
你的桌子有多空?
datatable
仍然需要包含预期列数的标题行。
错误消息似乎表明您的表中至少有一行包含一个单元格。仔细检查生成的html。
另外,检查mysql表中没有数据时FullScopeBens.gtAllDealsForMe()
函数返回的内容。