bonjour,
Voila, je cherche la solution mais je ne la trouve pas ni ici ni sur google... enfin bon je vais essayer d'etre clair afin de vous faire comprendre mon probleme...
j'ai 2 tables : rubriques et sous-rubriques
1// rubrique :
id (numauto) cle uniq
rubrique (libelle)
2// sous-rubrique :
id (numauto) cle uniq
id_rub (relation table rubrique)
sousrubrique (libelle)
ce que j'aimerais, c'est lorsque je fais appel a la page GestionCatalogueSousRubrique.cfm, celle ci m'affiche un select (rubrique via un select)
et un cfgrid (sous-rubrique)... jusque la ca va...
mais j'aimerais utiliser le selectmode="edit" afin de gerer en ajout/mod et suppression dans la cfgrid sous-rubrique. en gros si je selectionne une rubrique via le select, la grid m'affiche les sous-rubriques de la rubrique et si je clique sur ajouter j'aimerais que la fonction m'importe directement l'id rubrique dans mon cfgridcolumn champ rubrique (display=no) l'id de la rubrique afin de ne faire saisir que la sous-rubrique...
enfin je sais pas si j'ai ete clair mais peut etre qu'en vous joingnant le code vous allez comprendre un peu mieux :
***************** page _ListeCATsousrubrique.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="GestionCatalogueSousRubrique.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 du catalogue">
<cfformgroup style="#contentPanelStyle#" type="horizontal">
<cfselect name="ChoixRub" label="Rubrique" width="170" query="TheRubs" display="rubrique" value="rubrique" onchange="applyFilter(ChoixRub.selectedItem.data,data,['rubrique'])" queryposition="below">
<option value="">Toutes les rubriques</option>
</cfselect>
</cfformgroup>
<cfgrid style="#contentPanelStyle2#" selectmode="edit" name="data" query="ThesousRubs" height="200"
rowheaders="no" autoWidth = "yes">
<cfgridcolumn display="no" name="id" header="id">
<cfgridcolumn display="no" 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);">
<cfinput type="button" name="del" value="Supprimer"
onClick="GridData.deleteRow(data);">
<cfinput type="Submit" name="submit" value="Enregistrer">
</cfformgroup>
</cfformgroup>
<CFINPUT TYPE="hidden" NAME="UpdateTabCATrubriques" VALUE="1">
<CFINPUT TYPE="hidden" NAME="user" VALUE="#user#">
<cfif isdefined("pwdf")>
<CFINPUT TYPE="hidden" NAME="pwdf" VALUE="#pwdf#">
<cfelse>
<CFINPUT TYPE="hidden" NAME="pwdf" VALUE="#pwd#">
</cfif>
</cfform>
****************** page GestionCatalogueSousRubrique.cfm
<cfif isdefined("UpdateTabCATsousrubriques")>
<cfgridupdate grid="ListSousRub" datasource="#BaseSQL#" tablename="CATsousrubriques" keyonly="yes">
</cfif>
<cfinclude template="_ListeCATsousrubrique.cfm">
******************************************************
peut etre connaissez vous la solution ???
en vous remerciant
|