docs: public void setupSFields()
      {   // Set up the screen fields
          int lastColumn;
          Record record = this.getMainRecord();
          if (record == null)
              return;
          lastColumn = record.getFieldCount() + DBConstants.MAIN_FIELD - 1;
          int iSelectCount = 0;
          for (int iQueryColumn = DBConstants.MAIN_FIELD; iQueryColumn <= lastColumn; iQueryColumn++)
          {
              BaseField field = record.getField(iQueryColumn);
              if (field.isHidden())
                  continue;   // Don't display the counter field
              if (field instanceof ImageField)
                  continue;   // Typically don't display in a grid
              if (field.getMaxLength() > ScreenConstants.MAX_EDIT_LINE_CHARS)
                  continue;   // By default, don't display large fields (speeds up query)
              if (field.isSelected())
                  this.addColumn(field);
              if (iSelectCount++ > 8)
                  break;          // Don't display all the fields (just the first 8?)
          }
      }