YUI DataTable 伺服器端翻頁與排序

2021-08-29 19:56:09 字數 2135 閱讀 9059

這兩天試用了一下yui的datatable,翻頁和排序都在後台實現,資料以json格式傳輸,現在總結一下。

簡單地講,主要有以下幾點:

1)在datatable的config中指定dynamicdata=true,datatable的翻頁、排序就會自動通過datasource獲得。

2)datasource預設傳送的request引數格式如下:

sort=&dir=&startindex=&results=

如果需要增加其他引數,就需要指定generaterequest為乙個自己定義的函式,在這個函式中自己拼request引數。generaterequest的第乙個引數是這樣的:

pagination

offsetrecord:數字,當前頁第一記錄數

rowsperpage:數字,每頁記錄數

sortedby

key:string,排序列的key

dir:string,排序方向,為yahoo.widget.datatable.class_asc 或者 yahoo.widget.datatable.class_desc

3)前端要動態修改總記錄數,方法是定義datatable的handledatareturnpayload

4)後台根據前台的引數獲取當前頁的列表,另外還要有總記錄數。

以下是部分**,關於前後之間json資料傳輸的問題參見我另一篇文章《yui + struts2實現基於json通訊的ajax例子》。

這裡是畫面【查詢】按鈕的處理函式,要多發乙個姓名作為查詢引數:

這裡是前後臺傳遞的json資料的格式,在這個例子裡只有returnobj是我們關心的,關於returnobj的組成見下面的**。

public class jsonresult

public jsonresult(object returnobj)

public jsonresult(string errmessage)

public void setreturncode(int returncode)

public int getreturncode()

public void setreturnobj(object returnobj)

public object getreturnobj()

public void seterrmessage(string errmessage)

public string geterrmessage()

}

這裡是前後臺傳遞的json資料中的returnobj部分,上面**中datasource的responseschema是根據它定義的:

public class personsearchlist

public int gettotalrecords()

public void setpersonlist(listpersonlist)

public listgetpersonlist()

}

這裡是後台的檢索處理:

public string search() catch (busines***ception e)

//將返回前台的資料轉成json串

jsonconfig jsonconfig = new jsonconfig();

jsonconfig.registerjsonvalueprocessor(date.class, new datejsonvalueprocessor());

jsonobject jsonret = jsonobject.fromobject(ret, jsonconfig);

string strret = jsonret.tostring();

//輸出json串

try catch (unsupportedencodingexception e)

return success;

}

最後來一張ui圖,只是個例子,不怎麼好看

伺服器安裝Linux伺服器

新辦公需要搭建一台伺服器,之前也沒有怎麼搞過,不過有一些了解,於是和同事一起嘗試安裝一下伺服器。本人使用ultraiso燒錄u盤,系統檔案是centos 6.6 x86 64 bin 1.ios,使用urtraiso開啟iso檔案,然後如下圖 接著就可以寫入,u盤會被格式化的,注意備份,等待寫入就可...

mysql udp伺服器 UDP伺服器

傳輸層主要應用的協議模型有兩種,一種是tcp協議,另外一種則是udp協議。tcp協議在網路通訊中佔主導地位,絕大多數的網路通訊借助tcp協議完成資料傳輸。但udp也是網路通訊中不可或缺的重要通訊手段。相較於tcp而言,udp通訊的形式更像是發簡訊。不需要在資料傳輸之前建立 維護連線。只專心獲取資料就...

伺服器安裝apache伺服器

1.環境 centos7 2.鏈結伺服器 ssh username ip 3.安裝apache 4.設定apache在伺服器啟動時執行 5.在apache配置檔案中設定網域名稱 vi etc httpd conf httpd.conf,找到 servername 新增 網域名稱 80 儲存並退出。6...