Probleme d'enregistrement cfform cfgrid cfselect

2 views
Skip to first unread message

abmail

unread,
Apr 8, 2008, 9:27:46 AM4/8/08
to coldfusion-french
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


Reply all
Reply to author
Forward
0 new messages