我有一个简单的DataTables网格,其中包含日期列。我在JSON数据集中为日期提供了两个值,一个用于显示,另一个专门设计用于DataTables排序。我的Web应用程序允许用户选择各种不同的日期格式,因此需要具有灵活性。
这是从Web服务器通过sAjaxSource
获取的JSON数据,供DataTables使用。
{
Reports : [
{ Date: { Sort = "20101131133000", Display : "11/31/2010 1:30 PM" } },
{ Date: { Sort = "20100912120000", Display : "1200 EST 2010-09-12" } },
]
}
使用 fnRender()
,可以很容易地告诉 DataTables 基于 Date.SortValue
属性进行排序,并使 Display
属性对用户可见。这让我达成了目标的一半。
var dataTableConfig = {
sAjaxSource: "/getreports",
sAjaxDataProp: "Reports",
aoColumns: [
{ mDataProp: "User" },
{ mDataProp: "Date.Sort",
bSortable: true,
sName: "Date",
bUseRendered: false,
fnRender: function (oObj) {
return oObj.aData[oObj.oSettings.aoColumns[oObj.iDataColumn].sName].Display;
}
}
]
};
这是我的问题。我想允许用户根据显示的值输入筛选条件(使用DataTables提供的内置筛选输入),但他们不能这样做。
例如,如果用户输入“EST”,他们将得到零个结果,因为datatables基于mDataProp
中指定的值进行过滤,而不是基于fnRender
返回的值进行过滤。
有谁能帮助我解决如何对日期列进行排序和筛选的问题吗?谢谢。
Nov 5 '13 at 7:12
标记的答案似乎是正确的,并且对我有用。 - Tim Ogilvy