I have seen several posts where a user can filter a grid based on a select box.
All the examples seem to be using arrays.
I am trying to filter a grid based on a table selection.
Select a company and then show all records that have that company.
Below is both cfm for array and what I am trying to do with a table.
Any Ideas
Thanks
Charlie crimmel
Code for array
Below is the code that I am trying to use for a table
All the examples seem to be using arrays.
I am trying to filter a grid based on a table selection.
Select a company and then show all records that have that company.
Below is both cfm for array and what I am trying to do with a table.
Any Ideas
Thanks
Charlie crimmel
Code for array
Code:
<cfparam name="myselect2" default="" >
<cfparam name="CompanyName" default="ALL" >
<cfscript>
rs = queryNew("id,fname,lname,dept,email");
addRow(rs, 'simeon','bateman','IT','simeon@simb.net');
addRow(rs, 'Mr','Man','HR','theMan@mr.com');
addRow(rs, 'Cool','Guy','HR','coolGuy@hr.com');
addRow(rs, 'Another','test','Customer Service','another@test.com');
function addRow( qry, fname, lname, dept, email)
{
queryAddRow(rs);
querySetCell(rs,'fname',fname);
querySetCell(rs,'lname',lname);
querySetCell(rs,'dept',dept);
querySetCell(rs,'email',email);
}
</cfscript>
<cfquery dbtype="query" name="getDepts">
SELECT distinct dept
FROM rs
ORDER BY dept
</cfquery>
<cfquery dbtype="query" name="MemberList">
SELECT * from rs
ORDER BY dept
</cfquery>
<cfsavecontent variable="astest">
if(_global.arrMembers == undefined) _global.arrMembers = data.dataProvider.slice(0);
var arrMembers = _global.arrMembers;
var arrDisplay:Array = [];
for(var i = 0; i < arrMembers.length; i++)
{if(arrMembers[i].dept == myselect1.value || myselect1.value == 'All')
{arrDisplay.push(arrMembers[i]);}}
data.dataProvider = arrDisplay;
</cfsavecontent>
<cfform name="myForm" format="flash" width="900" height="600" preloader="no">
<cfformgroup type="horizontal">
<cfformgroup type="panel" label="Search our Members">
<cfselect query="getDepts" queryposition="below" label="Parent category" name="myselect1" value="dept" display="dept" width="200" onChange="#astest#">
<option value="All">All</option>
</cfselect>
<cfgrid name="data" query="MemberList" >
<cfgridcolumn header="First Name" name="fname" width="75" />
<cfgridcolumn header="Last Name" name="lname" width="75" />
<cfgridcolumn header="email" name="email" width="100" />
<cfgridcolumn header="Department" name="dept" display="false" />
</cfgrid>
</cfformgroup>
Below is the code that I am trying to use for a table
Code:
<cfparam name="myselect2" default="" >
<cfparam name="CompanyName" default="ALL" >
<CFQUERY name="get_corporate" datasource="contacts">
SELECT ContactID, CompanyName, FirstName, LastName, Address, City, StateorProvince,
Postalcode, PhoneNumber, PhoneExtension, MobilePhone, FaxNumber, EmailAddress,
InternetSite, Notes, BillComp, Billadd1, Billadd2, Billcity, Billstate, Billzip
FROM Corporate_Contacts
ORDER BY CompanyName ASC
</CFQUERY>
<cfquery name="getComp" datasource="contacts">
SELECT distinct CompanyName
FROM Corporate_Contacts
ORDER BY CompanyName
</cfquery>
<<cfsavecontent variable="ascomp">
<cfif "#myselect2#" IS "ALL">
<cfquery name="find_All" datasource="contacts">
SELECT CompanyName, FirstName, LastName, Address, City, StateorProvince
FROM Corporate_Contacts
ORDER BY CompanyName
</cfquery></cfif>
<cfif "#myselect2#" NEQ "ALL">
<cfquery name="find_Comp" datasource="contacts">
SELECT CompanyName, FirstName, LastName, Address, City, StateorProvince
FROM Corporate_Contacts
ORDER BY CompanyName
</cfquery></cfif>
</cfsavecontent>
<cfformgroup type="panel" label="Search Corporate Contacts" >
<cfselect query="getComp" queryposition="below" label="Parent category" name="myselect2" value="CompanyName" display="CompanyName" width="200" onChange="#ascomp#">
<option value="All">All</option>
</cfselect>
<cfgrid name="grid" query="get_corporate" selectmode="single" >
<cfgridcolumn name="FirstName" header="FirstName" width="75" />
<cfgridcolumn name="LastName" header="LastName" width="75" />
<cfgridcolumn name="Address" header="Address" width="150" />
<cfgridcolumn name="City" header="City" width="75" />
<cfgridcolumn header="CompanyName" name="CompanyName" display="false" />
</cfgrid>
</cfformgroup></cfformgroup>
</cfform>