Ich versuche, eine untergeordnete Tabelle mit einer übergeordneten Tabelle zu binden. Ich bin nicht in der Lage herauszufinden, wie dies getan werden kann, wenn die Daten für die untergeordnete Tabelle durch einen AJAX-Aufruf kommen, der dann eine dynamische Tabelle erstellt.Untergeordnete Zeilen in DataTables mit AJAX
ich gefolgt this
Unten ist mein Code.
$('#myTable tbody).on('click', 'td.details-control', function() {
var tr = $(this).closest('tr');
var row = $('#myTable').DataTable().row(tr);
if (row.child.isShown()) {
// This row is already open - close it
row.child.hide();
tr.removeClass('shown');
}
else {
// Open this row
row.child(format()).show();
tr.addClass('shown');
}
});
function format() {
$.ajax({
type: 'GET',
url: '@Url.Action("MyFunction", "Home")',
data: { "Id": MyId },
dataType: "json",
async: false,
success: function (data) {
var list = data;
$.each(list, function (index, item) {
return '<table>.......<table />';
//i need to loop across the list and create a dynamic table with tr and td
});
},
error: function (result) {
var error = JSON.stringify(result);
throw "Error...";
}
});
}
Haben Sie versucht, nur auf die vorhandenen Tabelle, die neuen Zeilen hinzufügen? – krillgar
Ich habe einige statische Daten hinzugefügt, nur um zu starten und es hat gut funktioniert. Ich hole jedoch die Daten aus der Datenbank und muss den AJAX-Aufruf verwenden. Ich bin nicht in der Lage, eine "dynamische Tabelle" mit den Elementen in der Liste zu formatieren. – user2281858
Anstatt die Zeilen in die andere Funktion zurückzugeben, würde ich sie direkt zur Tabelle hinzufügen. – krillgar