Fórum Form com Grid/ClientData Set Genérico #300677
25/10/2005
0
bom, é o seguinte:
possuo um form, de (busca), que servirá para qualquer dataset no meu projeto.
nele, tem um grid, um clientdataset e demais componentes para ligar ao banco.
qdo crio o form:
defino as colunas do grid.
{Preparando o Grid Genérico}
GridGenerico.Columns.Clear;
for i := 0 to comboCampos.Items.Count - 1 do
begin
sCampo := PegaCampoCombo(comboCampos, i, True);
sAlias := PegaCampoCombo(comboCampos, i, False);
sTipo := PegaTipoCampoCombo(comboCampos, i);
iWidth := PegaWidthCampoCombo(comboCampos, i);
with GridGenerico do
begin
Columns.Add;
Columns[i].FieldName := sAlias; {Alias do Campo}
Columns[i].Width := iWidth;
Columns[i].Title.Caption := comboCampos.Items[i];{Titulo da Coluna}
Columns[i].DropDownRows := i; {index da coluna}
if (sTipo = ´I´) or (sTipo = ´N´) then
erro aqui=> TCurrencyEdit(Columns[i]).DisplayFormat := ´#0.00´;
Columns[i].Title.Alignment := taRightJustify;
end;
end;
end;
nao consigo formatar uma coluna no deu displayformat, dá erro de violacao de acesso.
lembrando que nao desejo criar os campos.
é como se fosse assim:
vc set as propriedades dos componentes para conectar no banco, coloca um grid, aponta o datasource para o dataset especifico e manda abrir a tabela.
o grid pega todos os campos automaticamente e os mostra.
nao posso criar os campos no inspetor do clientdataset,
nao desejo criar os campos em runtime no clientdataset,
so quero apontar:
exemplo:
select [<campo>....] from tabela
open;
o grid ja os pega. (detalhe), o tipo, tamanho e display do titulo de cada coluna, eu monto em runn time, no procedimento informado logo no inicio.
tem jeito de ser assim >?
possuo um form, de (busca), que servirá para qualquer dataset no meu projeto.
nele, tem um grid, um clientdataset e demais componentes para ligar ao banco.
qdo crio o form:
defino as colunas do grid.
{Preparando o Grid Genérico}
GridGenerico.Columns.Clear;
for i := 0 to comboCampos.Items.Count - 1 do
begin
sCampo := PegaCampoCombo(comboCampos, i, True);
sAlias := PegaCampoCombo(comboCampos, i, False);
sTipo := PegaTipoCampoCombo(comboCampos, i);
iWidth := PegaWidthCampoCombo(comboCampos, i);
with GridGenerico do
begin
Columns.Add;
Columns[i].FieldName := sAlias; {Alias do Campo}
Columns[i].Width := iWidth;
Columns[i].Title.Caption := comboCampos.Items[i];{Titulo da Coluna}
Columns[i].DropDownRows := i; {index da coluna}
if (sTipo = ´I´) or (sTipo = ´N´) then
erro aqui=> TCurrencyEdit(Columns[i]).DisplayFormat := ´#0.00´;
Columns[i].Title.Alignment := taRightJustify;
end;
end;
end;
nao consigo formatar uma coluna no deu displayformat, dá erro de violacao de acesso.
lembrando que nao desejo criar os campos.
é como se fosse assim:
vc set as propriedades dos componentes para conectar no banco, coloca um grid, aponta o datasource para o dataset especifico e manda abrir a tabela.
o grid pega todos os campos automaticamente e os mostra.
nao posso criar os campos no inspetor do clientdataset,
nao desejo criar os campos em runtime no clientdataset,
so quero apontar:
exemplo:
select [<campo>....] from tabela
open;
o grid ja os pega. (detalhe), o tipo, tamanho e display do titulo de cada coluna, eu monto em runn time, no procedimento informado logo no inicio.
tem jeito de ser assim >?
Pedih
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)