Twitter bootstrap 如何使用引导数据表按索引获取列名?
最后,我希望将表的列排序发送到服务器,以便从数据库中检索已排序、分页的记录集。这行代码让我走上了这条路:Twitter bootstrap 如何使用引导数据表按索引获取列名?,twitter-bootstrap,datatables,Twitter Bootstrap,Datatables,最后,我希望将表的列排序发送到服务器,以便从数据库中检索已排序、分页的记录集。这行代码让我走上了这条路: $("#results").DataTable().order(); 但是,它返回如下数组: [[0,"asc"]] [["Name","asc"],["HireDate","desc"]] 我不能依赖客户端数组中的列索引在服务器端对数据集进行排序。我需要的是这样一个数组: [[0,"asc"]] [["Name","asc"],["HireDate","desc"]] 如果我要编
$("#results").DataTable().order();
但是,它返回如下数组:
[[0,"asc"]]
[["Name","asc"],["HireDate","desc"]]
我不能依赖客户端数组中的列索引在服务器端对数据集进行排序。我需要的是这样一个数组:
[[0,"asc"]]
[["Name","asc"],["HireDate","desc"]]
如果我要编写这样的API,我会使列名可以访问,如下所示:
$("#results").DataTable().columns()[0].name;
$("#results").DataTable().columns(0).name;
不过,DataTableAPI似乎并不那么简单。在数据表中,如果要在API中检索名称,则需要将name参数写入字段。检查我的吼叫代码
.DataTable({
//rest code,
"order": [
[0, "asc"]
],
//rest code,
"columns": [
{ "data": "HireDate", name: "Date", },
//rest columns
在这里,我将名称Date设置为字段HireDate
在我的Api方法中
string _ordByColumn =
GetQueryValueByName.Get(Request.GetQueryNameValuePairs(),
"order[0].column");
string _ordColumnName =
GetQueryValueByName.Get(Request.GetQueryNameValuePairs(), "columns["
+ _ordByColumn + "].name");
string _ordDirection =
GetQueryValueByName.Get(Request.GetQueryNameValuePairs(),
"order[0].dir");
if (!string.IsNullOrEmpty(_ordByColumn))
{
switch (_ordColumnName)
{
case "Date":
{
if (string.Compare(_ordDirection, "asc") == 0)
{
//retrieve data order by Date
}
else
{
//retrieve data order by descending Date
}
break;
}
//rest cases and then default
default:
{
//retrieve data order by what ever you want
break;
}
}
}
下面是我的GetQueryValueByName类
public static class GetQueryValueByName
{
public static string Get(IEnumerable<KeyValuePair<string, string>> _req,
string key)
{
return _req.FirstOrDefault(ma => string.Compare(ma.Key, key) ==
0).Value;
}
}
公共静态类GetQueryValueByName
{
公共静态字符串Get(IEnumerable\u req,
字符串键)
{
返回_req.FirstOrDefault(ma=>string.Compare(ma.Key,Key)=
0)价值;
}
}
您可以按自己的方式获取查询字符串