Fórum Campo em DBGrid com MaxLength #376053
16/10/2009
0
Por exemplo: no edit ou no dbedit tem a propriedade maxlength.
Como faço no dbgrid?
Leufmt
Curtir tópico
+ 0Posts
16/10/2009
Vmlima
Veja se a propriedade DisplayWidth do TField da sua query não resolve o seu problema...
Att.
Gostei + 0
16/10/2009
Vmlima
Att.
Gostei + 0
20/10/2009
Leufmt
Se eu mexer no DisplayWidth não vai dar problema?
Será que não há outra forma?
Gostei + 0
20/10/2009
Afarias
|Se eu mexer no DisplayWidth não vai dar problema?
Não tem problema. Esta como algumas outras propriedades do TField são puramente para definições ´visuais´ ou de interação com o usuário.
T+
Gostei + 0
20/10/2009
Leufmt
Quero digitar no máximo 8 digitos, ai coloquei na propriedade do campo DisplayWidth 8. Só que não funciona.
E agora?
Gostei + 0
20/10/2009
Afarias
Faltou esta informação não é?? Para campos numéricos use a propriedade MaxValue do TField.
T+
Gostei + 0
20/10/2009
Leufmt
Gostei + 0
20/10/2009
Afarias
|aceitando infinitivamente a digitação.
Deixa digitar mas o campo não aceita. O usuário recebe uma mensagem de q o valor é maior q o permitido e tem q digitar um valor válido.
Infelizmente, pelo menos até o D7, a edição no DBGrid é bem limitada. Mas, é possível que, com um pouco de código vc consiga o q quer. Outra opção é usar um DBGrid de terceiros com mais funcionalidades.
Ex. O jvDBGrid dos componentes Open Souce JEDI (JVCL) permitem vc associar um jvDBControl a cada coluna (propriedade EditControls) assim dando todal controle na edição das células no grid.
T+
Gostei + 0
20/10/2009
Marco Salles
SeuDataSet.Close; SeuDataSet.FieldByName(´SeuCampoInteger´).EditMask:=´99´; SeuDataSet.Open;
Gostei + 0
22/10/2009
Leufmt
Sem o EditMask eu clico em cima do campo e o cursor vai para o começo(Lado esquerdo), já usando o EditMask se eu clicar no meio do campo lá fica o cursor.
Será que tem algum jeito de suprir isto?
Gostei + 0
22/10/2009
Marco Salles
pode melhorar com a mascara
SeuDataSet.FieldByName(´SeuCampoIntegr´).EditMask:=´999999;0;_´;
porém a resolução do problema so resolve com um POG.. O Proprio
SeuDataSet.FieldByName(´SeuCampoIntegr´).EditMask:=´999999;0;_´;
ja é um POG ...
O Mais profissional é usar o MAXValue com certeza ...
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)