ZEXP)åä((U OFS.FolderqUFolderqtqNt.}q(UidqU formelementsqU__ac_local_roles__q}qUsaq ]q UOwnerq asU_ownerq (]q U acl_usersqaUAdminqtU_objectsq(}q(U meta_typeqU DTML DocumentqhU index_htmlqu}q(U meta_typeqU DTML MethodqUidqU dtmlCreateDDBqu}q(hhhUdtmlDDBEquipmentqu}q(hU Z SQL MethodqhU sqlCreateDDBqu}q(U meta_typeq UZ Gadfly Database Connectionq!Uidq"UDAGadflyq#u}q$(U meta_typeq%U Z SQL Methodq&Uidq'UsqlSetupGadflyq(u}q)(U meta_typeq*U Z SQL Methodq+Uidq,UsqlSetupGadfly2q-u}q.(U meta_typeq/U DTML Methodq0Uidq1UdtmlCreateCheckboxq2u}q3(U meta_typeq4U Z SQL Methodq5Uidq6UsqlCreateCheckboxq7u}q8(U meta_typeq9U Z SQL Methodq:Uidq;UsqlResetGadflyqh;U dtmlResultsq?uth2(U)çq@(UOFS.DTMLMethodqAU DTMLMethodqBttQh((U)èqC(UProducts.ZSQLMethods.SQLqDUSQLqEttQh-(U)éqF(hDUSQLqGttQh?(U)êqH(hAU DTMLMethodqIttQh(U)ëqJ(UOFS.DTMLDocumentqKU DTMLDocumentqLttQh<(U)ìqM(hDUSQLqNttQUdtmlDDBEquipmentqO(U)íqP(hAU DTMLMethodqQttQh#(U)îqR(UProducts.ZGadflyDA.DAqSU ConnectionqTttQUsqlCreateCheckboxqU(U)æqV(hDUSQLqWttQUtitleqXUU dtmlCreateDDBqY(U)ïqZ(hAU DTMLMethodq[ttQU sqlCreateDDBq\(U)ðq](hDUSQLq^ttQu.)çÅ((UOFS.DTMLMethodqU DTMLMethodqtqNt.}q(U__ac_local_roles__q}qUsaq]qUOwnerq asU__name__q UdtmlCreateCheckboxq Utitleq UCreate Check Boxesq Uglobalsq}qUrawqT -------------------------------------------------------------- Anyone care to document this a little bit? See dtmlCreateDDB Arguments: list_name : The name of the drop down box extra_item : Extra item to add to list if any extra_value : Value of the extra item qry_name : [optional] Name of the ZSQL method to use qry_item : Item to query for qry_table : Table to query qry_criteria : [Optional] The Where clause for the query qry_type : [Optional] 'specific' or 'general' 'specific' -> SELECT DISTINCT column_name FROM ... 'general' -> SELECT * FROM ... -------------------------------------------------------------- -------------------------------------------------------------- SQL Methods expect arguments to be passed in the REQUEST mapping. -------------------------------------------------------------- ">
qU_varsq}qu.)èÈ((UProducts.ZSQLMethods.SQLqUSQLqtqNt.}q(UidqUsqlSetupGadflyqU__ac_local_roles__q}qUsaq ]q UOwnerq asU_argq (cShared.DC.ZRDB.Aqueduct Args q o}q(U_keysq]qU_dataq}qubU connection_idqUDAGadflyqU_colq)UtemplateqcShared.DC.ZRDB.DA SQL qNRq}q(U__name__qUqUglobalsq}qUrawqU7CREATE TABLE DEMOTABLE ( REGION VARCHAR, SALES integer)qU_varsq }q!ubUtitleq"USQL Query to set up demoq#U arguments_srcq$UUsrcq%hu.)ép((UProducts.ZSQLMethods.SQLqUSQLqtqNt.}q(UidqUsqlSetupGadfly2qU__ac_local_roles__q}qUsaq ]q UOwnerq asU_argq (cShared.DC.ZRDB.Aqueduct Args q o}q(U_keysq]qU_dataq}qubU connection_idqUDAGadflyqU_colq)UtemplateqcShared.DC.ZRDB.DA SQL qNRq}q(U__name__qUqUglobalsq}qUrawqUøINSERT INTO DEMOTABLE (REGION, SALES) VALUES ('NORTH', '150'); INSERT INTO DEMOTABLE (REGION, SALES) VALUES ('SOUTH', '220'); INSERT INTO DEMOTABLE (REGION, SALES) VALUES ('WEST', '186'); INSERT INTO DEMOTABLE (REGION, SALES) VALUES ('EAST', '250')qU_varsq }q!ubUtitleq"UU arguments_srcq#UUsrcq$hu.)ê)((UOFS.DTMLMethodqU DTMLMethodqtqNt.}q(U__ac_local_roles__q}qUsaq]qUOwnerq asU__name__q U dtmlResultsq Utitleq UResults of submitting formq Uglobalsq}qUrawqTd


Here are what you have chosen:

Drop down boxes

Check boxes

No check boxes were selected

qU_varsq}qu.)ë à((UOFS.DTMLDocumentqU DTMLDocumentqtqNt.}q(UtitleqUDemo of SQL Form ElementsqUrawqTF --------------------------------------------------- Note: If you have trouble connecting with the Gadfly db, you should make sure the directory var/gadfly/demo exists. ---------------------------------------------------

SQL Form elements are a bunch of dtml queries designed to return form elements such as drop down boxes or check boxes from sql sources.

There are still some features not implemented, such as additional list items, default values. If anyone else has time, please contribute generously.

Some further ideas: make this simpler to use by following MSAccess rowsource convention ???

These functions are based on an idea of Jason Wong's.

Have fun and post bug fixes to: teyc@bigfoot.com Chui Tey

Sample drop down box

The dtml expression:

   <dtml-var "dtmlCreateDDB(_.None, _, qry_item='REGION',qry_table='DEMOTABLE')">
   

An alternative notation in dtml

The dtml expression:

   <--
   The dtml-let tag declares a local variables that exist
   within the lifetime of the tag. Zope makes all variables 
   (local and global) available to the dtmlCreateDDB subroutine
   implicitly.
   -->
   <dtml-let qry_item="'REGION'"
             qry_table="'DEMOTABLE'"
             list_name="'demo_ddb'" >
       <dtml-var dtmlCreateDDB>
   </dtml-let>
   

Sample check boxes

The dtml expression:

   <dtml-var "dtmlCreateCheckbox(_.None, _, qry_item='REGION',qry_table='DEMOTABLE')">
   

qUglobalsq }q U__name__q U index_htmlq U_varsq }qu.)ì‹((UProducts.ZSQLMethods.SQLqUSQLqtqNt.}q(UidqUsqlResetGadflyqU__ac_local_roles__q}qUsaq ]q UOwnerq asU connection_idq UDAGadflyq UsrcqUDROP TABLE DEMOTABLEqU_colq)UtemplateqcShared.DC.ZRDB.DA SQL qNRq}q(U__name__qUqUglobalsq}qUrawqhU_varsq}qubUtitleqUU arguments_srcqUU_argq(cShared.DC.ZRDB.Aqueduct Args qo}q (U_keysq!]q"U_dataq#}q$ubu.)í@((UOFS.DTMLMethodqU DTMLMethodqtqNt.}q(U__ac_local_roles__q}qUsaq]qUOwnerq asU__name__q UdtmlDDBEquipmentq Utitleq UEquipment Drop Down Boxq Uglobalsq}qUrawqU|qU_varsq}qu.)î½((UProducts.ZGadflyDA.DAqU ConnectionqtqNt.}q(UtitleqUZope Gadfly Database ConnectionqUidqUDAGadflyqU__ac_local_roles__q }q Usaq ]q UOwnerq asUconnection_stringqUdemoqu.)æº((UProducts.ZSQLMethods.SQLqUSQLqtqNt.}q(UidqUsqlCreateCheckboxqU__ac_local_roles__q}qUsaq ]q UOwnerq asU_argq (cShared.DC.ZRDB.Aqueduct Args q o}q(U_keysq]q(U qry_tableqUqry_itemqU qry_criteriaqUqry_typeqeU_dataq}q(h}q(UdefaultqU1=1qUtypeqUstringquh}qhUstringqsh}qhUstringqsh}q (hUspecificq!hUstringq"uuubU connection_idq#UDAGadflyq$U_colq%]q&}q'(Unameq(UIDq)Utypeq*UiUparserq+cApp.Product atoi q,Uwidthq-K uaUtemplateq.cShared.DC.ZRDB.DA SQL q/NRq0}q1(U__name__q2Uq3Uglobalsq4}q5Urawq6UÙ SELECT DISTINCT &dtml-qry_item; FROM &dtml-qry_table; WHERE &dtml-qry_criteria; SELECT * FROM &dtml-qry_table; WHERE &dtml-qry_criteria; q7U_varsq8}q9ubUtitleq:UCreate Drop Down Boxesq;U arguments_srcqh7u.)ï¿((UOFS.DTMLMethodqU DTMLMethodqtqNt.}q(U__ac_local_roles__q}qUsaq]qUOwnerq asU__name__q U dtmlCreateDDBq Utitleq UCreate Drop Down Boxesq Uglobalsq}qUrawqTü ------------------------------------------------------------------ DTML method called Create_DDB which creates the drop-down box. It takes these arguments: list_name : The name of the drop down box extra_item : Extra item to add to list if any extra_value : Value of the extra item qry_name : [optional] Name of the ZSQL method to use qry_item : Item to query for qry_table : Table to query qry_criteria : [Optional] The Where clause for the query qry_type : [Optional] 'specific' or 'general' 'specific' -> SELECT DISTINCT column_name FROM ... 'general' -> SELECT * FROM ... Usage: ------------------------------------------------------------------ ------------------------------------------------------------------ If sql query name is not given, then defaults to sqlCreateDDB ------------------------------------------------------------------ ------------------------------------------------------------------ Passing arguments to a SQL Method can only occur via the REQUEST object ------------------------------------------------------------------ qU_varsq}qu.)ðµ((UProducts.ZSQLMethods.SQLqUSQLqtqNt.}q(UidqU sqlCreateDDBqU__ac_local_roles__q}qUsaq ]q UOwnerq asU connection_idq UDAGadflyq UsrcqUÙ SELECT DISTINCT &dtml-qry_item; FROM &dtml-qry_table; WHERE &dtml-qry_criteria; SELECT * FROM &dtml-qry_table; WHERE &dtml-qry_criteria; qU_colq]q}q(UnameqUIDqUtypeqUiUparserqcApp.Product atoi qUwidthqK uaUtemplateqcShared.DC.ZRDB.DA SQL qNRq}q(U__name__qUqUglobalsq}q Urawq!hU_varsq"}q#ubUtitleq$UCreate Drop Down Boxesq%U arguments_srcq&UZqry_table:string qry_item:string qry_criteria:string="1=1" qry_type:string="specific" q'U_argq((cShared.DC.ZRDB.Aqueduct Args q)o}q*(U_keysq+]q,(U qry_tableq-Uqry_itemq.U qry_criteriaq/Uqry_typeq0eU_dataq1}q2(h/}q3(Utypeq4Ustringq5Udefaultq6U1=1q7uh-}q8h4Ustringq9sh.}q:h4Ustringq;sh0}q<(h4Ustringq=h6Uspecificq>uuubu.ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ