【问题标题】:Datatables URL parameter filtering数据表 URL 参数过滤
【发布时间】:2012-01-06 22:07:15
【问题描述】:

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

即。 datatable.cfm/?sSearch_6=overdue

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

【问题讨论】:

    标签: jquery coldfusion datatables


    【解决方案1】:

    假设您正在使用类似于 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>
    

    【讨论】:

    • 弥迦,谢谢。我能够成功地将搜索推送到处理程序,但我想使用参数定向到数据表页面,并让页面解析参数并将其转发给处理程序。数据表上的艾伦建议aoSearchCols。我现在正在调查。
    猜你喜欢
    • 2015-10-25
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 2021-07-02
    • 1970-01-01
    • 2017-11-16
    • 2014-10-01
    • 1970-01-01
    相关资源
    最近更新 更多