一、DATATABLE JS 核心脚本文件、 CSS文件及图片
         请到这里下载最新的版本的DATATABLE插件。该插件内附上了具体的官方DEMO。读者可自行阅读,这里只介绍这个插件的核心文件
          1.JQUERY.DATATABLES.MIN.JS
                压缩后的核心JS文件
          2.官方提供的CSS文件
             DEMO_PAGE.CSS 、DEMO_TABLE.CSS、 DEMO_TABLE_JUI.CSS
             可以自定义CSS样式来满足客户需求。
          3.图片文件
               包含一个IMAGES文件夹,请将该文件请全部拷贝到MVC工程的指定目录,截图如下:
                  
     二、DATATABLE 客户端HTML及JS代码
HTML代码
< THEAD >
< TR >
< TH >
标识
</ TH >
< TH >
公司名称
</ TH >
< TH >
地址
</ TH >
< TH >
城市
</ TH >
</ TR >
</ THEAD >
< TBODY >
</ TBODY >
</ TABLE >
< INPUT TYPE ="BUTTON" ID ="BTNTEST" VALUE ="根据条件重新响应后台AJAX" />
VAR TBL;
$( FUNCTION () {
TBL = $( ' #MYDATATABLE ' ).DATATABLE({
" BSERVERSIDE " : TRUE ,
" SAJAXSOURCE " : " HOME/AJAXHANDLER " , // MVC后台AJAX调用接口。
' BPAGINATE ' : TRUE , // 是否分页。
" BPROCESSING " : TRUE , // 当DATATABLE获取数据时候是否显示正在处理提示信息。
' BFILTER ' : FALSE , // 是否使用内置的过滤功能。
' BLENGTHCHANGE ' : TRUE , // 是否允许用户自定义每页显示条数。
' SPAGINATIONTYPE ' : ' FULL_NUMBERS ' , // 分页样式
" AOCOLUMNS " : [
{ " SNAME " : " ID " ,
" BSEARCHABLE " : FALSE ,
" BSORTABLE " : FALSE ,
" FNRENDER " : FUNCTION (OOBJ) {
RETURN ' <A HREF=\"DETAILS/ ' + OOBJ.ADATA[ 0 ] + ' \">VIEW</A> ' ;
} // 自定义列的样式
},
{ " SNAME " : " COMPANY_NAME " },
{ " SNAME " : " ADDRESS " },
{ " SNAME " : " TOWN " }
]
});
// AJAX重新LOAD控件数据。(SERVER端)
$( " #BTNTEST " ).CLICK( FUNCTION () {
VAR OSETTINGS = TBL.FNSETTINGS();
OSETTINGS.SAJAXSOURCE = " HOME/AJAXHANDLER2 " ;
ALERT(OSETTINGS.SAJAXSOURCE);
TBL.FNCLEARTABLE( 0 );
TBL.FNDRAW();
});
});
< / SCRIPT>
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;
&NBSP;&NBSP;&NBSP;&NBSP;&NBSP; 三、 MVC 服务端AJAX相关代码
&NBSP;DATATABLE AJAX响应参数类
{
/// <SUMMARY>
/// DATATABLE请求服务器端次数
/// </SUMMARY>
PUBLIC STRING SECHO { GET ; SET ; }
/// <SUMMARY>
/// 过滤文本
/// </SUMMARY>
PUBLIC STRING SSEARCH { GET ; SET ; }
/// <SUMMARY>
/// 每页显示的数量
/// </SUMMARY>
PUBLIC INT IDISPLAYLENGTH { GET ; SET ; }
/// <SUMMARY>
/// 分页时每页跨度数量
/// </SUMMARY>
PUBLIC INT IDISPLAYSTART { GET ; SET ; }
/// <SUMMARY>
/// 列数
/// </SUMMARY>
PUBLIC INT ICOLUMNS { GET ; SET ; }
/// <SUMMARY>
/// 排序列的数量
/// </SUMMARY>
PUBLIC INT ISORTINGCOLS { GET ; SET ; }
/// <SUMMARY>
/// 逗号分割所有的列
/// </SUMMARY>
PUBLIC STRING SCOLUMNS { GET ; SET ; }
}
接着使用MVC的 MODELBINDER将ACTION参数实体化
{
RETURN JSON( NEW
{
SECHO = PARAM.SECHO,
ITOTALRECORDS = 50 ,
ITOTALDISPLAYRECORDS = 50 ,
AADATA = NEW LIST < OBJECT > {
NEW STRING [] { " 1 " , " 公司信息 " , " 地址信息 " , " 城市信息 " },
NEW STRING [] { " 1 " , " 公司信息 " , " 地址信息 " , " 城市信息 " },
NEW STRING [] { " 1 " , " 公司信息 " , " 地址信息 " , " 城市信息 " },
NEW STRING [] { " 1 " , " 公司信息 " , " 地址信息 " , " 城市信息 " },
NEW STRING [] { " 1 " , " 公司信息 " , " 地址信息 " , " 城市信息 " },
NEW STRING [] { " 1 " , " 公司信息 " , " 地址信息 " , " 城市信息 " },
NEW STRING [] { " 1 " , " 公司信息 " , " 地址信息 " , " 城市信息 " },
NEW STRING [] { " 1 " , " 公司信息 " , " 地址信息 " , " 城市信息 " },
NEW STRING [] { " 1 " , " 公司信息 " , " 地址信息 " , " 城市信息 " },
NEW STRING []{ " 1 " , " 公司信息 " , " 地址信息 " , " 城市信息 " }
}
}, JSONREQUESTBEHAVIOR.ALLOWGET);
}
&NBSP;&NBSP;&NBSP; 四、程序截图
生成HTML代码如下
![CONTRACTEDBLOCK.GIF](https://i-blog.csdnimg.cn/blog_migrate/cef87b3149df141bf4f4b417019404ea.gif)
![EXPANDEDBLOCKSTART.GIF](https://i-blog.csdnimg.cn/blog_migrate/f351fc87f08b7e58234482dc60156d99.gif)
< THEAD >
< TR >
< TH STYLE ="WIDTH: 239PX;" CLASS ="SORTING_DISABLED" >
标识
</ TH >
< TH STYLE ="WIDTH: 366PX;" CLASS ="SORTING" >
公司名称
</ TH >
< TH STYLE ="WIDTH: 239PX;" CLASS ="SORTING" >
地址
</ TH >
< TH STYLE ="WIDTH: 239PX;" CLASS ="SORTING" >
城市
</ TH >
</ TR >
</ THEAD >
< TBODY >< TR CLASS ="ODD" >< TD CLASS =" SORTING_1" >< A HREF ="DETAILS/1" > VIEW </ A ></ TD >< TD > 公司信息 </ TD >< TD > 地址信息 </ TD >< TD > 城市信息 </ TD ></ TR >< TR CLASS ="EVEN" >< TD CLASS =" SORTING_1" >< A HREF ="DETAILS/1" > VIEW </ A ></ TD >< TD > 公司信息 </ TD >< TD > 地址信息 </ TD >< TD > 城市信息 </ TD ></ TR >< TR CLASS ="ODD" >< TD CLASS =" SORTING_1" >< A HREF ="DETAILS/1" > VIEW </ A ></ TD >< TD > 公司信息 </ TD >< TD > 地址信息 </ TD >< TD > 城市信息 </ TD ></ TR >< TR CLASS ="EVEN" >< TD CLASS =" SORTING_1" >< A HREF ="DETAILS/1" > VIEW </ A ></ TD >< TD > 公司信息 </ TD >< TD > 地址信息 </ TD >< TD > 城市信息 </ TD ></ TR >< TR CLASS ="ODD" >< TD CLASS =" SORTING_1" >< A HREF ="DETAILS/1" > VIEW </ A ></ TD >< TD > 公司信息 </ TD >< TD > 地址信息 </ TD >< TD > 城市信息 </ TD ></ TR >< TR CLASS ="EVEN" >< TD CLASS =" SORTING_1" >< A HREF ="DETAILS/1" > VIEW </ A ></ TD >< TD > 公司信息 </ TD >< TD > 地址信息 </ TD >< TD > 城市信息 </ TD ></ TR >< TR CLASS ="ODD" >< TD CLASS =" SORTING_1" >< A HREF ="DETAILS/1" > VIEW </ A ></ TD >< TD > 公司信息 </ TD >< TD > 地址信息 </ TD >< TD > 城市信息 </ TD ></ TR >< TR CLASS ="EVEN" >< TD CLASS =" SORTING_1" >< A HREF ="DETAILS/1" > VIEW </ A ></ TD >< TD > 公司信息 </ TD >< TD > 地址信息 </ TD >< TD > 城市信息 </ TD ></ TR >< TR CLASS ="ODD" >< TD CLASS =" SORTING_1" >< A HREF ="DETAILS/1" > VIEW </ A ></ TD >< TD > 公司信息 </ TD >< TD > 地址信息 </ TD >< TD > 城市信息 </ TD ></ TR >< TR CLASS ="EVEN" >< TD CLASS =" SORTING_1" >< A HREF ="DETAILS/1" > VIEW </ A ></ TD >< TD > 公司信息 </ TD >< TD > 地址信息 </ TD >< TD > 城市信息 </ TD ></ TR ></ TBODY ></ TABLE >