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

MxGrid - jak dodać listę rozwijaną
https://forum.mix-soft.pl/viewtopic.php?f=15&t=373
Strona 1 z 1

Autor:  keczer [ 2008-10-29, 13:17 ]
Tytuł:  MxGrid - jak dodać listę rozwijaną

W jaki sposób do kontrolki MXGRID dodać listę rozwijaną

Autor:  rafal [ 2008-10-29, 14:13 ]
Tytuł: 

Kod:
dispatch dGrid

int sub OnCommand(int id, int msg)

int i
   
   if id == 0 && msg == 0 then
      dGrid.ColumnCount = 1   
      dGrid.Columns(0).name = "Nazwa"
      dGrid.Columns(0).fieldtype(0+128,40)

      for i = 1 to i > 100
         dGrid.InsertRow(-1)
      next i
   
   endif

endsub

int sub dGrid_OnDropDown(dispatch q)
   
   if dGrid.CurCol == 0 then
   
      dGrid.Execute(35, "Opcja 1","Opcja 1")   
      dGrid.Execute(35, "Opcja 2","Opcja 2")
      dGrid.Execute(35, "Opcja 3","Opcja 3")
      dGrid.Execute(35, "Opcja 4","Opcja 4")
      dGrid.Execute(35, "Opcja 5","Opcja 5")

   endif

endsub

FORM "Test MxGrid Drop Down", 200,400

   CONTROL "grid",dGrid, 5,5,185,365
   
int rv = ExecForm( OnCommand )

Autor:  wojtek [ 2011-10-14, 10:38 ]
Tytuł: 

Witam,

Bawię się właśnie MxGridem istaram siędodać bitmapy do menu rozwijanego:
Kod:
#include "sosGrDef.sci"

dispatch dGrid
int endFrm

int sub OnCommand(int id, int msg)

int i
   
    if id == 0 && msg == 0 then
        dGrid.ColumnCount = 3 
        dGrid.Columns(0).name = "Nazwa"
        dGrid.Columns(0).fieldtype(0+128,40)
        dGrid.Columns(1).name = "Nazwa"
        dGrid.Columns(1).fieldtype(7,2)
        dGrid.Columns(2).name = "Znacznik"
        dGrid.Columns(2).fieldtype(17+0x80,0)

        for i = 1 to i > 100
            dGrid.InsertRow(-1)
        next i
   
    endif


endsub

int sub dGrid_OnDropDown(dispatch q)
   
    if dGrid.CurCol == 2 then
    [color=red]dGrid.Execute (EC_DROPMENUITEM, "Znacznik A","Znacznik A"+81)[/color]   dGrid.Execute (EC_DROPMENUITEM, "Znacznik B",82)
   dGrid.Execute (EC_DROPMENUITEM, "Znacznik C",83)
   dGrid.Execute (EC_DROPMENUITEM, "Znacznik D",84)

   endif

endsub


FORM "MxGrid kontrolka", 800,400
button " X ",700,100,30,26,endFrm=-1
CONTROL "grid",dGrid, 5,5,685,365
   
int rv = ExecForm( OnCommand )
if endFrm==-1 then error ""


Zasadniczo wszytsko działa tylko:

1) Jak spowodować by w polu rozijanym pojawiła się bitmapa i tekst

w powyższym kodzie na menurozwijanym mam tekst a w komórce pojawia się bitmapa,
A chce mieć zarówno w menu rozwijanym jak i w komórcedtekst i bitmape

pozdrawiam

Autor:  wojtek [ 2011-10-14, 16:12 ]
Tytuł: 

Sam sobie odpowiem:

należy użyć następującej formuły

Kod:
dGrid.Execute (EC_DROPLISTITEM, "Znacznik A" + "~#81",81)


Walcze jeszcze z jedną sprawą:

Jak spowodować aby dla zaznaczonych na niebiesko wierszy w mxGrid coś się stało,
np. korzystjąc z SHIFT + zakres wierszy, pod prawym przyciskiem powinna być możliwość zmiany wartości pól w określonej kolumnie.
Chodzi mi o to by dla zaznczonych wierszy hurtowo zmienić wartość danych w ostatniej kolumnie na wybieraną z listy.

Autor:  wrob [ 2011-10-16, 02:21 ]
Tytuł: 

Hmm... takie cuda to tylko jak sobie zamiast MxGrid uzyjesz Excela jako kontrolki :) :) :)

Autor:  TS [ 2011-10-17, 22:42 ]
Tytuł: 

Jest to możliwe ... każdy zaznaczony wiersz będzie miała ustawione Tagged na true nawet dla trybu nagłówka wierszy innego niż htTag. Wystarczy wykonać iterację dla RowCount-1 i zastosować dodatkowe akcje dla wiersza na wskazanej kolumnie.

Autor:  wojtek [ 2011-10-19, 11:08 ]
Tytuł: 

Dzieki za info, znalazlem dwa dni temu rzyklad z tagged - em i faktycznie dziala tak jak chce

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