dataTable的屬性詳情

6 $(document).ready( function (){
   7   $('selector').dataTable( {
   8     /*
   9      *  默認爲true
  10      *  是否自動計算列寬,計算列寬會花費一些時間,如果列寬通過aoColumns傳遞,可以關閉該屬性作爲優化
  11      */
  12     "bAutoWidth":true,
  13     /*
  14      *  默認爲false
  15      *  是否延遲渲染,當用Ajax或者js方式加載數據時開啓延遲渲染會帶來很大的速度提升
  16      *  當該屬性設置爲true時,表格每一行新增的元素只有在需要被畫出來時纔會被DataTable創建出來
  17      */
  18     "bDeferRender":false,
  19     /*
  20      * 默認爲true
  21      * 是否對數據進行過濾,數據過濾是十分靈活的,允許終端用戶輸入多個用空格分隔開的關鍵字
  22      * 匹配包含這些關鍵字的行,即使關鍵字的順序不是用戶輸入的順序,過濾操作會跨列進行匹配,關鍵字可以分佈在一行中不同的列
  23      * 要注意的是如果你想在DataTable中使用過濾,該選項必須設置爲true,如果想移除默認過濾輸入框但是保留過濾功能,請設置爲false(API沒寫,推測是false)
  24      */
  25     "bFilter":true,
  26     /*
  27      * 默認爲true
  28      * 是否顯示錶格信息,是指當前頁面上顯示的數據的信息,如果有過濾操作執行,也會顯示過濾操作的信息
  29      */
  30     "bInfo":true,
  31     /*
  32      * 默認爲fasle
  33      * 是否開啓jQuery UI ThemeRoller支持,需要一些ThemeRoller使用的標記,這些標記有些與DataTable傳統使用的有輕微的差異,有些是額外附加的
  34      */
  35     "bJQueryUI":false,
  36     /*
  37      * 默認爲true
  38      * 是否允許終端用戶從一個選擇列表中選擇分頁的頁數,頁數爲10,25,50和100,需要分頁組件bPaginate的支持
  39      */
  40     "bLengthChange":false,
  41     /*
  42      * 默認爲true
  43      * 是否開啓分頁功能,即使設置爲false,仍然會有一個默認的<前進,後退>分頁組件
  44      */
  45     "bPaginage":true,
  46     /*
  47      * 默認爲false
  48      * 當表格在處理的時候(比如排序操作)是否顯示“處理中...”
  49      * 當表格的數據中的數據過多以至於對其中的記錄進行排序時會消耗足以被察覺的時間的時候,該選項會有些用處
  50      */
  51     "bProcessing":false,
  52     /*
  53      * 默認爲false
  54      * 是否開啓不限制長度的滾動條(和sScrollY屬性結合使用),不限制長度的滾動條意味着當用戶拖動滾動條的時候DataTable會不斷加載數據
  55      * 當數據集十分大的時候會有些用處,該選項無法和分頁選項同時使用,分頁選項會被自動禁止,注意,額外推薦的滾動條會優先與該選項
  56      */
  57     "bScrollInfinite":false,
  58     /*
  59      * 默認爲false
  60      * 配置DataTable使用服務器端處理,注意,sAjaxSource參數必須指定,以便給DataTable一個爲每一行獲取數據的數據源
  61      */
  62     "bServerSide":false,
  63     /*
  64      * 默認爲true
  65      * 是否開啓列排序,對單獨列的設置在每一列的bSortable選項中指定
  66      */
  67     "bSort":true,
  68     /*
  69      * 默認爲true
  70      * 是否在當前被排序的列上額外添加sorting_1,sorting_2,sorting_3三個class,當該列被排序的時候,可以切換其背景顏色
  71      * 該選項作爲一個來回切換的屬性會增加執行時間(當class被移除和添加的時候)
  72      * 當對大數據集進行排序的時候你或許希望關閉該選項
  73      */
  74     "bSortClasses":true,
  75     /*
  76      * 默認爲false
  77      * 是否開啓狀態保存,當選項開啓的時候會使用一個cookie保存表格展示的信息的狀態,例如分頁信息,展示長度,過濾和排序等
  78      * 這樣當終端用戶重新加載這個頁面的時候可以使用以前的設置
  79      */
  80     "bStateSave":false,
  81     /*
  82      * 默認爲空字符串,即:無效
  83      * 是否開啓水平滾動,當一個表格過於寬以至於無法放入一個佈局的時候,或者表格有太多列的時候,你可以開啓該選項
  84      * 從而在一個可橫向滾動的視圖裏面展示表格,該屬性可以是css設置,或者一個數字(作爲像素量度來使用)
  85      */
  86     "sScrollX":"100%",
  87     /*
  88      * 默認爲空字符串,即:無效
  89      * 是否開啓垂直滾動,垂直滾動會驅使DataTable設置爲給定的長度,任何溢出到當前視圖之外的數據可以通過垂直滾動進行察看
  90      * 當在小範圍區域中顯示大量數據的時候,可以在分頁和垂直滾動中選擇一種方式,該屬性可以是css設置,或者一個數字(作爲像素量度來使用)
  91      */
  92     "sScrollY":"100%",
  93     /*
  94      * 自定義語言設置
  95      */
  96     "oLanguage":{
  97         "oAria":{
  98         /*
  99          * 默認值爲activate to sort column ascending
 100          * 當一列被按照升序排序的時候添加到表頭的ARIA標籤,注意列頭是這個字符串的前綴(?)
 101          */
 102             "sSortAscending": " - click/return to sort ascending",
 103         /*
 104          * 默認值爲activate to sort column ascending
 105          * 當一列被按照升序降序的時候添加到表頭的ARIA標籤,注意列頭是這個字符串的前綴(?)
 106          */
 107             "sSortDescending": " - click/return to sort descending"
 108         },
 109         "oPaginate": {
 110             /*
 111              * 默認值爲First
 112              * 當使用全數字類型的分頁組件的時候,到第一頁按鈕上的文字
 113              */
 114             "sFirst": "First page",
 115             /*
 116              * 默認值爲Last
 117              * 當使用全數字類型的分頁組件的時候,到最後一頁按鈕上的文字
 118              */
 119             "sLast": "Last page",
 120             /*
 121              * 默認值爲Next
 122              * 當使用全數字類型的分頁組件的時候,到下一頁按鈕上的文字
 123              */
 124             "sNext": "Next page",
 125             /*
 126              * 默認值爲Previous
 127              * 當使用全數字類型的分頁組件的時候,到前一頁按鈕上的文字
 128              */
 129             "sPrevious": "Previous page"
 130         },
 131         /*
 132          * 默認值activate to sort column ascending爲
 133          * 當表格中沒有數據(無視因爲過濾導致的沒有數據)時,該字符串年優先與sZeroRecords顯示
 134          * 注意這是個可選參數,如果沒有指定,sZeroRecrods會被使用(既不是默認值也不是給定的值)
 135          */
 136         "sEmptyTable": "No data available in table",
 137         /*
 138          * 默認值爲Showing _START_ to _END_ of _TOTAL_ entries 
 139          * 該屬性給終端用戶提供當前頁面的展示信息,字符串中的變量會隨着表格的更新被動態替換,而且可以被任意移動和刪除
 140          */
 141         "sInfo": "Got a total of _TOTAL_ entries to show (_START_ to _END_)",
 142         /*
 143          * 默認值爲Showing 0 to 0 of 0 entries 
 144          * 當表格中沒有數據時展示的表格信息,通常情況下格式會符合sInfo的格式
 145          */
 146         "sInfoEmpty": "No entries to show",
 147         /*
 148          * 默認值爲(filtered from _MAX_ total entries) 
 149          * 當用戶過濾表格中的信息的時候,該字符串會被附加到信息字符串的後面,從而給出過濾器強度的直觀概念
 150          */
 151         "sInfoFiltered": " - filtering from _MAX_ records",
 152         /*
 153          * 默認值爲空字符串
 154          * 使用該屬性可以很方便的向表格信息字符串中添加額外的信息,被添加的信息在任何時候都會被附加到表格信息組件的後面
 155          * sInfoEmpty和sInfoFiltered可以以任何被使用的方式進行結合
 156          */
 157         "sInfoPostFix": "All records shown are derived from real information.",
 158         /*
 159          * 默認值爲','
 160          * DataTable有內建的格式化數字的工具,可以用來格式化表格信息中較大的數字
 161          * 默認情況下會自動調用,可以使用該選項來自定義分割的字符 
 162          */
 163         "sInfoThousands": "'",
 164         /*
 165          * 默認值爲Show _MENU_ entries 
 166          * 描述當分頁組件的下拉菜單的選項被改變的時候發生的動作,'_MENU_'變量會被替換爲默認的10,25,50,100
 167          * 如果需要的話可以被自定義的下拉組件替換
 168          */
 169         "sLengthMenu": "Display _MENU_ records",
 170         /*
 171          * 默認值爲Loading...
 172          * 當使用Ajax數據源和表格在第一次被加載蒐集數據的時候顯示的字符串,該信息在一個空行顯示
 173          * 向終端用戶指明數據正在被加載,注意該參數在從服務器加載的時候無效,只有Ajax和客戶端處理的時候有效
 174          */
 175         "sLoadingRecords": "Please wait - loading...",
 176         /*
 177          * 默認值爲Processing...
 178          * 當表格處理用戶動作(例如排序或者類似行爲)的時候顯示的字符串
 179          */
 180         "sProcessing": "DataTables is currently busy",
 181         /*
 182          * 默認爲Search:
 183          * 描述用戶在輸入框輸入過濾條件時的動作,變量'_INPUT_',如果用在字符串中
 184          * DataTable會使用用戶輸入的過濾條件替換_INPUT_爲HTML文本組件,從而可以支配它(即用戶輸入的過濾條件)出現在信息字符串中的位置 
 185          * 如果變量沒有指定,用戶輸入會自動添加到字符串後面
 186          */
 187         "sSearch": "Apply filter _INPUT_ to table",
 188         /*
 189          * 默認值爲空字符串,即:無效
 190          * 所有語言信息可以被存儲在服務器端的文件中,DataTable可以根據該參數指定的URL去尋找
 191          * 必須保存語言文件的URL信息,必須是JSON格式,對象和初始化中使用的oLanguage對象具有相同的屬性
 192          * 請參考示例文件來了解該參數是如何工作的
 193          */
 194         "sUrl": "http://www.sprymedia.co.uk/dataTables/lang.txt",
 195         /*
 196          * 默認值爲No matching records found
 197          * 當對數據進行過濾操作後,如果沒有要顯示的數據,會在表格記錄中顯示該字符串
 198          * sEmptyTable只在表格中沒有數據的時候顯示,忽略過濾操作
 199          */
 200         "sZeroRecords": "No records to display"
 201     }
 202   });
 203 });
 204 
 205 /*------------------------------------------------Options------------------------------------------------*/
 206 /*
 207  * bDestroy
 208  * 默認爲false
 209  * 使用傳遞的新的初始化對象中的屬性構造一個新的表格,並替換一個匹配指定的選擇器的表格
 210  * 如果沒有匹配到表格,新的表格會被作爲一個普通表格被構建
 211  */
 212 $('selector').dataTable({
 213     "bFilter": false,
 214     "bDestroy": true
 215 });
 216 
 217 /*
 218  * bRetrieve
 219  * 默認爲false
 220  * 使用指定的選擇器檢索表格,注意,如果表格已經被初始化,該參數會直接返回已經被創建的對象
 221  * 並不會顧及你傳遞進來的初始化參數對象的變化,將該參數設置爲true說明你確認已經明白這一點
 222  * 如果你需要的話,bDestroy可以用來重新初始化表格
 223  */
 224 $(document).ready(function(){
 225   initTable();
 226   tableActions();
 227 });
 228 
 229 function initTable()
 230 {
 231   return $('#example').dataTable( {
 232     "sScrollY": "200px",
 233     "bPaginate": false,
 234     "bRetrieve": true
 235   });
 236 }
 237 
 238 function tableActions()
 239 {
 240   var oTable = initTable();
 241   // perform API operations with oTable 
 242 }
 243 
 244 /*
 245  * bScrollAutoCss
 246  * 默認爲true
 247  * 指明DataTable中滾動的標題元素是否被允許設置內邊距和外邊距等
 248  */
 249 $(document).ready(function(){
 250   $('#example').dataTable( {
 251     "bScrollAutoCss": false,
 252     "sScrollY": "200px"
 253   });
 254 });
 255 
 256 /*
 257  * bScrollCollapse
 258  * 默認爲false
 259  * 當垂直滾動被允許的時候,DataTable會強制表格視圖在任何時候都是給定的高度(對佈局有利)
 260  * 不過,當把數據集過濾到十分小的時候看起來會很古怪,而且頁腳會留在最下面
 261  * 當結果集的高度比給定的高度小時該參數會使表格高度自適應
 262  */
 263 $(document).ready(function(){
 264   $('#example').dataTable( {
 265     "sScrollY": "200",
 266     "bScrollCollapse": true
 267   });
 268 });
 269 
 270 /*
 271  * bSortCellsTop
 272  * 默認爲false
 273  * 是否允許DataTable使用頂部(默認爲true)的單元格,或者底部(默認爲false)的單元格,當使用複合表頭的時候會有些用處
 274  */
 275 $(document).ready(function(){
 276   $('#example').dataTable( {
 277     "bSortCellsTop": true
 278   });
 279 });
 280 
 281 /*
 282  * iCookieDuration
 283  * 默認爲7200秒(2個小時)
 284  * 設置用來存儲會話信息的cookie的持續時間,單位是秒
 285  */
 286 $(document).ready(function(){
 287   $('#example').dataTable( {
 288     "iCookieDuration": 60*60*24 // 1 day
 289   });
 290 })
 291 
 292 /*
 293  * iDeferLoading
 294  * 默認爲null
 295  * 當選項被開啓的時候,DataTable在非加載第一次的時候不會向服務器請求數據,而是會使用頁面上的已有數據(不會應用排序等)
 296  * 因此在加載的時候保留一個XmlHttpRequest,iDeferLoading被用來指明需要延遲加載,而且也用來通知DataTable一個滿的表格有多少條數據
 297  * 信息元素和分頁會被正確保留
 298  */
 299 $(document).ready(function(){
 300   $('#example').dataTable( {
 301     "bServerSide": true,
 302     "sAjaxSource": "scripts/server_processing.php",
 303     "iDeferLoading": 57
 304   });
 305 });
 306 
 307 /*
 308  * iDisplayLength
 309  * 默認爲10
 310  * 單頁顯示的數據的條數,如果bLengthChange屬性被開啓,終端用戶可以通過一個彈出菜單重寫該數值
 311  */
 312 $(document).ready(function(){
 313   $('#example').dataTable( {
 314     "bServerSide": true,
 315     "sAjaxSource": "scripts/server_processing.php",
 316     "iDeferLoading": 57
 317   });
 318 });
 319 
 320 /*
 321  * iDisplayStart
 322  * 默認爲0
 323  * 當開啓分頁的時候,定義展示的記錄的起始序號,不是頁數,因此如果你每個分頁有10條記錄而且想從第三頁開始
 324  * 需要把該參數指定爲20
 325  */
 326 $(document).ready(function(){
 327   $('#example').dataTable( {
 328     "iDisplayStart": 20
 329   });
 330 })
 331 
 332 /*
 333  * iScrollLoadGap
 334  * 默認爲100
 335  * 滾動餘界是指DataTable在當前頁面還有多少條數據可供滾動時自動加載新的數據,你可能希望指定一個足夠大的餘界
 336  * 以便滾動加載數據的操作對用戶來說是平滑的,同時也不會大到加載比需要的多的多的數據
 337  */
 338 $(document).ready(function(){
 339   $('#example').dataTable( {
 340     "bScrollInfinite": true,
 341     "bScrollCollapse": true,
 342     "sScrollY": "200px",
 343     "iScrollLoadGap": 50
 344   });
 345 });
 346 
 347 /*
 348  * iTabIndex
 349  * 默認爲0
 350  * 默認情況下DataTable允許通過爲需要鍵盤導航的元素添加tabindex屬性來進行導航(排序、分頁、過濾)
 351  * 允許你通過tab鍵切換控制組件,使用回車鍵去激活他們,默認爲0表示按照文檔流來切換
 352  * 如果需要的話,你可以使用該參數重寫切換順序,使用-1來禁止內建的鍵盤導航
 353  */
 354 $(document).ready(function(){
 355   $('#example').dataTable( {
 356     "iTabIndex": 1
 357   });
 358 });
 359 
 360 /*
 361  * oSearch
 362  * 無默認值
 363  * 該參數允許你在初始化的時候使用已經定義的全局過濾狀態,sSearch對象必須被定義,但是所有的其它選項都是可選的
 364  * 當bRegex爲true的時候,搜索字符串會被當作正則表達式,當爲false(默認)的時候,會被直接當作一個字符串
 365  * 當bSmart爲true的時候,DataTable會使用使用靈活過濾策略(匹配任何可能的數據),爲false的時候不會這樣做
 366  */
 367 $(document).ready(function(){
 368     $('#example').dataTable( {
 369         "oSearch": {"sSearch": "Initial search"}
 370     });
 371 })
 372 
 373 /*
 374  * sAjaxDataProp
 375  * 默認爲aaData
 376  * 當使用Ajax數據源或者服務器端處理的時候,DataTable會默認搜索aaData屬性作爲數據源
 377  * 該選項允許變更數據源的名稱,你可以使用JavaScript的點號對象表示法去訪問多級網狀數據源
 378  */
 379 // Get data from { "data": [...] }
 380 $(document).ready(function(){
 381   var oTable = $('#example').dataTable( {
 382     "sAjaxSource": "sources/data.txt",
 383     "sAjaxDataProp": "data"
 384   });
 385 });
 386 
 387 // Get data from { "data": { "inner": [...] } }
 388 $(document).ready(function(){
 389   var oTable = $('#example').dataTable( {
 390     "sAjaxSource": "sources/data.txt",
 391     "sAjaxDataProp": "data.inner"
 392   });
 393 });
 394 
 395 /*
 396  * sAjaxSource
 397  * 默認爲null
 398  * 該參數用來向DataTable指定加載的外部數據源(如果想使用現有的數據,請使用aData)
 399  * 可以簡單的提供一個可以用來獲得數據url或者JSON對象,該對象必須包含aaData,作爲表格的數據源
 400  */
 401 $(document).ready(function(){
 402   $('#example').dataTable( {
 403     "sAjaxSource": "http://www.sprymedia.co.uk/dataTables/json.php"
 404   });
 405 })
 406 
 407 /*
 408  * sCookiePrefix
 409  * 默認爲SpryMedia_DataTables_
 410  * 該參數可以用來重寫DataTable默認指定的用來存儲狀態信息的cookie的前綴
 411 */
 412 $(document).ready(function(){
 413   $('#example').dataTable( {
 414     "sCookiePrefix": "my_datatable_",
 415   });
 416 });
 417 
 418 /*
 419  * sDom
 420  * 默認值爲lfrtip (when bJQueryUI is false) or <"H"lfr>t<"F"ip> (when bJQueryUI is true)
 421  * 該初始化屬性用來指定你想把各種控制組件注入到dom節點的位置(比如你想把分頁組件放到表格的頂部)
 422  * DIV元素(帶或者不帶自定的class)可以添加目標樣式,下列語法被使用
 423  *  可供使用的選項
 424  *      'l' - 長度改變
 425  *      'f' - 過濾輸入
 426  *      't' - 表格
 427  *      'i' - 信息
 428  *      'p' - 分頁
 429  *      'r' - 處理
 430  *  可供使用的常量
 431  *      'H' - jQueryUI theme "header" classes('fg-toolbar ui-widget-header ui-corner-tl ui-corner-tr ui-helper-clearfix')
 432  *      'F' - jQueryUI theme "footer" classes ('fg-toolbar ui-widget-header ui-corner-bl ui-corner-br ui-helper-clearfix')
 433  *  需要的語法
 434  *      '<' 和 '>' - div元素
 435  *      '<"class" and '>' - 帶有class屬性的div元素
 436  *      '<"#id" and '>' - 帶有id屬性的div元素
 437  *  例子
 438  *      '<"wrapper"flipt>'
 439  *      '<lf<t>ip>'
 440  */
 441 $(document).ready(function(){
 442   $('#example').dataTable( {
 443     "sDom": '<"top"i>rt<"bottom"flp><"clear"&lgt;'
 444   });
 445 });
 446 
 447 /*
 448  * sPaginationType
 449  * 默認爲two_button
 450  * DataTable內建了兩種交互式分頁策略,兩個按鈕和全頁數,展現給終端用戶不同的控制方式
 451  * 可以通過API增加策略
 452  */
 453 $(document).ready(function(){
 454     $('#example').dataTable( {
 455         "sPaginationType": "full_numbers"
 456     });
 457 })
 458 
 459 /*
 460  * sScrollXInner
 461  * 默認爲空字符串,即:無效
 462  * 當橫向滾動可用的時候,該屬性可以用來強制DataTable的寬度比需要的更長
 463  * 比如你需要表格彼此相隔適宜,該變量可以用來使表格變大,而且強制滾動
 464  * 該該屬性可以是css設置,或者一個數字(作爲像素量度來使用)
 465  */
 466 $(document).ready(function(){
 467     $('#example').dataTable( {
 468         "sScrollX": "100%",
 469         "sScrollXInner": "110%"
 470     });
 471 });
 472 
 473 /*
 474  * sServerMethod
 475  * 默認值爲GET
 476  * 設置使用Ajax方式調用的服務器端的處理方法或者Ajax數據源的HTTP請求方式
 477  */
 478 $(document).ready(function(){
 479     $('#example').dataTable({
 480         "bServerSide": true,
 481         "sAjaxSource": "scripts/post.php",
 482         "sServerMethod": "POST"
 483     });
 484 });
 485 /*------------------------------------------------Callback------------------------------------------------*/
 486 /*
 487  * fnCookieCallback
 488  * 無默認值
 489  * 當DataTable的狀態保留可用時,自定義被保存的cookie和參數。只要cookie被修改就會調用此方法
 490  * 該方法需要返回一個格式良好的cookie字符串,注意數據對象是以Javascript對象的形式傳遞進來的,必須轉換成字符串,例如JSON格式
 491  */
 492 $(document).ready(function (){
 493   $('#example').dataTable({
 494     "fnCookieCallback": function (sName, oData, sExpires, sPath) {
 495       // Customise oData or sName or whatever else here
 496       return sName + "="+JSON.stringify(oData)+"; expires=" + sExpires +"; path=" + sPath;
 497     }
 498   });
 499 });
 500 
 501 /*
 502  * fnCreatedRow
 503  * 無默認值
 504  * 當一個新的TR元素(並且所有TD子元素被插入)被創建或者被作爲一個DOM資源被註冊時調用該函數
 505  * 允許操作該TR元素
 506  */
 507 $(document).ready(function(){
 508     $('#example').dataTable({
 509         "fnCreatedRow": function( nRow, aData, iDataIndex ){
 510             // Bold the grade for all 'A' grade browsers
 511             if ( aData[4] == "A" )
 512     {
 513         $('td:eq(4)', nRow).html( '<b>A</b>' );
 514     }
 515         }
 516     });
 517 });
 518 
 519 /*
 520  * fnDrawCallback
 521  * 無默認值
 522  * 每當draw事件發生時調用該函數,允許你動態編輯新建的dom對象的任何屬性
 523  */
 524 $(document).ready( function(){
 525     $('#example').dataTable({
 526         "fnDrawCallback": function(){
 527             alert( 'DataTables has redrawn the table' );
 528         }
 529     });
 530 });
 531 
 532 /*
 533  * fnFooterCallback
 534  * 無默認值
 535  * 與fnHeaderCallback()完全相同,只是該函數允許你在每一個draw時間發生時修改頁腳
 536  */
 537 $(document).ready( function(){
 538     $('#example').dataTable({
 539         "fnDrawCallback": function() {
 540             alert( 'DataTables has redrawn the table' );
 541         }
 542     });
 543 });
 544 
 545 /*
 546  * fnFormatNumber
 547  * 無默認值
 548  * 當渲染表格信息(例如:顯示57條記錄中的1-10條)中大的數字時
 549  * 爲了方便用戶,DataTable會使用逗號分割每千單位(例如1000000會被渲染爲1,000,000)
 550  * 該函數會重寫DataTable默認使用的策略
 551  */
 552 $(document).ready(function(){
 553   $('#example').dataTable({
 554     "fnFormatNumber": function ( iIn ) {
 555       if ( iIn < 1000 ) {
 556         return iIn;
 557       } else {
 558         var
 559           s=(iIn+""),
 560           a=s.split(""), out="",
 561           iLen=s.length;
 562 
 563         for ( var i=0 ; i<iLen ; i++ ) {
 564           if ( i%3 === 0 && i !== 0 ) {
 565             out = "'"+out;
 566           }
 567           out = a[iLen-i-1]+out;
 568         }
 569       }
 570       return out;
 571     };
 572   });
 573 });
 574 
 575 /*
 576  * fnHeaderCallback
 577  * 無默認值
 578  * 每當draw事件發生時調用該函數,允許你動態編輯表頭行,可以用來計算和展示關於表格的有用的信息
 579  */
 580 $(document).ready(function(){
 581     $('#example').dataTable({
 582         "fnFormatNumber": function ( iIn ) {
 583             if ( iIn < 1000 ) {
 584                 return iIn;
 585             } else {
 586                 var
 587         s=(iIn+""),
 588         a=s.split(""), out="",
 589         iLen=s.length;
 590 
 591     for ( var i=0 ; i<iLen ; i++ ) {
 592         if ( i%3 === 0 && i !== 0 ) {
 593             out = "'"+out;
 594         }
 595         out = a[iLen-i-1]+out;
 596     }
 597             }
 598             return out;
 599         };
 600     });
 601 });
 602 
 603 /*
 604  * fnInfoCallback
 605  * 無默認值
 606  * 信息元素可以用來傳輸表格當前狀態的信息,儘管DataTable提供的國際化的選項在處理大多數自定義情況時已經相當方便了
 607  * 或許你有時仍然希望自定義深層的字符串,該函數會滿足你的需要
 608  */
 609 $('#example').dataTable( {
 610     "fnInfoCallback": function( oSettings, iStart, iEnd, iMax, iTotal, sPre ) {
 611         return iStart +" to "+ iEnd;
 612     }
 613 });
 614 
 615 /*
 616  * fnInitComplete
 617  * 無默認值
 618  * 當表格被初始化後調用該函數,通常DataTable會被持續初始化,並不需要該函數
 619  * 可是,當使用異步的XmlHttpRequest從外部獲得語言信息時,初始化並不是持續的
 620  */
 621 $(document).ready( function(){
 622     $('#example').dataTable({
 623         "fnInitComplete": function(oSettings, json) {
 624             alert( 'DataTables has finished its initialisation.' );
 625         }
 626     });
 627 })
 628 
 629 /*
 630  * fnPreDrawCallback
 631  * 無默認值
 632  * 在每一個表格draw事件發生前調用該函數,通過返回false來取消draw事件
 633  * 其它任何的返回值,包括undefined都會導致draw事件的發生
 634  */
 635 $(document).ready( function(){
 636     $('#example').dataTable({
 637         "fnPreDrawCallback": function( oSettings ) {
 638             if ( $('#test').val() == 1 ) {
 639                 return false;
 640             }
 641         }
 642     });
 643 });
 644 
 645 /*
 646  * fnRowCallback
 647  * 無默認值
 648  * 你可以通過該函數在每一個表格繪製事件發生之後,渲染到屏幕上之前,向表格裏的每一行傳遞'處理過程'
 649  * 該函數可以用來設置行的class名字等
 650  */
 651 $(document).ready(function(){
 652     $('#example').dataTable({
 653         "fnRowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {
 654             // Bold the grade for all 'A' grade browsers
 655             if ( aData[4] == "A" )
 656     {
 657         $('td:eq(4)', nRow).html( '<b>A</b>' );
 658     }
 659         }
 660     });
 661 });
 662 
 663 /*
 664  * fnServerData
 665  * 無默認值
 666  * 你可以使用該參數重寫從服務器獲取數據的方法($.getJSON),從而使其更適合你的應用
 667  * 例如你可以使用POST方式提交,或者從Google Gears或者AIR數據庫獲取數據
 668  */
 669 // POST data to server
 670 $(document).ready(function(){
 671     $('#example').dataTable( {
 672         "bProcessing": true,
 673         "bServerSide": true,
 674         "sAjaxSource": "xhr.php",
 675         "fnServerData": function ( sSource, aoData, fnCallback ) {
 676             $.ajax( {
 677                 "dataType": 'json',
 678             "type": "POST",
 679             "url": sSource,
 680             "data": aoData,
 681             "success": fnCallback
 682             } );
 683         }
 684     });
 685 });
 686 
 687 /*
 688  * fnServerParams
 689  * 無默認值
 690  * 用來在向服務器發送Ajax請求時發送額外的數據,例如自定義的過濾信息,該函數使向服務器發送額外參數變得簡單
 691  * 傳遞進來的參數是DataTable建立的數據集合,你可以根據需要添加或者修改該集合
 692  */
 693 $(document).ready(function(){
 694     $('#example').dataTable( {
 695         "bProcessing": true,
 696         "bServerSide": true,
 697         "sAjaxSource": "scripts/server_processing.php",
 698         "fnServerParams": function ( aoData ) {
 699             aoData.push( { "name": "more_data", "value": "my_value" } );
 700         }
 701     });
 702 });
 703 
 704 /*
 705  * fnStateLoad
 706  * 無默認值
 707  * 加載表格狀態,使用該函數你可以定義狀態信息加載的位置和方式,默認情況下DataTable會從cookie中加載
 708  * 不過你或許希望使用本地存儲(HTML5支持),或者服務端數據庫
 709  */
 710 $(document).ready(function(){
 711     $('#example').dataTable({
 712         "bStateSave": true,
 713         "fnStateSave": function (oSettings, oData) {
 714             var o;
 715 
 716             // Send an Ajax request to the server to get the data. Note that
 717             // this is a synchronous request.
 718             $.ajax( {
 719                 "url": "/state_load",
 720                 "async": false,
 721                 "dataType": "json",
 722                 "success": function (json) {
 723                     o = json;
 724                 }
 725             } );
 726             return o;
 727         }
 728     });
 729 });
 730 
 731 /*
 732  * fnStateLoadParams
 733  * 無默認值
 734  * 該回調可以用來在加載狀態信息之前編輯狀態信息
 735  * 函數在表格從存儲的數據加載狀態信息時調用,在表格<當前使用的設置對象>被<從保存信息中加載的設置對象>修改以前調用
 736  * 注意作爲插件開發者,你應該使用'stateLoadParams'事件去加載plug-in的參數
 737  */
 738 // Remove a saved filter, so filtering is never loaded
 739 $(document).ready(function(){
 740     $('#example').dataTable({
 741         "bStateSave": true,
 742         "fnStateLoadParams": function (oSettings, oData) {
 743             oData.oFilter.sSearch = "";
 744         });
 745     });
 746 
 747 
 748 // Disallow state loading by returning false
 749 $(document).ready(function(){
 750     $('#example').dataTable({
 751         "bStateSave": true,
 752         "fnStateLoadParams": function (oSettings, oData) {
 753             return false;
 754         });
 755     });
 756 
 757 /*
 758  * fnStateLoaded
 759  * 無默認值
 760  * 在表格狀態被狀態存儲方法讀取和DataTable設置對象被修改時調用,作爲被狀態信息被加載的結果
 761  */
 762 // Show an alert with the filtering value that was saved
 763 $(document).ready(function(){
 764     $('#example').dataTable({
 765         "bStateSave": true,
 766         "fnStateLoaded": function (oSettings, oData) {
 767             alert( 'Saved filter was: '+oData.oFilter.sSearch );
 768         });
 769     });
 770 
 771 /*
 772  * fnStateSave
 773  * 無默認值
 774  * 保存表格狀態,使用該函數你可以定義狀態信息保存的位置和方式,默認情況下DataTable會保存在cookie中
 775  * 不過你或許希望使用本地存儲(HTML5支持),或者服務端數據庫
 776  */
 777 $(document).ready(function(){
 778     $('#example').dataTable({
 779         "bStateSave": true,
 780         "fnStateSave": function (oSettings, oData) {
 781             // Send an Ajax request to the server with the state object
 782             $.ajax( {
 783                 "url": "/state_save",
 784             "data": oData,
 785             "dataType": "json",
 786             "method": "POST"
 787                 "success": function () {}
 788             });
 789         }
 790     });
 791 });
 792 
 793 /*
 794  * fnStateSaveParams
 795  * 無默認值
 796  * 該回調允許你編輯被保存的狀態信息,在表格改變了狀態信息需要保存的時候調用
 797  * 可以使用該回調在保存狀態信息的對象被保存以前對其進行修改,包括添加或者其它狀態屬性或者修改
 798  */
 799 // Remove a saved filter, so filtering is never saved
 800 $(document).ready(function(){
 801     $('#example').dataTable({
 802         "bStateSave": true,
 803         "fnStateLoadParams": function (oSettings, oData) {
 804             oData.oFilter.sSearch = "";
 805         });
 806     });
 807 /*------------------------------------------------Columns------------------------------------------------*/
 808 /*
 809  * aDataSort
 810  * 默認爲null,自動使用列序號作爲默認
 811  * 在排序一列的時候同時將其它幾列也排序,例如名和姓作爲多列排序
 812  */
 813 // Using aoColumnDefs
 814 $(document).ready(function(){
 815     $('#example').dataTable({
 816         "aoColumnDefs": [
 817     { "aDataSort": [ 0, 1 ], "aTargets": [ 0 ] },
 818         { "aDataSort": [ 1, 0 ], "aTargets": [ 1 ] },
 819         { "aDataSort": [ 2, 3, 4 ], "aTargets": [ 2 ] }
 820     ]
 821     });
 822 });
 823 
 824 
 825 // Using aoColumns
 826 $(document).ready(function(){
 827     $('#example').dataTable({
 828         "aoColumns": [
 829     { "aDataSort": [ 0, 1 ] },
 830         { "aDataSort": [ 1, 0 ] },
 831         { "aDataSort": [ 2, 3, 4 ] },
 832         null,
 833         null
 834         ]
 835     });
 836 });
 837 
 838 /*
 839  * asSorting
 840  * 默認爲[ 'asc', 'desc' ] 
 841  * 你可以通過該參數控制默認排序的方向,甚至改變排序處理器的行爲(例如:只允許升序排序)
 842  */
 843 // Using aoColumnDefs
 844 $(document).ready(function(){
 845     $('#example').dataTable({
 846         "aoColumnDefs": [
 847     { "asSorting": [ "asc" ], "aTargets": [ 1 ] },
 848         { "asSorting": [ "desc", "asc", "asc" ], "aTargets": [ 2 ] },
 849         { "asSorting": [ "desc" ], "aTargets": [ 3 ] }
 850     ]
 851     });
 852 });
 853 
 854 
 855 // Using aoColumns
 856 $(document).ready(function(){
 857     $('#example').dataTable( {
 858         "aoColumns": [
 859         null,
 860         { "asSorting": [ "asc" ] },
 861         { "asSorting": [ "desc", "asc", "asc" ] },
 862         { "asSorting": [ "desc" ] },
 863         null
 864         ]
 865     });
 866 });
 867 
 868 /*
 869  * bSearchable
 870  * 默認爲true
 871  * 是否在列上應用過濾
 872  */
 873 // Using aoColumnDefs
 874 $(document).ready(function(){
 875     $('#example').dataTable({
 876         "aoColumnDefs": [
 877     { "bSearchable": false, "aTargets": [ 0 ] }
 878     ]} );
 879 });
 880 
 881 
 882 // Using aoColumns
 883 $(document).ready(function(){
 884     $('#example').dataTable({
 885         "aoColumns": [
 886     { "bSearchable": false },
 887         null,
 888         null,
 889         null,
 890         null
 891         ] });
 892 });
 893 
 894 /*
 895  * bSortable
 896  * 默認爲true
 897  * 是否在某一列上開啓排序
 898  */
 899 // Using aoColumnDefs
 900 $(document).ready(function(){
 901     $('#example').dataTable({
 902         "aoColumnDefs": [
 903     { "bSortable": false, "aTargets": [ 0 ] }
 904     ] });
 905 });
 906 
 907 
 908 // Using aoColumns
 909 $(document).ready(function(){
 910     $('#example').dataTable( {
 911         "aoColumns": [
 912     { "bSortable": false },
 913         null,
 914         null,
 915         null,
 916         null
 917         ] });
 918 });
 919 
 920 /*
 921  * bUseRendered
 922  * 默認爲true
 923  * 當對一列使用使用fnRender時,你或許希望使用原始的數據(渲染以前)去排序或者過濾(默認是使用用戶看到的渲染過的數據)
 924  * 或許對日期類型有些用處,注意,現在建議使用mDataProp作爲函數並且使用該函數提供的type參數,來允許不同的數據被用來排序,過濾,展現和類型檢測
 925  */
 926 // Using aoColumnDefs
 927 $(document).ready(function() {
 928     $('#example').dataTable( {
 929         "aoColumnDefs": [
 930     {
 931         "fnRender": function ( oObj ) {
 932             return oObj.aData[0] +' '+ oObj.aData[3];
 933         },
 934         "bUseRendered": false,
 935         "aTargets": [ 0 ]
 936     }
 937     ]
 938     } );
 939 } );
 940 
 941 // Using aoColumns
 942 $(document).ready(function() {
 943     $('#example').dataTable( {
 944         "aoColumns": [
 945     {
 946         "fnRender": function ( oObj ) {
 947             return oObj.aData[0] +' '+ oObj.aData[3];
 948         },
 949         "bUseRendered": false
 950     },
 951         null,
 952         null,
 953         null,
 954         null
 955         ]
 956     } );
 957 } );
 958 
 959 /*
 960  * bVisible
 961  * 默認值爲true
 962  * 是否展示某一列
 963  */
 964 // Using aoColumnDefs
 965 $(document).ready(function() {
 966     $('#example').dataTable( {
 967         "aoColumnDefs": [
 968     { "bVisible": false, "aTargets": [ 0 ] }
 969     ] } );
 970 } );
 971 
 972 
 973 // Using aoColumns
 974 $(document).ready(function() {
 975     $('#example').dataTable( {
 976         "aoColumns": [
 977     { "bVisible": false },
 978         null,
 979         null,
 980         null,
 981         null
 982         ] } );
 983 } );
 984 
 985 /*
 986  * fnCreatedCell
 987  * 無默認值
 988  * 每當新的單元格被建立(Ajax源等)或者處理輸入(DOM源)時,開發者可定義的函數會被調用
 989  * 該屬性用作fnRender的補充來允許你修改在fnRender函數調用之後新建的DOM元素(例如增加背景顏色)
 990  */
 991 $(document).ready(function() {
 992     $('#example').dataTable( {
 993         "aoColumnDefs": [ {
 994             "aTargets": [3],
 995         "fnCreatedCell": function (nTd, sData, oData, iRow, iCol) {
 996             if ( sData == "1.7" ) {
 997                 $(nTd).css('color', 'blue')
 998             }
 999         }
1000         } ]
1001     });
1002 } );
1003 
1004 /*
1005  * fnRender
1006  * 無默認值
1007  * 自定義列中每個單元格被展示的時候調用的展示函數
1008  */
1009 // Using aoColumnDefs
1010 $(document).ready(function() {
1011     $('#example').dataTable( {
1012         "aoColumnDefs": [
1013     {
1014         "fnRender": function ( o, val ) {
1015             return o.aData[0] +' '+ o.aData[3];
1016         },
1017         "aTargets": [ 0 ]
1018     }
1019     ]
1020     } );
1021 } );
1022 
1023 
1024 // Using aoColumns
1025 $(document).ready(function() {
1026     $('#example').dataTable( {
1027         "aoColumns": [
1028     { "fnRender": function ( o, val ) {
1029                                           return o.aData[0] +' '+ o.aData[3];
1030                                       } },
1031         null,
1032         null,
1033         null,
1034         null
1035         ]
1036     } );
1037 } );
1038 
1039 /*
1040  * iDataSort
1041  * 默認值爲-1,使用自動計算的列標
1042  * 當選擇該列進行排序的時候,你希望調用排序操作的列的列號,該參數可以用來按隱藏列排序
1043  */
1044 // Using aoColumnDefs
1045 $(document).ready(function() {
1046     $('#example').dataTable( {
1047         "aoColumnDefs": [
1048     { "iDataSort": 1, "aTargets": [ 0 ] }
1049     ]
1050     } );
1051 } );
1052 
1053 // Using aoColumns
1054 $(document).ready(function() {
1055     $('#example').dataTable( {
1056         "aoColumns": [
1057     { "iDataSort": 1 },
1058         null,
1059         null,
1060         null,
1061         null
1062         ]
1063     } );
1064 } );
1065 
1066 /*
1067  * mDataProp
1068  * 默認爲null,使用自動計算的列標
1069  * 該屬性可以從任何JSON格式數據源讀取屬性,包括深層網狀的對象和屬性,
1070  * 有幾種不同的傳遞方式可以影響mDataProp的行爲
1071  * 整型:被當作數據源的數組下表,是DataTable使用的默認行爲(每列遞增)
1072  * 字符串類型:被當作從數據源獲取的對象的屬性名,注意你可以使用Javascript點號訪問符去訪問深層次的屬性或數組
1073  * null:sDafaultContent選項會被使用到單元格上,(默認是空字符串,當生成可編輯列、可刪除列的時候可以使用該屬性)
1074  * 函數:當表格獲取或者設置單元格時被調用的函數,函數有三個參數
1075  *      {array|object}:該行的數據源
1076  *      {string}:調用數據請求的類型,設置數據時是'set',收集數據時是'filter','display','type','sort'
1077  *      {*}:當第二個參數是set的時候,要被設置的數據
1078  *      當類型是'set'的時候,該函數不需要返回一個值,除此之外,返回值是可以用來請求數據的
1079  */
1080 // Read table data from objects
1081 $(document).ready(function() {
1082     var oTable = $('#example').dataTable( {
1083         "sAjaxSource": "sources/deep.txt",
1084         "aoColumns": [
1085     { "mDataProp": "engine" },
1086         { "mDataProp": "browser" },
1087         { "mDataProp": "platform.inner" },
1088         { "mDataProp": "platform.details.0" },
1089         { "mDataProp": "platform.details.1" }
1090     ]
1091     } );
1092 } );
1093 
1094 
1095 // Using mDataProp as a function to provide different information for
1096 // sorting, filtering and display. In this case, currency (price)
1097 $(document).ready(function() {
1098     var oTable = $('#example').dataTable( {
1099         "aoColumnDefs": [
1100     {
1101         "aTargets": [ 0 ],
1102         "mDataProp": function ( source, type, val ) {
1103             if (type === 'set') {
1104                 source.price = val;
1105                 // Store the computed dislay and filter values for efficiency
1106                 source.price_display = val=="" ? "" : "$"+numberFormat(val);
1107                 source.price_filter  = val=="" ? "" : "$"+numberFormat(val)+" "+val;
1108                 return;
1109             }
1110             else if (type === 'display') {
1111                 return source.price_display;
1112             }
1113             else if (type === 'filter') {
1114                 return source.price_filter;
1115             }
1116     // 'sort' and 'type' both just use the integer
1117     return source.price;
1118         }
1119     ]
1120     } );
1121     } );
1122 
1123 /*
1124  * sClass
1125  * 默認值爲空字符串
1126  * 該列的每一個單元格被賦予的class
1127  */
1128 // Using aoColumnDefs
1129 $(document).ready(function() {
1130     $('#example').dataTable( {
1131         "aoColumnDefs": [
1132     { "sClass": "my_class", "aTargets": [ 0 ] }
1133     ]
1134     } );
1135 } );
1136 
1137 // Using aoColumns
1138 $(document).ready(function() {
1139     $('#example').dataTable( {
1140         "aoColumns": [
1141     { "sClass": "my_class" },
1142         null,
1143         null,
1144         null,
1145         null
1146         ]
1147     } );
1148 } );
1149 
1150 /*
1151  * sContentPadding
1152  * 默認值爲空字符串
1153  * 當DataTable計算分配給每一列的列寬的時候,會尋找每一列中最長的字符串,然後構建一個臨時表
1154  * 從臨時表中讀取寬度,這樣帶來的問題是'mmm'會比'iiii'的長度長很多,但是後者的長度要大
1155  * 這樣計算值會出現偏差(正確的處理然後放入DOM對象再測量長度會相當的慢),我們提供了這個選項作爲一個解決方法
1156  * 它會把他的值添加到該列最長的值的後面來計算列寬,通常你不需要該屬性,該屬性也沒有被寫到DataTables.net的文檔中
1157  */
1158 // Using aoColumns
1159 $(document).ready(function() {
1160   $('#example').dataTable( {
1161     "aoColumns": [
1162       null,
1163       null,
1164       null,
1165       {
1166         "sContentPadding": "mmm"
1167       }
1168     ]
1169   } );
1170 } );
1171 
1172 /*
1173  * sDefaultContent
1174  * 默認爲空字符串
1175  * 允許給列值一個默認值,只要發現null值就會顯示默認值
1176  * 可以由mDataProp設置爲null或者數據源是null引起
1177  */
1178 // Using aoColumnDefs
1179 $(document).ready(function() {
1180     $('#example').dataTable( {
1181         "aoColumnDefs": [
1182     {
1183         "mDataProp": null,
1184         "sDefaultContent": "Edit",
1185         "aTargets": [ -1 ]
1186     }
1187     ]
1188     } );
1189 } );
1190 
1191 
1192 // Using aoColumns
1193 $(document).ready(function() {
1194     $('#example').dataTable( {
1195         "aoColumns": [
1196         null,
1197         null,
1198         null,
1199         {
1200             "mDataProp": null,
1201         "sDefaultContent": "Edit"
1202         }
1203     ]
1204     } );
1205 } );
1206 
1207 /*
1208  * sName
1209  * 默認值爲空字符串
1210  * 該參數只有使用在服務器端處理的時候調用,在瞭解客戶端展示了哪些列的時候十分有用
1211  * 然後與數據庫字段建立映射,當被定義時,如果服務器端返回的信息的順序不是期望的順序,也可以使用名字去區分
1212  * 使用這種方式的好處是:用戶在客戶端交換了列,你的服務器端代碼不用更新
1213  */
1214 // Using aoColumnDefs
1215 $(document).ready(function() {
1216     $('#example').dataTable( {
1217         "aoColumnDefs": [
1218     { "sName": "engine", "aTargets": [ 0 ] },
1219         { "sName": "browser", "aTargets": [ 1 ] },
1220         { "sName": "platform", "aTargets": [ 2 ] },
1221         { "sName": "version", "aTargets": [ 3 ] },
1222         { "sName": "grade", "aTargets": [ 4 ] }
1223     ]
1224     } );
1225 } );
1226 
1227 
1228 // Using aoColumns
1229 $(document).ready(function() {
1230     $('#example').dataTable( {
1231         "aoColumns": [
1232     { "sName": "engine" },
1233         { "sName": "browser" },
1234         { "sName": "platform" },
1235         { "sName": "version" },
1236         { "sName": "grade" }
1237     ]
1238     } );
1239 } );
1240 
1241 /*
1242  * sSortDataType
1243  * 默認值爲std
1244  * 爲排序操作定義可以用來在排序前讀取實時表格信息(更新內部緩存版本)的數據源的類型
1245  * 允許排序事件發生在用戶可編輯的元素上,例如輸入框
1246  */
1247 // Using aoColumnDefs
1248 $(document).ready(function() {
1249     $('#example').dataTable( {
1250         "aoColumnDefs": [
1251     { "sSortDataType": "dom-text", "aTargets": [ 2, 3 ] },
1252         { "sType": "numeric", "aTargets": [ 3 ] },
1253         { "sSortDataType": "dom-select", "aTargets": [ 4 ] },
1254         { "sSortDataType": "dom-checkbox", "aTargets": [ 5 ] }
1255     ]
1256     } );
1257 } );
1258 
1259 
1260 // Using aoColumns
1261 $(document).ready(function() {
1262     $('#example').dataTable( {
1263         "aoColumns": [
1264         null,
1265         null,
1266         { "sSortDataType": "dom-text" },
1267         { "sSortDataType": "dom-text", "sType": "numeric" },
1268         { "sSortDataType": "dom-select" },
1269         { "sSortDataType": "dom-checkbox" }
1270     ]
1271     } );
1272 } );
1273 
1274 /*
1275  * sTitle
1276  * 默認值爲null,從TH標籤讀取
1277  * 列名
1278  */
1279 // Using aoColumnDefs
1280 $(document).ready(function() {
1281     $('#example').dataTable( {
1282         "aoColumnDefs": [
1283     { "sTitle": "My column title", "aTargets": [ 0 ] }
1284     ]
1285     } );
1286 } );
1287 
1288 
1289 // Using aoColumns
1290 $(document).ready(function() {
1291     $('#example').dataTable( {
1292         "aoColumns": [
1293     { "sTitle": "My column title" },
1294         null,
1295         null,
1296         null,
1297         null
1298         ]
1299     } );
1300 } );
1301 
1302 /*
1303  * sType
1304  * 默認值爲null,從弱引用數據中自動判斷
1305  * 允許你指定該列數據按什麼類型來排序,目前有四種類型(字符串,數字,日期和html(在排序前會自動除去HTML標記))可選
1306  * 注意只有能夠被Javascript的Date對象接受的格式化日期字符串纔會被當作日期類型接受,例如"Mar 26, 2008 5:03 PM"
1307  * 默認是使用html類型,更多類型可以通過插件添加
1308  */
1309 // Using aoColumnDefs
1310 $(document).ready(function() {
1311     $('#example').dataTable( {
1312         "aoColumnDefs": [
1313     { "sType": "html", "aTargets": [ 0 ] }
1314     ]
1315     } );
1316 } );
1317 
1318 
1319 // Using aoColumns
1320 $(document).ready(function() {
1321     $('#example').dataTable( {
1322         "aoColumns": [
1323     { "sType": "html" },
1324         null,
1325         null,
1326         null,
1327         null
1328         ]
1329     } );
1330 } );
1331 
1332 /*
1333  * sWidth
1334  * 默認值爲null,自動的
1335  * 定義列的寬度,該參數可以接受CSS定義(3em,20px等),DataTable對沒有通過該接口指定寬度的列使用靈活寬度
1336  * 從而保證表格是可被讀的
1337  */
1338 // Using aoColumnDefs
1339 $(document).ready(function() {
1340     $('#example').dataTable( {
1341         "aoColumnDefs": [
1342     { "sWidth": "20%", "aTargets": [ 0 ] }
1343     ]
1344     } );
1345 } );
1346 
1347 
1348 // Using aoColumns
1349 $(document).ready(function() {
1350     $('#example').dataTable( {
1351         "aoColumns": [
1352     { "sWidth": "20%" },
1353         null,
1354         null,
1355         null,
1356         null
1357         ]
1358     } );
1359 } );
1360 /*------------------------------------------------ServerSide------------------------------------------------*/
1361 /*
1362  * bServerSide
1363  * 默認值false
1364  * 配置使用服務器端處理的DataTable,注意sAjaxSource參數必須指定,以便給DataTable一個獲取每行數據的數據源
1365  */
1366 $(document).ready( function () {
1367     $('#example').dataTable( {
1368         "bServerSide": true,
1369         "sAjaxSource": "xhr.php"
1370     } );
1371 } );
1372 /*
1373  * fnServerData
1374  * 無默認值
1375  * 你可以使用該參數重寫從服務器獲取數據的方法($.getJSON),從而使其更適合你的應用
1376  * 例如你可以使用POST方式提交,或者從Google Gears或者AIR數據庫獲取數據
1377  */
1378 // POST data to server
1379 $(document).ready(function() {
1380     $('#example').dataTable( {
1381         "bProcessing": true,
1382         "bServerSide": true,
1383         "sAjaxSource": "xhr.php",
1384         "fnServerData": function ( sSource, aoData, fnCallback ) {
1385             $.ajax( {
1386                 "dataType": 'json',
1387             "type": "POST",
1388             "url": sSource,
1389             "data": aoData,
1390             "success": fnCallback
1391             } );
1392         }
1393     } );
1394 } );
1395 /*
1396  * fnServerParams
1397  * 無默認值
1398  * 用來在向服務器發送Ajax請求時發送額外的數據,例如自定義的過濾信息,該函數使向服務器發送額外參數變得簡單
1399  * 傳遞進來的參數是DataTable建立的數據集合,你可以根據需要添加或者修改該集合
1400  */
1401 $(document).ready(function() {
1402     $('#example').dataTable( {
1403         "bProcessing": true,
1404         "bServerSide": true,
1405         "sAjaxSource": "scripts/server_processing.php",
1406         "fnServerParams": function ( aoData ) {
1407             aoData.push( { "name": "more_data", "value": "my_value" } );
1408         }
1409     } );
1410 } );
1411 /*
1412  * sAjaxDataProp
1413  * 默認爲aaData
1414  * 當使用Ajax數據源或者服務器端處理的時候,DataTable會默認搜索aaData屬性作爲數據源
1415  * 該選項允許變更數據源的名稱,你可以使用JavaScript的點號對象表示法去訪問多級網狀數據源
1416  */
1417 // Get data from { "data": [...] }
1418 $(document).ready(function() {
1419     var oTable = $('#example').dataTable( {
1420         "sAjaxSource": "sources/data.txt",
1421         "sAjaxDataProp": "data"
1422     } );
1423 } );
1424 
1425 
1426 // Get data from { "data": { "inner": [...] } }
1427 $(document).ready(function() {
1428     var oTable = $('#example').dataTable( {
1429         "sAjaxSource": "sources/data.txt",
1430         "sAjaxDataProp": "data.inner"
1431     } );
1432 } );
1433 /*
1434  * sAjaxSource
1435  * 默認爲null
1436  * 該參數用來向DataTable指定加載的外部數據源(如果想使用現有的數據,請使用aData)
1437  * 可以簡單的提供一個可以用來獲得數據url或者JSON對象,該對象必須包含aaData,作爲表格的數據源
1438  */
1439 $(document).ready(function(){
1440   $('#example').dataTable( {
1441     "sAjaxSource": "http://www.sprymedia.co.uk/dataTables/json.php"
1442   });
1443 })
1444 /*
1445  * sServerMethod
1446  * 默認值爲GET
1447  * 設置使用Ajax方式調用的服務器端的處理方法或者Ajax數據源的HTTP請求方式
1448  */
1449 $(document).ready(function(){
1450     $('#example').dataTable({
1451         "bServerSide": true,
1452         "sAjaxSource": "scripts/post.php",
1453         "sServerMethod": "POST"
1454     });
1455 });

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章