在我的Asp.net应用程序中,我有一个Gridview控件并将其绑定在后面的代码上
在客户端,我使用Jquery DataTable version 1.9.4
来更好地排序,搜索功能,这里我遇到一个问题数值不能正确排序。
我用谷歌搜索并使用sType": "numeric"
来解决,但是当我使用这个时,我的整个工作停止了我的列位于9位置所以我设置aTragets
9
这是 JS FIDDLE
使用Javascript:
$(document).ready(function () {
$('#ctl00_ContentPlaceHolder1_GridView3').dataTable({
"bJQueryUI": true,
"sPaginationType": "full_numbers"
// "aoColumnDefs": [{ "sType": "numeric", "aTargets": [9] }]
});
});
代码背后: 在Page_PreRender
上if (GridView3.Rows.Count > 0)
{
GridView3.UseAccessibleHeader = true;
GridView3.HeaderRow.TableSection = TableRowSection.TableHeader;
}
在页面上载:
GridView3.DataSource = sortedDT;
GridView3.DataBind();
答案 0 :(得分:2)
我认为aaSorting是您必须使用的
$(document).ready(function () {
$('#ctl00_ContentPlaceHolder1_GridView3').dataTable({
"aaSorting": [[ 9, "asc"]], /*row count starts from 0 in datatables*/
"bJQueryUI": true,
"sPaginationType": "full_numbers"
// "aoColumnDefs": [{ "sType": "numeric", "aTargets": [9] }]
});
});
<强>更新强>
问题出现在我的评论It clearly does not understand the numeric datatype of the column
中。你的问题是你的内心...你也有文字。
查看工作小提琴http://jsfiddle.net/6Pxwy/1
答案 1 :(得分:1)
这就是我解决的问题:
使用项目模板的Gridview :
在项目模板中,它们可能是标签控件,因此它转换为span,我们需要使用.contents().unwrap();
删除该span标记即html标记
代码:
$("#Gridview_ID span").contents().unwrap();
$('#Gridview_ID ').dataTable({
"bJQueryUI": true,
"sPaginationType": "full_numbers",
"aoColumns": [{ "bSortable": false }, null, null, { "sType": "numeric" }, { "sType": "date" }, null, { "bSortable": false}]
});
带有绑定字段的网格视图:
$('#Gridview_ID ').dataTable({
"bJQueryUI": true,
"sPaginationType": "full_numbers",
"aoColumns": [{ "bSortable": false }, null, null, { "sType": "numeric" }, { "sType": "date" }, null, { "bSortable": false}]
});