gpt4 book ai didi

c# - jQuery 数据表 : pagination and filter not display correctly

转载 作者:行者123 更新时间:2023-11-30 21:44:56 25 4
gpt4 key购买 nike

我不知道如何解决这个问题,尝试了一整天但没有成功修复分页。我正在使用 jQuery 数据表,为了显示我的海量数据,我正在使用服务器端。

作为测试,只调用10行数据到表中。然后在传递到表之前,我使用这个 solution 重组了 dataSrc 中的数据。 .表格显示成功,但分页和过滤器显示不正确。

任何人都可以帮助这个。

下面是我的代码。

AJAX

$('#example').DataTable({
"processing": true,
"serverSide": true,
"ajax": {
type: "POST",
contentType: "application/json; charset=utf-8",
url: "datatables.aspx/GetData",
'data': function (data) {
return JSON.stringify(data);
},
"dataSrc": function (data) {
var json = $.parseJSON(data.d);

var myData = {};
myData.draw = parseInt(json.otherData[0].draw);
myData.recordsTotal = parseInt(json.otherData[0].recordsTotal);
myData.recordsFiltered = parseInt(json.otherData[0].recordsFiltered);
myData.data = json.searchData;

return myData.data;
}
},
"columns": [
{ "data": "Username" }
]
}
});

C#

[WebMethod]
[ScriptMethod(UseHttpGet = false)]
public static string GetData(int draw, object columns, object order, int start, int length, object search)
{
string constr = ConfigurationManager.ConnectionStrings["DBConnection"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
string mySql = "SELECT TOP 10 username AS Username FROM user_lookup";
using (SqlCommand cmd = new SqlCommand(mySql, con))
{
using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
{
con.Open();
DataSet ds = new DataSet();
sda.Fill(ds, "searchData");

DataTable newDT = new DataTable("otherData");

//Add columns to DataTable.
newDT.Columns.AddRange(new DataColumn[4] {
new DataColumn("draw"),
new DataColumn("recordsTotal"),
new DataColumn("recordsFiltered"),
new DataColumn("userRole")
});

//Add rows to DataTable.
newDT.Rows.Add(draw, length, start, "myrole");
ds.Tables.Add(newDT);

string JSONString = string.Empty;
JSONString = JsonConvert.SerializeObject(ds);
return JSONString;
}
}
}
}

这是我返回到数据表以构建表的数据。 enter image description here

数据过滤器和分页不正确,应该只有 1 页的分页。 enter image description here

最佳答案

我有一个解决方案。您应该直接修改响应的对象。

"dataSrc": function (data) {
var json = $.parseJSON(data.d);

data.draw = parseInt(json.otherData[0].draw);
data.recordsTotal = parseInt(json.otherData[0].recordsTotal);
data.recordsFiltered = parseInt(json.otherData[0].recordsFiltered);
data.data = json.searchData;

return data.data;
}

希望它适用于您的情况。

关于c# - jQuery 数据表 : pagination and filter not display correctly,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40544765/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com