I am using bootStrap table in conjunction with COldFusion and its all working fine. Now I Need to add a custom toolbar menu item witch will work as a filter.
I can not get this part to work it does not update the tbale onChnage
<div id="toolbar" class="btn-group">
<select name="category" id="categoty" class="form-control">
<option value=""> -- Select Category --</option>
<cfoutput query="qGetWikiCategory">
<option value="#categoryid#">#trim(categoryname)#</option>
</cfoutput>
</select>
</div>
<div class="col-sm-12 col-md-12 col-lg-12">
<table id="users" data-height="400" data-side-pagination="server" data-pagination="true" data-search="true" clickToSelect="true" singleSelect="true" data-single-select="true"
data-toolbar="#toolbar"
data-show-refresh="true"
data-show-toggle="true"
<!---data-query-params="queryParams"--->
<!---data-response-handler="responseHandler"--->
data-url="/includes/wiki.cfc?method=getWiki"
data-show-columns="true"
data-toolbar-align="left"
>
</table>
</div>
Select all Open in new window
$('#users').bootstrapTable({
method: 'get',
url: '/includes/wiki.cfc?method=getWiki',
cache: false,
height: 400,
striped: true,
pagination: true,
pageSize: 10,
pageList: [10, 25, 50, 100, 200],
search: true,
showColumns: false,
showRefresh: true,
singleSelect:true,
smartDisplay :true,
minimumCountColumns: 2,
clickToSelect: true,
columns: [
{field: 'COUNT',title: 'WIKI #',align: 'right',valign: 'bottom',sortable: false},
{field: 'wikiid',title: 'Wiki ID',visible:false},
{field: 'name',title: 'Wiki Title',align: 'left',valign: 'middle',sortable: true},
{field: 'docUploaded',title: 'File Uploaded',align: 'left',valign: 'middle',sortable: true},
{field: 'status',title: 'Status',align: 'left',valign: 'top',sortable: true},
{field: 'operate',title: 'Actions',align: 'center',valign: 'middle',clickToSelect: false,formatter: operateFormatter,events: operateEvents}]
});
});
function operateFormatter(value, row, index) {
return [
'<a class="edit ml10" href="javascript:void(0)" title="Edit">',
'<i class="glyphicon glyphicon-edit"></i>',
'</a> ',
'<a class="remove ml10" href="javascript:void(0)" title="Remove">',
'<i class="glyphicon glyphicon-remove"></i>',
'</a>'
].join('');
}
window.operateEvents = {
'click .edit': function (e, value, row, index) {
window.location.href = "addQuestion.cfm?ID=" + +row.wikiid;
},
'click .remove': function (e, value, row, index) {
var conf = "Are you sure you want to delete this wiki?";
if (conf){
$.getJSON('/includes/wiki.cfc?method=deleteQuestion&returnformat=json&queryformat=column&_cf_nodebug=true&_cf_nocache=true&ID='+row.wikiid,
function(d)
{
$('#Error').text(d.MESSAGE);
$('#users').bootstrapTable('refresh');
});
}
}
};
$("#categoty").change(function(){
//alert('Hello');
//alert($(this).val());
if ($(this).val() > 0){
$.getJSON('/includes/wiki.cfc?method=getWiki&returnformat=json&queryformat=column&_cf_nodebug=true&_cf_nocache=true&categoryid=' + $(this).val(),
function(d)
{
//$('#Error').text(d.MESSAGE);
$('#users').bootstrapTable('refresh');
});
}
})
Select all Open in new window
ColdFusion CFC
<cffunction name="getWiki" access="remote" returnformat="plain" returntype="any">
<cfargument name="offset" default="0" type="numeric">
<cfargument name="limit" default="10" type="numeric">
<cfargument name="order" default="asc" type="string">
<cfargument name="sort" default="wikiid" type="string">
<cfargument name="search" default="" type="string" />
<cfargument name="categoryid" default="" type="string" />
<cfquery name="getWiki" datasource="#request.datasource#">
WITH Rows AS
(
SELECT W.wikiid,W.name,W.wikiText,CASE WHEN W.status = 1 THEN 'Active' ELSE 'Inactive' END as status,W.docUploaded,
ROW_NUMBER() OVER (ORDER BY #sort# #order#) [Row]
FROM wiki W
inner join wikiCategory WC on WC.categoryID = W.wiki_categoryID
WHERE 1=1
<cfif Search NEQ "">
and
W.wikiid like '%#arguments.Search#%' OR W.name like '%#arguments.Search#%' OR W.wikiText like '%#arguments.Search#%'
</cfif>
<cfif arguments.categoryid neq "">
and WC.categoryID = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.categoryid#">
</cfif>
)
SELECT
*
FROM
Rows
WHERE Row >= #offset+1# and Row <= #offset+limit#
</cfquery>
<cfquery name="qCount" datasource="#request.datasource#">
SELECT COUNT(*) as total
FROM wiki W
inner join wikiCategory WC on WC.categoryID = W.wiki_categoryID
WHERE 1=1
<cfif Search NEQ "">
and
W.wikiid like '%#arguments.Search#%' OR name like '%#arguments.Search#%' OR wikiText like '%#arguments.Search#%'
</cfif>
<cfif arguments.categoryid neq "">
and WC.categoryID = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.categoryid#">
</cfif>
</cfquery>
<cfset resultStruct = Structnew() />
<cfset resultStuct["total"] = qCount.total />
<cfset resultStuct["rows"] = ArrayNew(1) />
<cfset count = 1/>
<cfloop query="getWiki" >
<cfset resultStuct["rows"][count]['COUNT'] = Count />
<cfset resultStuct["rows"][count]['wikiid'] = getWiki.wikiid />
<cfset resultStuct["rows"][count]['name'] = getWiki.name />
<cfset resultStuct["rows"][count]['wikiText'] = getWiki.wikiText />
<cfset resultStuct["rows"][count]['status'] = getWiki.status />
<cfset resultStuct["rows"][count]['docUploaded'] = getWiki.docUploaded />
<cfset Count = Count + 1/>
</cfloop>
<cfreturn SerializeJSON(resultStuct) />
</cffunction>
Select all Open in new window