jquery jtable - 如何在 table 的第一行显示新添加的记录
jquery jtable - How to show newly added record in top row of table
我使用的是 JTable 最新版本,JQuery 2.4.0 版本。
我创建了一个 Jtable table,它工作正常
但我想在使用 jquery jtable 添加新记录时。 我想将该记录添加到 table 的顶部(最新添加的项目到达最顶部的位置)
。当页面重新加载时,所有记录必须按给定的排序顺序排列。
我该如何解决?这是我的 html 文件:
<html lang="en">
<head>
<script src="jquery/jquery-2.1.0.js"></script>
<script src="jquery-ui/ui/minified/jquery-ui.min.js"></script>
<script src="jtable/jquery.jtable.min.js"></script>
<link rel="stylesheet" href="jtable/themes/metro/blue/jtable.min.css">
<script type="text/javascript">
$(document).ready(function()
{
$('#GridTableContainer').jtable(
{
title: 'Delivery Grid Table',
paging: true, //Enable paging
pageSize: 10, //Set page size (default: 10)
sorting: true, //Enable sorting
defaultSorting: 'Name ASC', //Set default sorting
actions:
{
listAction: function (postData, jtParams)
{
console.log("Loading from custom function...");
return $.Deferred(function ($dfd)
{
$.ajax({
url: 'ajax/grid-ajax.php?action=list&jtStartIndex=' + jtParams.jtStartIndex + '&jtPageSize=' + jtParams.jtPageSize + '&jtSorting=' + jtParams.jtSorting,
type: 'POST',
dataType: 'json',
data: postData,
success: function (data)
{
$dfd.resolve(data);
},
error: function ()
{
$dfd.reject();
}
});
});
},
createAction: 'ajax/grid-ajax.php?action=create',
updateAction: 'ajax/grid-ajax.php?action=update',
deleteAction: 'ajax/grid-ajax.php?action=delete'
},
fields: {
deliverygrid_id: {
key: true,
list: false,
title: 'id',
},
area: {
title: 'Express',
width: '40%'
},
price: {
title: 'Fee ($)',
width: '20%'
}
}
});
});
$('#GridTableContainer').jtable('load');
</script>
</head>
<body>
<div id="GridTableContainer"></div>
</body>
</html>
目前您正在为名称列使用默认排序
defaultSorting: 'Name ASC'
将其更改为关键列
defaultSorting: 'deliverygrid_id DESC'
并在 list
操作中的服务器端使用以下代码
if (jtSorting.Equals("deliverygrid_id DESC"))
{
//here get data order by desc record for deliverygrid_id
}
当你写 defaultSorting: 'deliverygrid_id DESC'
时,这意味着 jtable 在 jtSorting
变量中发送 deliverygrid_id DESC
字符串值。
您可以找到有关排序的更多信息 Here
我使用的是 JTable 最新版本,JQuery 2.4.0 版本。
我创建了一个 Jtable table,它工作正常
但我想在使用 jquery jtable 添加新记录时。 我想将该记录添加到 table 的顶部(最新添加的项目到达最顶部的位置)
。当页面重新加载时,所有记录必须按给定的排序顺序排列。
我该如何解决?这是我的 html 文件:
<html lang="en">
<head>
<script src="jquery/jquery-2.1.0.js"></script>
<script src="jquery-ui/ui/minified/jquery-ui.min.js"></script>
<script src="jtable/jquery.jtable.min.js"></script>
<link rel="stylesheet" href="jtable/themes/metro/blue/jtable.min.css">
<script type="text/javascript">
$(document).ready(function()
{
$('#GridTableContainer').jtable(
{
title: 'Delivery Grid Table',
paging: true, //Enable paging
pageSize: 10, //Set page size (default: 10)
sorting: true, //Enable sorting
defaultSorting: 'Name ASC', //Set default sorting
actions:
{
listAction: function (postData, jtParams)
{
console.log("Loading from custom function...");
return $.Deferred(function ($dfd)
{
$.ajax({
url: 'ajax/grid-ajax.php?action=list&jtStartIndex=' + jtParams.jtStartIndex + '&jtPageSize=' + jtParams.jtPageSize + '&jtSorting=' + jtParams.jtSorting,
type: 'POST',
dataType: 'json',
data: postData,
success: function (data)
{
$dfd.resolve(data);
},
error: function ()
{
$dfd.reject();
}
});
});
},
createAction: 'ajax/grid-ajax.php?action=create',
updateAction: 'ajax/grid-ajax.php?action=update',
deleteAction: 'ajax/grid-ajax.php?action=delete'
},
fields: {
deliverygrid_id: {
key: true,
list: false,
title: 'id',
},
area: {
title: 'Express',
width: '40%'
},
price: {
title: 'Fee ($)',
width: '20%'
}
}
});
});
$('#GridTableContainer').jtable('load');
</script>
</head>
<body>
<div id="GridTableContainer"></div>
</body>
</html>
目前您正在为名称列使用默认排序
defaultSorting: 'Name ASC'
将其更改为关键列
defaultSorting: 'deliverygrid_id DESC'
并在 list
操作中的服务器端使用以下代码
if (jtSorting.Equals("deliverygrid_id DESC"))
{
//here get data order by desc record for deliverygrid_id
}
当你写 defaultSorting: 'deliverygrid_id DESC'
时,这意味着 jtable 在 jtSorting
变量中发送 deliverygrid_id DESC
字符串值。
您可以找到有关排序的更多信息 Here