mojaSymfonia FORUM
https://forum.mix-soft.pl/

MxGrid i dropdown
https://forum.mix-soft.pl/viewtopic.php?f=15&t=6112
Strona 1 z 1

Autor:  vectorcom [ 2014-11-27, 22:48 ]
Tytuł:  MxGrid i dropdown

Witam,

Mam problem z MxGrid i dropdown, stosuje poniższą definicję kolumny:

Kod:
Columns(GTowarZM).name = "Produkt"      
dGrid.Columns(GTowarZM).Width = 200
dGrid.Columns(GTowarZM).Locked = 1
dGrid.Columns(GTowarZM).fieldtype(0x80,40)

Na event dGrid_OnDropDown wypełniam dropdown
   
Long j = 1
Long l = 1005

While j < l
dGrid.Execute(35, j, j)
j += 1
Wend

Dropdown z wartościami od 1 do 1005 się generuje, niestety wygląda na to że wartości powyżej 1001 wybrać nie mogę, po wybraniu 1002 wartość wybrana się nie pojawia, wygląda to na jakieś ograniczenie, czy ktoś się orientuje jaka jest maksymalna ilość pozycji w dropdown na MxGrid?

Pozdrawiam

Autor:  rafal [ 2014-11-28, 11:28 ]
Tytuł:  Re: MxGrid i dropdown

zamieść cały kod testowy, żeby można było szybko to sprawdzić.

Autor:  vectorcom [ 2014-11-28, 11:49 ]
Tytuł:  Re: MxGrid i dropdown

Witam,

Oto cały kod testowy:

Kod:
Dispatch dGrid
Int btnZapiszZM

#define GTowarZM       0
#define GOpakowanie1ZM  1

Int Sub PrzygotujKolumnyTabeli()
   dGrid.ColumnCount = 2
   dGrid.Columns(GTowarZM).name = "Produkt"      
   dGrid.Columns(GTowarZM).Width = 200
   dGrid.Columns(GTowarZM).Locked = 1
   dGrid.Columns(GTowarZM).fieldtype(0x80,40)
   dGrid.Columns(GTowarZM).SetToolTip("Wybierz produkt")

   dGrid.Columns(GOpakowanie1ZM).name = "Opakowanie"
   dGrid.Columns(GOpakowanie1ZM).Width = 100      
   dGrid.Columns(GOpakowanie1ZM).fieldtype(0+128,40)
   dGrid.Columns(GOpakowanie1ZM).Locked = 1
   dGrid.Columns(GOpakowanie1ZM).SetToolTip("Wybierz opakowanie")

   dGrid.InsertRow(-1)         
EndSub

Int Sub ListaProduktow()
   Long j = 1
   Long l = 1005
   
   While j < l
      dGrid.Execute(35, j, j)
      j += 1
   Wend
EndSub

Int sub OnCommandZM(int id, int msg)
   If id == 0 && msg == 0 Then
      PrzygotujKolumnyTabeli()      
   EndIf
   If id == 0 && msg == -1 Then
      //
   EndIf
EndSub

Int Sub dGrid_OnDropDown(Dispatch q)
   Select Case dGrid.CurCol
      Case GTowarZM
         ListaProduktow()
   EndSelect
EndSub

Int Sub OnZamknij()   
   OnZamknij = -1               
EndSub

Int Sub FormZmiana()
   FORM "Forma", 510,450    
       CONTROL "MXGRID.MXGridCtrl.1",dGrid,  5,5,500,330
      btnZapiszZM  = Button "Zapisz", 500-120, 390, 100, 24, OnZamknij()
   Int rv = ExecForm( OnCommandZM )   
   NoOutput()
EndSub

FormZmiana()


Po uruchomieniu w dropdown Produkt pojawią się wartości od 1 do 1004. Wybór 1001 - OK wartość 1001 pojawi się jako wybrana. Wybór 1002 - niestety brak zmian. Gdy od razu wybierzemy 1002 pole dropdown będzie puste. To mi wygląda na jakieś ograniczenie, ale może coś źle robię.

Dzięki za szybką reakcję.

Pozdrawiam

Autor:  rafal [ 2014-11-28, 12:23 ]
Tytuł:  Re: MxGrid i dropdown

Też mi to wygląda na ograniczenie lub błąd.
Po kliknięciu na ta komórkę wyswietl kolejne okienko z gridem i tam umieść swoją listę.

Autor:  rafal [ 2014-11-28, 14:04 ]
Tytuł:  Re: MxGrid i dropdown

Poszukaj jeszcze na forum sposobu na zamknięcie tego drugiego okna przez dwuklik na gridzie.

Autor:  vectorcom [ 2014-12-03, 19:15 ]
Tytuł:  Re: MxGrid i dropdown

Witam,

Poszukałem chwile ale muszę napisać szczerze, że jedyną opcją jaką widzę jest button na dole okna z listą i zamknięcie okna na ten button.

Obsługę dGrid_OnDblClick mogę zrobić, ale nie widzę możliwości jak wysłać/zasymulować kliknięcie na button z wartością mniejszą od 0. Czy masz może jakieś wskazówki dla mnie? Na razie mam opcję z buttonem "Wybierz", ale zdecydowanie wole dblclick.

Pozdrawiam

Autor:  rafal [ 2014-12-03, 20:15 ]
Tytuł:  Re: MxGrid i dropdown

Moze chwila to za malo na znalezienie rozwiazania.

Zobacz to:
viewtopic.php?f=15&t=5556

Lub to:
viewtopic.php?p=25630#p25630

Autor:  vectorcom [ 2014-12-03, 23:34 ]
Tytuł:  Re: MxGrid i dropdown

Witam,

Przyznaje, rzeczywiście za mało czasu spędziłem nad przeszukaniem forum.
Dzięki działa jak marzenie.

Pozdrawiam

Strona 1 z 1 Strefa czasowa UTC+1godz. [letni]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/