_ArrayView_Header_Run (Generic List Setup)

came across the Genric List cicode example (below) which uses the arrays functions to populate the generic lists which part of the sa_controls library. is anyone able to provide more info on where the _ArrayView functions are located? doesn't seem to appear in any of the include functions etc.

FUNCTION Test_GenericListFill(INT hAn)
   INT nRow = 0;
   INT nRows = 10;
   INT nColumn = 0;
   INT nColumns = 5;
   INT nOffset = 0;
   INT nOffset_Previous = 0;
   INT nDataColumns = 0;
   INT nDataRows = 0;
   INT hDataArray = -1;
   STRING sMapName = "";
   STRING sValue = "";

   IF (ArrayExistsByAn(hAn)) THEN
      _ArrayView_Header_Run(hAn);
      _ArrayView_VScroll_Run(hAn);
      _ArrayView_HScroll_Run(hAn);

      sMapName = ArrayGetMapNameByAn(hAn);
      hDataArray = MapValueGet(sMapName, "DataArray");
      nOffset_Previous = MapValueGet(sMapName, "Offset");
      nOffset = ArrayGetIntByAn(hAn, ARRAY_INFORMATION_COLUMN, ARRAY_INFORMATION_ROW, ARRAY_ZINDEX_ARRAY_YOFF);

      hDataArray = MapValueGet(sMapName, "DataArray");
      IF ((ArrayIsDirty(hDataArray)) OR (nOffset <> nOffset_Previous)) THEN
         nDataColumns = MapValueGet(sMapName, "DataColumns");
         nDataRows = MapValueGet(sMapName, "DataRows");

         FOR nRow = 1 TO nRows DO
            FOR nColumn = 1 TO nColumns DO
               sValue = ArrayGetString(hDataArray, nColumn - 1, (nOffset + nRow) - 1, 0);
               ArraySetStringByAn(hAn, sValue, nColumn, nRow, ARRAY_ZINDEX_CELL_VALUE);
            END
         END

         MapValueSet(sMapName, "Offset", nOffset);
         ArraySetIsDirty(hDataArray, FALSE);
      END
   END
END
Parents
  • Not on me at the moment. Just off the top of my head, I'd probably do it like this:

    For full row select, make sure you have a list row genie (list_row_x10/x40) behind your list genie. That genie has full row click handlers on it. (See the TrendPage in your start project)

    In the genie properties of the list_row_x10/x40 genie you should see "Left Click Command". Enter a name of a function that has the following signature:

    MyList_LeftClick(INT hArrayAn, INT nRowOffset, INT nRow)

    To implement the function have a look at:

    "_AlarmList_Row_LeftClick" in [SA_Controls]AlarmList.ci

    If you get stuck, I'll see If I can find some time to do a up quick handler.

    cheers,

    bradley
Reply
  • Not on me at the moment. Just off the top of my head, I'd probably do it like this:

    For full row select, make sure you have a list row genie (list_row_x10/x40) behind your list genie. That genie has full row click handlers on it. (See the TrendPage in your start project)

    In the genie properties of the list_row_x10/x40 genie you should see "Left Click Command". Enter a name of a function that has the following signature:

    MyList_LeftClick(INT hArrayAn, INT nRowOffset, INT nRow)

    To implement the function have a look at:

    "_AlarmList_Row_LeftClick" in [SA_Controls]AlarmList.ci

    If you get stuck, I'll see If I can find some time to do a up quick handler.

    cheers,

    bradley
Children
No Data