Skip to main content

[archive] Grid Controls

  • July 25, 2006
  • 7 replies
  • 0 views

[Migrated content. Thread originally posted on 25 July 2006]

Hi all,

Could you please let me know what Active-X grid controls you might be using, and the pros/cons of each?

The AcuGT grid control is just not cutting it in the market place for us, where customers expect to be able to rearrange column order, easy searches, sort by different column values, and add or remove (not just hide) columns as needed. We will still need to use some form of paged grids in some cases, because of the volume of data that could be potentially loaded into the grid.

We have an old copy of the Janus GridEx available to us, but I think there must be better options out there.

Thanks in advance,

Ian

7 replies

[Migrated content. Thread originally posted on 25 July 2006]

Hi all,

Could you please let me know what Active-X grid controls you might be using, and the pros/cons of each?

The AcuGT grid control is just not cutting it in the market place for us, where customers expect to be able to rearrange column order, easy searches, sort by different column values, and add or remove (not just hide) columns as needed. We will still need to use some form of paged grids in some cases, because of the volume of data that could be potentially loaded into the grid.

We have an old copy of the Janus GridEx available to us, but I think there must be better options out there.

Thanks in advance,

Ian
I have heard several US developers use the Sharp Grid control.

http://www.datadynamics.com/Products/ProductOverview.aspx?Product=SG

[Migrated content. Thread originally posted on 25 July 2006]

Hi all,

Could you please let me know what Active-X grid controls you might be using, and the pros/cons of each?

The AcuGT grid control is just not cutting it in the market place for us, where customers expect to be able to rearrange column order, easy searches, sort by different column values, and add or remove (not just hide) columns as needed. We will still need to use some form of paged grids in some cases, because of the volume of data that could be potentially loaded into the grid.

We have an old copy of the Janus GridEx available to us, but I think there must be better options out there.

Thanks in advance,

Ian
I have heard several US developers use the Sharp Grid control.

http://www.datadynamics.com/Products/ProductOverview.aspx?Product=SG

[Migrated content. Thread originally posted on 25 July 2006]

Hi all,

Could you please let me know what Active-X grid controls you might be using, and the pros/cons of each?

The AcuGT grid control is just not cutting it in the market place for us, where customers expect to be able to rearrange column order, easy searches, sort by different column values, and add or remove (not just hide) columns as needed. We will still need to use some form of paged grids in some cases, because of the volume of data that could be potentially loaded into the grid.

We have an old copy of the Janus GridEx available to us, but I think there must be better options out there.

Thanks in advance,

Ian
We use #Grid and love it. The support at Data Dynamics is good and helpful. The control is flexible and fully featured. There may be other options out there, but this is the one we've used for many, many years now.

Rob

[Migrated content. Thread originally posted on 25 July 2006]

Hi all,

Could you please let me know what Active-X grid controls you might be using, and the pros/cons of each?

The AcuGT grid control is just not cutting it in the market place for us, where customers expect to be able to rearrange column order, easy searches, sort by different column values, and add or remove (not just hide) columns as needed. We will still need to use some form of paged grids in some cases, because of the volume of data that could be potentially loaded into the grid.

We have an old copy of the Janus GridEx available to us, but I think there must be better options out there.

Thanks in advance,

Ian
We use #Grid and love it. The support at Data Dynamics is good and helpful. The control is flexible and fully featured. There may be other options out there, but this is the one we've used for many, many years now.

Rob

[Migrated content. Thread originally posted on 25 July 2006]

Hi all,

Could you please let me know what Active-X grid controls you might be using, and the pros/cons of each?

The AcuGT grid control is just not cutting it in the market place for us, where customers expect to be able to rearrange column order, easy searches, sort by different column values, and add or remove (not just hide) columns as needed. We will still need to use some form of paged grids in some cases, because of the volume of data that could be potentially loaded into the grid.

We have an old copy of the Janus GridEx available to us, but I think there must be better options out there.

Thanks in advance,

Ian
Hi all

Our customers also thinks that acu grid is not flexible enough. Is there anybody who uses Sharp Grid who has a sample program of how to incoporate Sharpgrid in a acucobol program.

We have already incoporated the acu grid in many programs, and now I am trying to investigate how difficult it is to use sharpgrid instead ?, have somenbody tried that before ?

I surely appreciate all comments

Regards

Steen Jensen
Datamann, Denmark

[Migrated content. Thread originally posted on 25 July 2006]

Hi all,

Could you please let me know what Active-X grid controls you might be using, and the pros/cons of each?

The AcuGT grid control is just not cutting it in the market place for us, where customers expect to be able to rearrange column order, easy searches, sort by different column values, and add or remove (not just hide) columns as needed. We will still need to use some form of paged grids in some cases, because of the volume of data that could be potentially loaded into the grid.

We have an old copy of the Janus GridEx available to us, but I think there must be better options out there.

Thanks in advance,

Ian
Here is a quick sample I found. It may not be the best example, but it's one. If you download the control from Data Dynamics, you can see all of their examples in VB or C code. That's usually a good way to see what's involved. If you are comfortable with ActiveX, you should find it fairly straight-forward. If you are not comfortable with ActiveX, I would imagine that would be the biggest learning curve and I would suggest the class that Acucorp/Gisle are offering this fall.

Good Luck!

Rob

      identification division.
       program-id.  sgrid.
       environment division.
       configuration section.
       special-names.
           copy "sgrid.def".
                              .
       data division.
       working-storage section.

      * Copybooks

       copy "acucobol.def".
       copy "acugui.def".
       copy "crtvars.def".
       copy "controls.def".
       copy "opensave.def".

      * Crt-Status

       77  key-status is special-names crt status pic 9(4) value 0.
         88  exit-pressed                    value 10.

      * Handles
       77  window-0                          handle of window.
       77  grid-menu                         handle of menu.
       77  sgrid-columns-handle             handle of sgcolumns.
       77  sgrid-column-handle              handle of sgcolumn.
       77  sgrid-rows-handle                handle of sgrows.
       77  sgrid-row-handle                 handle of sgrow.
       77  sgrid-cell-handle                handle of sgcell.

       01  ws-row-key                      pic X(20) value spaces.
       01  ws-counter                      pic 9(4) value zero.
       01  ws-cell-data                    pic X(100) value spaces.

       screen section.
       01 main-screen.
         05  sgrid-grid-handle sggrid
             line 2.5
             column 2
             size 75
             lines 17
             event procedure is sgrid-event-procedure.

         05 push-button,
               line 25, col 41,
               size 14 cells
               title "E&xit",
               self-act,
               exception-value    = 10.
      *
       procedure division.
       main-logic.
      *
           perform initialization.
           display floating window,
                   title "Grid Control Demo",
                   size 80, lines 27, background-low
                   modeless, link to thread,
                   handle window-0.
      *
           move menu-handle to grid-menu.

           display main-screen.
           perform load-grid.
           perform with test after until exit-pressed
               accept main-screen allowing messages from any thread
                     on exception continue
               end-accept
           end-perform.
           destroy main-screen.
           close window window-0.
           exit PROGRAM.
           STOP RUN.

       load-grid.
           modify sgrid-grid-handle @fitlastcolumn = 1.
           inquire sgrid-grid-handle @columns
               in sgrid-columns-handle.
           modify sgrid-columns-handle @removeall().
           inquire sgrid-grid-handle @rows in sgrid-rows-handle.
      * add columns
           modify sgrid-columns-handle @add("col 1")
             giving sgrid-column-handle.
           modify sgrid-column-handle @dbfield = "col 1".
             modify sgrid-columns-handle @add("col 2")
             giving sgrid-column-handle.
           modify sgrid-column-handle @dbfield = "col 2".
             modify sgrid-columns-handle @add("col 3")
             giving sgrid-column-handle.
           modify sgrid-column-handle @dbfield = "col 3".
           
      * populate rows
           perform varying ws-counter from 1 by 1 until
             ws-counter > 30
               modify sgrid-grid-handle @datarowcount = ws-counter
               modify sgrid-rows-handle @at(ws-counter)
                 giving sgrid-row-handle
               modify sgrid-row-handle @tag = "ABC"
               inquire sgrid-row-handle @key in ws-row-key
               destroy sgrid-row-handle

               inquire sgrid-grid-handle @cell(ws-row-key,"col 1",0)
                 in sgrid-cell-handle
               string ws-counter delimited by size
                      ", col 1" delimited by size
                 into ws-cell-data
               modify sgrid-cell-handle @value = ws-cell-data
               destroy sgrid-cell-handle

               inquire sgrid-grid-handle @cell(ws-row-key,"col 2",0)
                 in sgrid-cell-handle
               string ws-counter delimited by size
                      ", col 2" delimited by size
                 into ws-cell-data
               modify sgrid-cell-handle @value = ws-cell-data
               destroy sgrid-cell-handle

               inquire sgrid-grid-handle @cell(ws-row-key,"col 3",0)
                 in sgrid-cell-handle
               string ws-counter delimited by size
                      ", col 3" delimited by size
                 into ws-cell-data
               modify sgrid-cell-handle @value = ws-cell-data
               destroy sgrid-cell-handle
           end-perform.
     

       initialization.
           accept terminal-abilities from terminal-info
           if not has-graphical-interface
             display message box
               "This program requires a GUI runtime"
             stop run
           end-if
           exit paragraph.

       sgrid-event-procedure.

[Migrated content. Thread originally posted on 25 July 2006]

Hi all,

Could you please let me know what Active-X grid controls you might be using, and the pros/cons of each?

The AcuGT grid control is just not cutting it in the market place for us, where customers expect to be able to rearrange column order, easy searches, sort by different column values, and add or remove (not just hide) columns as needed. We will still need to use some form of paged grids in some cases, because of the volume of data that could be potentially loaded into the grid.

We have an old copy of the Janus GridEx available to us, but I think there must be better options out there.

Thanks in advance,

Ian
Here is a quick sample I found. It may not be the best example, but it's one. If you download the control from Data Dynamics, you can see all of their examples in VB or C code. That's usually a good way to see what's involved. If you are comfortable with ActiveX, you should find it fairly straight-forward. If you are not comfortable with ActiveX, I would imagine that would be the biggest learning curve and I would suggest the class that Acucorp/Gisle are offering this fall.

Good Luck!

Rob

      identification division.
       program-id.  sgrid.
       environment division.
       configuration section.
       special-names.
           copy "sgrid.def".
                              .
       data division.
       working-storage section.

      * Copybooks

       copy "acucobol.def".
       copy "acugui.def".
       copy "crtvars.def".
       copy "controls.def".
       copy "opensave.def".

      * Crt-Status

       77  key-status is special-names crt status pic 9(4) value 0.
         88  exit-pressed                    value 10.

      * Handles
       77  window-0                          handle of window.
       77  grid-menu                         handle of menu.
       77  sgrid-columns-handle             handle of sgcolumns.
       77  sgrid-column-handle              handle of sgcolumn.
       77  sgrid-rows-handle                handle of sgrows.
       77  sgrid-row-handle                 handle of sgrow.
       77  sgrid-cell-handle                handle of sgcell.

       01  ws-row-key                      pic X(20) value spaces.
       01  ws-counter                      pic 9(4) value zero.
       01  ws-cell-data                    pic X(100) value spaces.

       screen section.
       01 main-screen.
         05  sgrid-grid-handle sggrid
             line 2.5
             column 2
             size 75
             lines 17
             event procedure is sgrid-event-procedure.

         05 push-button,
               line 25, col 41,
               size 14 cells
               title "E&xit",
               self-act,
               exception-value    = 10.
      *
       procedure division.
       main-logic.
      *
           perform initialization.
           display floating window,
                   title "Grid Control Demo",
                   size 80, lines 27, background-low
                   modeless, link to thread,
                   handle window-0.
      *
           move menu-handle to grid-menu.

           display main-screen.
           perform load-grid.
           perform with test after until exit-pressed
               accept main-screen allowing messages from any thread
                     on exception continue
               end-accept
           end-perform.
           destroy main-screen.
           close window window-0.
           exit PROGRAM.
           STOP RUN.

       load-grid.
           modify sgrid-grid-handle @fitlastcolumn = 1.
           inquire sgrid-grid-handle @columns
               in sgrid-columns-handle.
           modify sgrid-columns-handle @removeall().
           inquire sgrid-grid-handle @rows in sgrid-rows-handle.
      * add columns
           modify sgrid-columns-handle @add("col 1")
             giving sgrid-column-handle.
           modify sgrid-column-handle @dbfield = "col 1".
             modify sgrid-columns-handle @add("col 2")
             giving sgrid-column-handle.
           modify sgrid-column-handle @dbfield = "col 2".
             modify sgrid-columns-handle @add("col 3")
             giving sgrid-column-handle.
           modify sgrid-column-handle @dbfield = "col 3".
           
      * populate rows
           perform varying ws-counter from 1 by 1 until
             ws-counter > 30
               modify sgrid-grid-handle @datarowcount = ws-counter
               modify sgrid-rows-handle @at(ws-counter)
                 giving sgrid-row-handle
               modify sgrid-row-handle @tag = "ABC"
               inquire sgrid-row-handle @key in ws-row-key
               destroy sgrid-row-handle

               inquire sgrid-grid-handle @cell(ws-row-key,"col 1",0)
                 in sgrid-cell-handle
               string ws-counter delimited by size
                      ", col 1" delimited by size
                 into ws-cell-data
               modify sgrid-cell-handle @value = ws-cell-data
               destroy sgrid-cell-handle

               inquire sgrid-grid-handle @cell(ws-row-key,"col 2",0)
                 in sgrid-cell-handle
               string ws-counter delimited by size
                      ", col 2" delimited by size
                 into ws-cell-data
               modify sgrid-cell-handle @value = ws-cell-data
               destroy sgrid-cell-handle

               inquire sgrid-grid-handle @cell(ws-row-key,"col 3",0)
                 in sgrid-cell-handle
               string ws-counter delimited by size
                      ", col 3" delimited by size
                 into ws-cell-data
               modify sgrid-cell-handle @value = ws-cell-data
               destroy sgrid-cell-handle
           end-perform.
     

       initialization.
           accept terminal-abilities from terminal-info
           if not has-graphical-interface
             display message box
               "This program requires a GUI runtime"
             stop run
           end-if
           exit paragraph.

       sgrid-event-procedure.