1
有没有办法抓取URL参数并将其作为过滤器查询推送到datatables
?Datatables URL参数过滤
即。 datatable.cfm/?sSearch_6=overdue
这将有望搜索栏6为“过期”
有没有办法抓取URL参数并将其作为过滤器查询推送到datatables
?Datatables URL参数过滤
即。 datatable.cfm/?sSearch_6=overdue
这将有望搜索栏6为“过期”
假设你正在使用类似这样datatables示例代码匹配。
你可以尝试这样的事:
<!---
Filter Column 6
--->
<cfparam name="url.sSearch_6" default="" type="string" />
<!--- Data set after filtering --->
<cfquery datasource="#coldfusionDatasource#" name="qFiltered">
SELECT SQL_CALC_FOUND_ROWS #listColumns#
FROM #sTableName#
<cfif len(trim(url.sSearch))>
WHERE <cfloop list="#listColumns#" index="thisColumn"><cfif thisColumn neq listFirst(listColumns)> OR </cfif>#thisColumn# LIKE <cfif thisColumn is "version"><!--- special case ---><cfqueryparam cfsqltype="CF_SQL_FLOAT" value="#val(url.sSearch)#" /><cfelse><cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="%#trim(url.sSearch)#%" /></cfif></cfloop>
<cfif len(trim(url.sSearch_6))>
AND #ListGetAt(listColumns,6)# = <cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#url.sSearch_6#" />
</cfif>
</cfif>
<!--- Filter Column 6 --->
<cfif url.iSortingCols gt 0>
ORDER BY <cfloop from="0" to="#url.iSortingCols-1#" index="thisS"><cfif thisS is not 0>, </cfif>#listGetAt(listColumns,(url["iSortCol_"&thisS]+1))# <cfif listFindNoCase("asc,desc",url["sSortDir_"&thisS]) gt 0>#url["sSortDir_"&thisS]#</cfif> </cfloop>
</cfif>
</cfquery>
弥, 感谢。我能够成功地将搜索推送到处理程序,但是我想使用参数指向数据表页面,并让页面解析参数并将其转发给处理程序。 Allen在datatables上建议使用'aoSearchCols'。我现在正在研究它。 – Brian 2012-01-10 17:39:38