Пейджинг в сценарии Java - PullRequest
       22

Пейджинг в сценарии Java

0 голосов
/ 10 ноября 2011

Я работаю в расширении Chrome, я хочу сделать пейджинг для таблицы, которая динамически заполняется с помощью sqlite запросов.

Я использую этот учебник для подкачки страниц и внесения некоторых изменений в функцию init

http://en.newinstance.it/2006/09/27/client-side-html-table-pagination-with-javascript/

Когда я хочу получить длину таблицы после ее заполнения, dom кажется не готовым, и результат возвращается в виде нуля длины таблицы, вот мой код.

function ViewAllNotes(db){
 var allListItems;   
  var cur = fromDateToString(new Date(),"date");

       db.transaction(function(tx) {
        tx.executeSql("SELECT NOTE_DESC,NOTE_DATE,NOTE_TIME FROM NOTES where NOTE_DATE = ? order by NOTE_TIME desc ",[cur],function(tx,result){
             alert(result.rows.length);

           for(i=0;i< result.rows.length;i++){
                 tr= "<tr>";
                 tr=tr+ "<td>"+ result.rows.item(i)['NOTE_DESC']+"</td>";
                  tr=tr+ "<td>"+ result.rows.item(i)['NOTE_TIME']+"</td>";
                 tr=tr+ "</tr>";
                allListItems+=tr;

            }


            var tableContent= " <thead><tr><th id='activityHeader'>Activity</th> <th>Time</th></tr></thead>";
            tableContent = tableContent+"<tbody>"+allListItems+"</tbody>";

            $("table#notes").append(tableContent);
                //$('#notes').dataTable();
                },onError);

        }); 

    }

EDIT В начале файла js я делаю так

ViewAllNotes(db);
var rows = document.getElementById("notes").rows;
alert("rows "+rows.length);

затем вызвать класс пейджера, , но также он предупреждает с нулем?

1 Ответ

2 голосов
/ 10 ноября 2011

вызовы SQL являются асинхронными. Ваш код, который проверяет длину, не будет иметь доступной длины, пока SQL не завершит работу и не сработает обратный вызов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...