在销毁之前删除Datatable中的行

时间:2015-06-23 05:35:31

标签: javascript jquery datatable

每次调用函数lds时,我都在初始化数据表。函数lds为表提取数据并通过

附加相关的HTML
<receiver
  android:name=".ParseReceiver"
  android:exported="false">
  <intent-filter>
    <action android:name="com.parse.push.intent.RECEIVE"/>
    <action android:name="com.parse.push.intent.DELETE"/>
    <action android:name="com.parse.push.intent.OPEN"/>
    ...
  </intent-filter>
</receiver>

<receiver
  android:name="com.parse.GcmBroadcastReceiver"
  android:permission="com.google.android.c2dm.permission.SEND">
  <intent-filter>
    <action android:name="com.google.android.c2dm.intent.RECEIVE"/>
    <action android:name="com.google.android.c2dm.intent.REGISTRATION"/>

    <category android:name="at.a1telekom.android.newsroom"/>
  </intent-filter>
</receiver>

之后我正在初始化像这样的数据表,

Parse.initialize(context, appId, clientKey);    
ParsePush.subscribeInBackground( yourChannels, new SaveCallback() {...});

这解决了错误的问题&#34;数据表无法初始化&#34;如果我再次调用lds函数。但旧的行保留了以前附加的行。我尝试了以下方法:

将var table分配给Datatable的初始化,并将table.empty()放在lds的开头。但正如预期的那样,表变量是未定义的。

尝试删除行(0)而长度&gt; 0但是这会弄乱桌子并删除它。

尝试(&#39;#rTable&#39;)。empty()但由于此数据表引发了错误d [i]未定义。

每次调用函数lds时,我可以采取什么方法来清空行。

1 个答案:

答案 0 :(得分:1)

按一下按钮销毁现有表格

var table = $('#myTable').DataTable();

$('#tableDestroy').on( 'click', function () {
    table.destroy();
} );

从服务器重新加载完整的表格说明,包括列:

var table = $('#myTable').DataTable();

$('#submit').on( 'click', function () {
    $.getJSON( 'newTable', null, function ( json ) {
        table.destroy();
        $('#myTable').empty(); // empty in case the columns change

        table = $('#myTable').DataTable( {
            columns: json.columns,
            data:    json.rows
        } );
    } );
} );