分享在MVC3.0中使用jQuery DataTable 插件

本文介绍如何在MVC3.0项目中应用Datatables插件,该插件是一个轻量级的JQuery表格插件,简化了样式调整工作并提高了脚本的可维护性。
前不久在网络上看见一个很不错的JQUERY的DATATABLE表格插件。后来发现在MVC中使用该插件的文章并不多。本文将介绍在MVC3.0如何使用该插件。在介绍该插件之前先简单介绍一下,推荐该插件的原因。在项目中我使用JQGRID比较多。但是发现当进行样式调整时JQGRID的样式常常会让美工头疼。而DATATABLE插件却是一个轻量级的JQUERY插件。当我通过浏览器查看该JS插件RANDER后的源码。发现只是一个简单的HTML TABLE,非常简洁。那么在没有特殊要求的情况下使用这个插件,开发人员JS脚本的可维护性将得到简化,美工的样式调整也会变得更轻松!下面介绍如何在MVC3.0中使用DATATABLE JQUERY插件。
一、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代码

<TABLE ID="MYDATATABLE" CLASS="DISPLAY"> <THEAD> <TR> <TH> 标识 </TH> <TH> 公司名称 </TH> <TH> 地址 </TH> <TH> 城市 </TH> </TR> </THEAD> <TBODY> </TBODY></TABLE><INPUT TYPE="BUTTON" ID="BTNTEST" VALUE="根据条件重新响应后台AJAX" />
JS代码
<SCRIPT TYPE="TEXT/JAVASCRIPT"> 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>

三、 MVC 服务端AJAX相关代码


DATATABLE AJAX响应参数类
PUBLIC CLASS DATATABLEPARAMETER { /// <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参数实体化
PUBLIC JSONRESULT AJAXHANDLER(DATATABLEPARAMETER PARAM) { 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); }
四、程序截图



生成HTML代码如下
生成 HTML 代码
<TABLE ID="MYDATATABLE" CLASS="DISPLAY"> <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>
【无人机】基于改进粒子群算法的无人机路径规划研究[和遗传算法、粒子群算法进行比较](Matlab代码实现)内容概要:本文围绕基于改进粒子群算法的无人机路径规划展开研究,重点探讨了在复杂环境中利用改进粒子群算法(PSO)实现无人机三维路径规划的方法,并将其与遗传算法(GA)、标准粒子群算法等传统优化算法进行对比分析。研究内容涵盖路径规划的多目标优化、避障策略、航路点约束以及算法收敛性和寻优能力的评估,所有实验均通过Matlab代码实现,提供了完整的仿真验证流程。文章还提到了多种智能优化算法在无人机路径规划中的应用比较,突出了改进PSO在收敛速度和全局寻优方面的优势。; 适合人群:具备一定Matlab编程基础和优化算法知识的研究生、科研人员及从事无人机路径规划、智能优化算法研究的相关技术人员。; 使用场景及目标:①用于无人机在复杂地形或动态环境下的三维路径规划仿真研究;②比较不同智能优化算法(如PSO、GA、蚁群算法、RRT等)在路径规划中的性能差异;③为多目标优化问题提供算法选型和改进思路。; 阅读建议:建议读者结合文中提供的Matlab代码进行实践操作,重点关注算法的参数设置、适应度函数设计及路径约束处理方式,同时可参考文中提到的多种算法对比思路,拓展到其他智能优化算法的研究与改进中。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值