Я использую шаблоны jQuery и плагин dataTables для создания сеток в моем приложении.Во всех случаях я вызываю веб-службу ASMX с помощью вызова ajax, а в функции обратного вызова я отображаю вывод с помощью команды tmpl, а затем в конце концов применяю подключаемый модуль dataTables к сгенерированной таблице.У меня возникают трудности при обновлении сетки dataTables после удаления, вставки или обновления, чтобы показать изменения, и документы не сильно помогли.Кто-нибудь еще делал что-нибудь подобное?Как лучше всего обновить отображение моей сетки?
КОД ШАБЛОНА
<script id="appRoleTemplate" type="x-jquery-tmpl">
<tr id="${AppRoleCode}appRole" onclick="selectAppRole('${AppRoleCode}');" class="appRoleRec">
<td id="appRoleCode${AppRoleCode}" class="dataGrid">${AppRoleCode}</td>
<td id="appRoleDesc${AppRoleCode}" class="dataGrid">${ShortDesc}</td>
</tr>
</script>
КОД JS
function getAppRoleList() {
var appBusinessEntityID = <%=Request.QueryString["selectedAppBusinessEntityID"].ToString() %>;
$("#appRoleHeader").html("Application Roles - Business Entity " + appBusinessEntityID);
$.ajax({
type: "POST",
contentType: "application/json",
url: "Services/AppRole.asmx/GetAppRoleList",
dataType: "json",
data: "{'appBusinessEntityID' : " + appBusinessEntityID + "}",
success: function (msg) {
getAppRoleListCallback(msg);
},
error: errorHandler
});
}
function getAppRoleListCallback(result) {
var appRoleList = result.d;
if (appRoleList.length > 0) {
$("#appRoleTemplate").tmpl(appRoleList).appendTo("#appRoleListOutput");
var appRoleTable = $("#appRoleTable").dataTable({
"bRetrieve": true,
"iDisplayLength": 10,
"bJQueryUI": true
});
var firstAppRoleCode = $(".appRoleRec:first").attr("id");
firstAppRoleCode = firstAppRoleCode.replace("appRole", "");
selectAppRole(firstAppRoleCode);
}
}
HTML
<table id="appRoleTable" class="display">
<thead>
<tr>
<th align="left">Role Code</th>
<th align="left">Description</th>
</tr>
</thead>
<tbody id="appRoleListOutput">
</tbody>
</table>
Послевыполняя другую функцию, например, для удаления записи, я ожидаю, что я мог бы просто выполнить код JavaScript, чтобы вызвать ajax и повторно обработать шаблон и повторно применить плагин dataTables к таблице, но он не работает должным образом.Счетчик строк выключен.