Bonjour,
j'aimerais pourvoir gerer via un dbgrid une table sous-rubrique
dans cette dbgrid, je selectionne la rubrique via un cfselect (table
rubrique) qui m'affiche les sous-rubriques
voir :
http://82.226.238.36/Page1.cfm
le systeme fonctionne bien, c'est a dire que quand je choisi une
rubrique via cfselect, il m'affiche bien les donnees de ma table sous-
rubriques.
ma question est : est-il possible de faire ce que j'ai envie de
faire ????
ci joint les sources de page1.cfm et page2.cfm
si quelqun a une idee, elle est le bienvenue ! en vous remerciant
d'avance
Abmail
****************************************************** PAGE1.CFM
<cfset baseSQL = "MADATABASE">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>page1</title>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>
<font>
<cfif isdefined("UpdateTabCATsousrubriques")>
<cfgridupdate grid="data" datasource="#BaseSQL#"
tablename="CATsousrubriques" keyonly="yes">
</cfif>
<cfinclude template="page2.cfm">
</body>
</html>
****************************************************** PAGE2.CFM
<cfsilent>
<cfinclude template="_stylesForms.cfm">
<CFQUERY NAME="TheRubs" DATASOURCE="#BaseSQL#">
select * from CATrubriques
</CFQUERY>
<CFQUERY NAME="ThesousRubs" DATASOURCE="#BaseSQL#">
select * from CATsousrubriques
</CFQUERY>
</cfsilent>
<cfform action="Page1.cfm" name="myForm" format="flash" width="500"
height="350">
<cfformitem type="script">
function applyFilter( term:String, grid:mx.controls.DataGrid,
columns:Array ):Void {
var filterTerm:String = term.toString().toLowerCase();
if(filterTerm.length > 0) {
if(_global.unfilteredData[
grid.id] == undefined){
if (_global.unfilteredData == undefined){
_global.unfilteredData = {};
}
_global.unfilteredData[
grid.id] = grid.dataProvider.slice(0);
}
var filteredData:Array = [];
for(var i = 0; i< _global.unfilteredData[
grid.id].length; i++) {
var item:Object = _global.unfilteredData[
grid.id][i];
var added:Boolean = false;
for(var j = 0; j< columns.length; j++){
if(!added){
var value:String = item[columns[j]].toString().toLowerCase();
if(value.indexOf(filterTerm) != -1) {
filteredData.push(item);
added = true;
}
}
else {
break;
}
}
}
grid.dataProvider = filteredData;
}
else {
if(_global.unfilteredData[
grid.id] != undefined) grid.dataProvider
= _global.unfilteredData[
grid.id];
}
}
</cfformitem>
<cfformgroup type="panel" style="#contentPanelStyle#" label="Liste
des sous-rubriques">
<cfformgroup style="#contentPanelStyle#" type="horizontal">
<cfselect name="ChoixRub" label="Rubrique" width="170"
query="TheRubs" display="rubrique" value="id"
onchange="applyFilter(ChoixRub.selectedItem.data,data,['rubrique'])"
queryposition="below">
<option value="0">Toutes les rubriques</option>
</cfselect>
</cfformgroup>
<cfgrid style="#contentPanelStyle2#" selectmode="edit" name="data"
query="ThesousRubs" height="200"
rowheaders="no" autoWidth = "yes" >
<cfgridcolumn name="id" header="id" select="no">
<cfgridcolumn name="rubrique" header="rubrique" >
<cfgridcolumn name="sousrubrique" header="Sous-rubrique">
</cfgrid>
<cfformgroup type="horizontal" style="horizontalAlign:right;">
<cfinput type="button" name="ins" value="Ajouter"
onClick="{GridData.insertRow(data);data.dataProvider.editField(data.selectedIndex,'rubrique',
ChoixRub.selectedIndex);}">
<cfinput type="button" name="del" value="Supprimer"
onClick="GridData.deleteRow(data);">
<cfinput type="Submit" name="submit" value="Enregistrer">
</cfformgroup>
</cfformgroup>
<CFINPUT TYPE="hidden" NAME="UpdateTabCATsousrubriques" VALUE="1">
</cfform>
****************************************** end
merci de vos reponses