PROBLEMA MSFLEXGRID

SURI 06/02/2011 11:48:38
#364475
Olá malta,

Pela primeira vez pretendo usar flexgrd no lugar da dtgrid para aplicar algumas funções que vi aqui no site (colorir linha etc). A fxgrid tem como datasource um remote dt source vinculada a tabela cliente. Preciso eliminar alguns campos na hora da apresentação dos dados. Com a dtgrid eu definia os campos no projecto, pelo que vejo com msflexgrid esta faz-se em tempo de execução (julgo eu!).

Alguem pode ensinar-me a manipular a FlexGrid? Preciso que ela apresente somente os dados pretendidos da tabela e não todos. Quero alterar a caption no headline pois ela apresenta o nome do campo na BD.
LLAIA 07/02/2011 18:21:33
#364637
vc está usando o componente Data? Se sim, é só colocar a sua consulta com o critério restritivo tipo select campo1,campo2 from tabela where campoX = Y

para mudar a headline, faça isso:

select campo1 as NovoNome1,campo2 as NovoNome2 from tabela where campoX = Y
JLAUROSOUZA 07/02/2011 19:06:06
#364642
Resposta escolhida
se a sua conexão for ODBC:


Dim TB As ADODB.Recordset
Set TB = New ADODB.Recordset

With MSFlexGrid

.Visible = False
.Clear
TB.Source = [Ô]Select ID as [IDReg], I_xProd as [Descrição], I_uCom as [Und. Comercial],[Ô]
TB.Source = TB.Source + [Ô] I_vUnCom as [Valor Unt.], N02_orig as [Origem da Mercadoria],[Ô]
TB.Source = TB.Source + [Ô] ICMS, IPI[Ô]
TB.Source = TB.Source + [Ô] from FISCAL_PRODUTOS where I_xprod like [ô]%[Ô] & xtex & [Ô]%[ô][Ô]
TB.Source = TB.Source + [Ô] order by id[Ô]
TB.Open , cn, adOpenDynamic, adLockOptimistic
Do Until Not TB.EOF
GoTo fim:
TB.NextRecordset
Loop

MSRDC.DataSourceName = [Ô]LISTA[Ô] [ô]a ODBC
MSRDC.SQL = TB.Source
MSRDC.Refresh

[ô] tamanho de cada coluna
.ColWidth(0) = 300 [ô] esta coluna é a fixa
.ColWidth(1) = 600 [ô] ID
.ColWidth(2) = 2000 [ô] Descrição
.ColWidth(3) = 800 [ô] Und. Comercial
.ColWidth(4) = 1400 [ô] Valor Unt.
.ColWidth(5) = 2000 [ô] Origem da Mercadoria
.ColWidth(6) = 1400 [ô] ICMS
.ColWidth(7) = 1400 [ô] IPI

.Visible = True
end with

ATENÇÃO AMIGO!!!
oBSERVE O NOME DOS COMPONETES

Deu pra Entender amigo?
KIKO.WIZZ 08/02/2011 09:17:44
#364677
Não conheço esse tipo de conexão para MSFlexGrid, eu uso ela e populo da seguinte forma:

rsTable.open [Ô]SELECT Campo1, Campo2, Campo3 FROM Tabela[Ô],ADOconn
if rsTable.eof then Exit Sub
msFlexGrid.FormatString [Ô]|<Campo1 |<Campo2 |<Campo3[Ô] [ô] Esta é a primeira linha da grid... como se fosse o título

x=1
Do Until rsTable.EOF
msFlexGrid.textMatrix(1,x)=rsTable([Ô]Campo1[Ô])
msFlexGrid.textMatrix(2,x)=rsTable([Ô]Campo2[Ô])
msFlexGrid.textMatrix(3,x)=rsTable([Ô]Campo3[Ô])
rsTable.movenext
x = x + 1
Loop

rsTable.close

sendo que: textMatrix([Ô]Numero da Coluna[Ô], [Ô]Numero da Linha[Ô])
Tópico encerrado , respostas não são mais permitidas