0
我想實現使用c#後端在extjs網格pangel上的分頁工具欄...我如何開始做這件事...我已經嘗試使用開始和限制,但我不知道它是如何作品。有人可以幫我,我怎麼才能發送每頁20格左右的網格,因爲我的網格是獲得全部500個數據,這也減緩了我的應用程序以及 下面是我的控制器,發送json到我的商店..請幫助C#Grid Paging和ExtJS 4.1
public JsonResult getData(int start, int limit)
{
List<MyItem> items = new List<MyItem>();
using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ApplicationServices1"].ConnectionString))
{
SqlCommand cmd = con.CreateCommand();
cmd.CommandText = "SELECT State, Capital FROM MYDBTABLE";
con.Open();
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
MyItem item = new MyItem();
item.State = reader[0].ToString();
item.Capital = reader[1].ToString();
items.Add(item);
}
con.Close();
return Json(new { myTable = items }, JsonRequestBehavior.AllowGet);
}
}
,這是我的商店
this.store = Ext.create('Ext.data.JsonStore', {
autoLoad: true,
storeId: 'mystore1',
pageSize: 20,
fields: [
{ name: 'State' },
{ name: 'Capital' }
],
sorters: [
{
property: 'State',
direct: 'ASC'
}],
scope: this,
proxy: {
type: 'ajax',
scope: this,
url: 'StateC/getData',
autoLoad: { params: {
start: 0,
limit: 20
}
},
reader: {
type: 'json',
root: 'myTable'
}
}
});
謝謝你的幫助stephen ..我使用c#。我已經看到了PHP上的各種示例,但我不知道如何在C#中做這件事......我甚至不知道從哪裏開始回答。我可以通過ajax調用的第一個和最後一個,但是upperBound和lowerBound的目的是什麼,然後它是如何計算'totalProperty'的?是否有一個工作示例 – EagleFox
對不起,我沒有看到你的開始和限制值傳入,而上下限只是說要採取哪組記錄。使用傳入的開始和限制值,lowerBound = start,upperBound = start + limit。除此之外,我認爲SQL查詢將在MsSQL中運行,並且只給你一組20條記錄。如果你在這個查詢中使用{cmd.CommandText =「SELECT State,Capital FROM MYDBTABLE」;},我認爲你的代碼將按照你所希望的方式工作。您需要將下限/上限連接到構建查詢的字符串中。 –
這個分頁又回來了,又開始困擾我了......(...應該從extjs傳遞這些參數......我仍然可以獲取第一頁的全部數據,而第二頁上沒有任何內容,即使工具欄說第2頁 – EagleFox