Hoje vou mostrar como definir o tamanho de uma coluna de uma grid FWBrowse.
Ao criar uma FWBrowse, a largura das colunas é calculada conforme o tamanho do campo e/ou do cabeçalho.
Então para aumentarmos ou forçar a diminuição, temos que alterar diretamente um atributo do nosso objeto instanciado da classe FWBrwColumn.
No caso, o atributo (propriedade) que podemos editar para tentar aumentar ou diminuir a coluna é o nSize.
Em alguns casos, pode ser que não funcione (por exemplo, você tentar diminuir uma coluna sendo que ela já atingiu o tamanho mínimo).
Abaixo um exemplo do trecho da criação das colunas, alterando o nSize:
//Adicionando campos que serão mostrados na tela
//[1] - Campo da Temporaria
//[2] - Titulo
//[3] - Tipo
//[4] - Tamanho
//[5] - Decimais
//[6] - Máscara
//[7] - Largura da coluna
aAdd(aEstrut, { "Z57_PRODUT" , "Prod", "C", 08, 0, "", 0 })
aAdd(aEstrut, { "Z57_DESCRI" , "Descricao", "C", 15, 0, "", 12 })
aAdd(aEstrut, { "Z57_SALDO" , "Saldo", "N", nTamQtd, 0, cMaskQtd, 7 })
aAdd(aEstrut, { "Z57_ESTSEG" , "Est.Segur.", "N", nTamQtd, 0, cMaskQtd, 4 })
aAdd(aEstrut, { "Z57_ESTMIN" , "Est.Minimo", "N", nTamQtd, 0, cMaskQtd, 4 })
aAdd(aEstrut, { "Z57_ENTPRV" , "Entr. Prev.", "N", nTamQtd, 0, cMaskQtd, 4 })
aAdd(aEstrut, { "Z57_ENTDAT" , "Data E.Prev.", "D", 08, 0, "", 7 })
aAdd(aEstrut, { "Z57_SAIPRV" , "Said. Prev.", "N", nTamQtd, 0, cMaskQtd, 4 })
aAdd(aEstrut, { "Z57_PRZENT" , "Prz. Ent.", "N", 04, 0, "@E 9,999", 2 })
aAdd(aEstrut, { "Z57_PRCCOM" , "Prç. Comp.", "N", aTamVlr[1], aTamVlr[2], cMaskVlr, 8 })
aAdd(aEstrut, { "Z57_MED1M" , "Méd.1 Mes", "N", aTamVlr[1], aTamVlr[2], cMaskVlr, 8 })
aAdd(aEstrut, { "Z57_MED2M" , "Méd.2 Mes.", "N", aTamVlr[1], aTamVlr[2], cMaskVlr, 8 })
aAdd(aEstrut, { "Z57_MED3M" , "Méd.3 Mes.", "N", aTamVlr[1], aTamVlr[2], cMaskVlr, 8 })
aAdd(aEstrut, { "Z57_MED6M" , "Méd.6 Mes.", "N", aTamVlr[1], aTamVlr[2], cMaskVlr, 8 })
aAdd(aEstrut, { "Z57_MED12M" , "Méd.12 Mes.", "N", aTamVlr[1], aTamVlr[2], cMaskVlr, 8 })
aAdd(aEstrut, { "Z57_SUGCOM" , "Sug.Compra (c/ Ent.Prev)", "N", nTamQtd, 0, cMaskQtd, 7 })
aAdd(aEstrut, { "Z57_SUGSEM" , "Sug.Compra (s/ Ent.Prev)", "N", nTamQtd, 0, cMaskQtd, 7 })
aAdd(aEstrut, { "Z57_DATMAX" , "Dat.Máx.Comprar", "D", 08, 0, "", 7 })
aAdd(aEstrut, { "Z57_PRVCOM" , "Prv.Falta (c/ Ent.Prev)", "D", 08, 0, "", 7 })
aAdd(aEstrut, { "Z57_PRVSEM" , "Prv.Falta (s/ Ent.Prev)", "D", 08, 0, "", 7 })
//Percorrendo todos os campos da estrutura
For nAtual := 1 To Len(aEstrut)
//Cria a coluna
oColumn := FWBrwColumn():New()
oColumn:SetData(&("{|| Z57->" + aEstrut[nAtual][1] +"}"))
oColumn:SetTitle(aEstrut[nAtual][2])
oColumn:SetType(aEstrut[nAtual][3])
oColumn:SetSize(aEstrut[nAtual][4])
oColumn:SetDecimal(aEstrut[nAtual][5])
oColumn:SetPicture(aEstrut[nAtual][6])
If aEstrut[nAtual][7] != 0
oColumn:nSize := aEstrut[nAtual][7]
EndIf
//Adiciona a coluna
aAdd(aColunas, oColumn)
Next
Bom pessoal, por hoje é só.
Abraços e até a próxima.
Boa tarde, existe alguma maneira de fazer isso em mvc?
Boa tarde Igor.
Eu nunca precisei, mas pode ser que exista algum método ou atributo que seja editável.