【问题标题】:How to handle database null values in jquery datatable如何处理jquery数据表中的数据库空值
【发布时间】:2015-02-14 14:59:30
【问题描述】:

我有一个 jquery 数据表,其中的数据来自数据库,从 java servlet 获取。很少有列有空值。因此,我收到了类似的警告

DataTables 警告:表 id=lplist - 请求第 9 行的未知参数“FeeCompany”。有关此错误的详细信息,请参阅http://datatables.net/tn/4

我希望将那些空值替换为空字符串。有人可以指导如何实现这一点。

我的代码 sn-p 如下

    <script
    src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script
    src="http://cdn.datatables.net/1.10.4/js/jquery.dataTables.min.js"></script>

<script
    src="http://cdn.datatables.net/scroller/1.2.2/js/dataTables.scroller.min.js"></script>
<link
    href="http://cdn.datatables.net/scroller/1.2.2/css/dataTables.scroller.css"
    rel="stylesheet" type="text/css" />

<link href="http://cdn.datatables.net/1.10.4/css/jquery.dataTables.css"
    rel="stylesheet" type="text/css" />
<title>Insert title here</title>
<script type="text/javascript">
            $(document).ready(function () {
                $("#lplist").dataTable({
                    "serverSide": true,
                    "sAjaxSource": "/JQueryDataTablesAll/CompanyGsonObjects",

                    dom: "rtiS",
                    scrollY: 450,
                    scrollX:true,
                    "processing": true,                     
                    "aoColumns": [
                                  { "mData": "InsuredName" },
                                  { "mData": "CustAddress_City" },
                                  { "mData": "CustAddress_State" },
                                  { "mData": "CustAddress_Zip" },
                                  { "mData": "CustSurvey_Location" },
                                  { "mData": "PolicyNo" },
                                  { "mData": "ProfitCenter" },
                                  { "mData": "FeeCompany" }, 

                              ]



                });
            });
        </script>
</head>
<body id="dt_example">
    <div id="container">
        <div id="links">
            Server-side processing with object source <br />
        </div>
        <div id="demo_jui">
            <table id="lplist" class="display">
                <thead>
                    <tr>
                        <th>Insured Name</th>
                        <th>City</th>
                        <th>State</th>
                        <th>Zip</th>
                        <th>Survey Location</th>
                        <th>PolicyNo</th>
                        <th>Profit Center</th>
                        <th>Fee Company</th>                        

                    </tr>
                </thead>
                <tbody>
                </tbody>
            </table>
        </div>

    </div>

【问题讨论】:

    标签: javascript jquery datatable jquery-datatables


    【解决方案1】:

    在初始化数据表时在选项中添加defaultContent。更多详情

    columns.defaultContent

    来自官方文档的示例:

    $('#example').dataTable( {
      "columns": [
        null,
        null,
        null,
        {
          "data": "first_name", // can be null or undefined
          "defaultContent": "<i>Not set</i>"
        }
      ]
    } );
    

    【讨论】:

      【解决方案2】:

      您可以使用mRender指定在出现空值时的显示:

      { 
          "mData": "FeeCompany" 
          'mRender': function (data, type, full) {
              if (full[7] !== null) {
                   return full[7]; 
               }else{
                   return '';
               }
      },
      

      【讨论】:

        【解决方案3】:
        {
        
          "data": function(data, type, dataToSet) {
        
            return data.CourseEducator1 ? ? " " + "<br/>" + data.CourseEducator2 ? ? ";
        
          }
        
        }
        
        

        【讨论】:

        • 当我们想在一列中返回多个数据时,如果有空格则显示空白而不是null的代码块
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-14
        • 2013-04-28
        • 2012-01-31
        相关资源
        最近更新 更多