数据表URL参数筛选

时间:2012-01-06 22:07:16

标签: jquery coldfusion datatables

有没有办法获取网址参数并将其作为过滤查询推送到datatables

即。 datatable.cfm/?sSearch_6=overdue

这有望在第6列搜索“过期”的匹配

1 个答案:

答案 0 :(得分:0)

假设您使用的代码类似于此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>