code: def _cellValue(self, index):
          
          row = index.row()
          col = index.column()
          if (row < 0 or row >= self.rowCount() or col < 0 or col >= self.columnCount()):
              return None
  
          # The check above should have returned None if the sliced array is None
          assert self._slicedArray is not None, "Sanity check failed."
  
          nFields = len(self._fieldNames)
  
          data = self._slicedArray.data
          if self._separateFieldOrientation == Qt.Horizontal:
              dataValue = data[row, col // nFields][self._fieldNames[col % nFields]]
          elif self._separateFieldOrientation == Qt.Vertical:
              dataValue = data[row // nFields, col][self._fieldNames[row % nFields]]
          else:
              dataValue = data[row, col]
  
          return dataValue
docs: Returns the data value of the cell at the index (without any string conversion)