Grid imprimir

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
marcosLP
Usuário Nível 1
Usuário Nível 1
Mensagens: 47
Registrado em: 13 Nov 2020 10:24
Localização: guarpauava/pr

Grid imprimir

Mensagem por marcosLP »

tenho duas grids:
1) uma que pega direto do banco de dados, fácil selecioanr no checkbox e depois imprimir só os que tem marcado
2) uma segunda que tem seus valores já definidos pelo meu cliente( existem 39 items que ele precisa) mas só aqueles que eu selecionar e quando vou fazer isso(abaixo):
function ListGridDiagnosticos()
*
etc...

sempre sai em branco e já to ficanco careca...digo...mais careca com isso porque já não sei mais por onde mudar.
Agradeceria qualquer ajuda!
ps: na versão 17.02, 17.04 funcionava perfeitamente agora na 22.03 sem chance
dados:

a_Items [01] := { STRZERO(1,3),"ARQ_AGM.DBF" }
a_Items [02] := { STRZERO(2,3),"ARQ_ANX.DBF" }
a_Items [03] := { STRZERO(3,3),"ARQ_ATD.DBF" }
a_Items [04] := { STRZERO(4,3),"ARQ_ATL.DBF" }
a_Items [05] := { STRZERO(5,3),"ARQ_ATM.DBF" }
a_Items [06] := { STRZERO(6,3),"ARQ_CFM.DBF" } ... até [39]

Código: Selecionar todos

*--------------------------------------------------------*
Function ListGridDiagnosticos()

Local ItemPos , aItem
Local c := "", d := "", i

ItemPos := formMENU_BAK.GridMENU_BAK.Value
aItem   := formMENU_BAK.GridMENU_BAK.Item ( ItemPos )


for i := 1 to formMENU_BAK.GridMENU_BAK.ItemCount

  if formMENU_BAK.GridMENU_BAK.CheckboxItem (i)
     c += "Item "+Ltrim(Str(i))+" checked" + CRLF
  endif

next

if ! empty( c )
	set alter on
	set alter to "rel.txt"
	for i := 1 to 39
		? ItemPos //já mudei aqui, coloquei vetor dentro de vetor, item como aItem[x...] e nada
	next	
	set alter off
	set alter to
else
   msginfo("No items checked.")
endif
Return
Editado pela última vez por Itamar M. Lins Jr. em 24 Jul 2022 23:12, em um total de 1 vez.
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
ivanil
Usuário Nível 3
Usuário Nível 3
Mensagens: 166
Registrado em: 11 Set 2004 15:13
Localização: Florianópolis/SC

Grid imprimir

Mensagem por ivanil »

O Exemplo abaixo funcionou aqui:

Código: Selecionar todos

#include <hmg.ch>
Function LoadFrmTestgrid

    DEFINE WINDOW Testgrid AT 189, 373 WIDTH 600 HEIGHT 438  TITLE "" CHILD ON INIT (Testgrid_Oninit())

        DEFINE GRID oGrid1
            CHECKBOXES TRUE
            COL 14
            HEADERS { "" }
            HEIGHT 318
            ROW 22
            SHOWHEADERS TRUE
            WIDTH 552
            WIDTHS { 150 }
        END GRID

        DEFINE BUTTON oButton1
            ACTION (Testgrid_oButton1_Action())
            CAPTION "&oButton1"
            COL 233
            HEIGHT 26
            ROW 352
            TRANSPARENT TRUE
            WIDTH 96
        END BUTTON

    END WINDOW
    Testgrid.Center()
    Testgrid.activate()
    
Return .T.

    ***********************************************
    ///////////////////////////////////////////////
    ***********************************************
Static Function Testgrid_Oninit( )
    Local i
    For i=1 to 39
        Testgrid.oGrid1.addItem({strzero(i,5)})
    Next
    Return .T.

    ***********************************************
    ///////////////////////////////////////////////
    ***********************************************
Static Function Testgrid_oButton1_Action()
    Local t:=Testgrid.oGrid1.itemcount,i,cResult:=""
    for i=1 to t
        if Testgrid.oGrid1.CheckboxItem (i)
            cResult += Testgrid.oGrid1.item(i)[1] + CRLF
        endif
    next
    MsgInfo(cResult)
    Return .T.
Responder