StringGrid - Essa é complicada

Delphi

27/04/2005

Olá Pessoal

Está é pra tirar o sono.
Tenho a seguinte situação.
Tenho um cliente onde ele irá ´criar´ campos aleatórios mais ou menos assim:
Exame 01:
campo01: numeric, 7,2
campo02: varchar 20
campo03: date

e assim por diante. Irei gravar em uma tabela os parametros deste exame:
Quando o usuário selecionar o exame para informar o resultado ele irá abrir um stringgrid e ´criará os campos necessários´ nas linhas. O que eu preciso é quando o usuário selecionar o ´campo01´ ele habilite a edição da célula com a formatação gravada na tabela, ou seja numeric 7,2. Quando selecionar o ´campo03´ a formatação seja de data, e assim sucessivamente com os outros campos. Há como fazer isso? Há também como criar um combobox dentro de uma celula para que quando algum exame for ´positivo ou negativo´ ele de opção de escolha?

Reuber


Jubrovolski

Jubrovolski

Curtidas 0

Respostas

Cfernandeslima

Cfernandeslima

27/04/2005

Meu amigo

Acho que o mais indicado para este caso é usar um Dbgrid com ClientDataSet, pois vc tera todos os recursos de formatação etc

Neste caso, vc podera apresentar um combo com Positivou ou Negativo, formataçao dos campos, etc.

Passe-me mais informacoes

Qual versao do Delphi - 2005, 8, 7
Qual Banco de Dados (SQL Server, Firebird)
Qual camada de acesso - DBexpress, ADO, etc

Na medida do possivel, tentarei colaborar
Forte abraço
Fernandes


GOSTEI 0
Cabelo

Cabelo

27/04/2005

Meu amigo Acho que o mais indicado para este caso é usar um Dbgrid com ClientDataSet, pois vc tera todos os recursos de formatação etc Neste caso, vc podera apresentar um combo com Positivou ou Negativo, formataçao dos campos, etc. Passe-me mais informacoes Qual versao do Delphi - 2005, 8, 7 Qual Banco de Dados (SQL Server, Firebird) Qual camada de acesso - DBexpress, ADO, etc Na medida do possivel, tentarei colaborar Forte abraço Fernandes


Colega Fernandes..

O problema é que você deveria formatar o campo no clientdataset, e pelo jeito, haverá alterações de acordo com o usuário..

Existe solução de uma outra maneira..

Existem algumas maneiras de fazer isso..

por exemplo, você criar um componente em run time do tipo TMaskEdit e posicioná-lo sobre a célula do stringgrid, assim como o combobox, ou outro componente..

No evento Enter do grid, você seleciona qual o componente deve ser criado..

Não esqueça de ´matar´ o componente após a edição do campo..

Esta é uma das situações para resolver seu problema..


GOSTEI 0
POSTAR