Acabei conseguindo fazer com o PloneFormGen + DataGridField, com um Script
Python que chama um ZSQL Method e processa o resultado colocando num
dicionário que é passado para o formulário pelo campo "*Form Setup Script*".

Como disse antes, pretendo fazer um tutorial quando terminar esse projeto e
acho que fica melhor e mais fácil de entender o código no contexto, mas se
alguém quiser o código Python específico posso enviar.

O que falta resolver agora é que, como o DataGridField não aceita colunas
ocultas para colocar os ID's usados no banco de dados, tenho que fazer um
script Python que "adivinhe" que colunas foram apagadas, inseridas ou
atualizadas na interface e executar esses comandos via ZSQL Methods.
(tudo isso porque não quero uma interface que mostre ID's que os usuários
não entender, e provavelmente criar problemas)

Realmente é bem complicado trabalhar com banco de dados relacional no Plone
'^_^
Mas pelo menos estou aprendendo a usar Python ;D

Esperem um tutorial em breve!


--
Paul Eipper


Em 07/02/07, Fernando Correa Neto <[EMAIL PROTECTED]> escreveu:

  Opa Paul,

Não sei se é bem isso que você quer, mas talvez voce possa usar um
vocabulary para trazer os dados do banco para você.
Ex.

schema = BaseSchema + Schema((
DataGridField('DemoField',
searchable = True,
columns=("column1", "column2", "select_sample"),
widget = DataGridWidget(
columns={
'column1' : Column("Toholampi city rox"),
'column2' : Column("My friendly name"),
'select_sample' :
SelectColumn("Friendly name", vocabulary="getSampleVocabulary")
},
),
),

))

Onde getSampleVocabulary eh um método que retorna os valores do DB.
Agora, se o que você quer é uma "Janela" do DB onde você possa editar
os campos, existe um Produto que está em andamento e se chama
Alchemist...que é baseado no SQLAlchemy do zope3.

HTH


On 2/7/07, Paul Eipper <[EMAIL PROTECTED] <lkraider%40gmail.com>> wrote:
>
>
>
>
>
>
> Olá!
>
> Estou fazendo uma interface de formulários no Plone para adicionar,
> pesquisar e editar dados de um banco de dados mySQL (um sistema de
> cadastro, basicamente).
>
> A parte de adicionar e pesquisar está pronta e funcionando, mas ainda
> estou tendo problemas para criar um formulário para atualizar/editar
> os dados.
>
> Como estou usando o PloneFormGen com o DataGridField, queria usá-los
> também nessa página de edição para manter consistência, mas não estou
> conseguindo com que os dados no DataGridField sejam carregados do
> banco de dados.
>
> Alguém tem experiência com esses produtos? Como carregar os dados do
> DB para poder editar em um formulário com DataGridFields?
>
> Agradeço a atenção.
>
> PS: depois de concluir esse projeto, pretendo escrever um pequeno
> tutorial de como trabalhar com Zope(ZSQL+Python)+Plone(PFG+DGF)+Banco
> de dados relacional.
>
> --
> Paul Eipper
>

Responder a