An Error Has Occurred A grid component [label=""] has an invalid value for "totalCount". "totalCount" must not be null or less than the number of items in any of the "data" arrays, but "totalCount" was -1 a

Hi everyone, 

I have seen 2 posts with same error but didn't find any solution that works for my case. 

I have created a view, and a record type with data source is an expression rule that query data from the view. The rule will return me below data subset. When I check the record list, I can see data being presented without any error.  

However, when I create a gridField based on my record type's data, I got this error. I checked and can verify that my data don't contain any duplicated row. Is there any other reason that I should look at?

Thank you,

  Discussion posts and replies are publicly visible

Parents
  • 0
    Certified Senior Developer

    Hello  

    Please share the code snippet from the interface.

  • Here is the code for my interface grid:

    a!gridField(label: "",
          labelPosition: "ABOVE",
          pageSize: local!selectedPageSize,
          data: 'recordType!Record',
          columns: {
            a!gridColumn(
              label: "Case Number",
              sortField: 'recordType!caseNumber',
              value: fv!row[recordType!caseNumber],
              align: "CENTER"
            ),
           a!gridColumn(
              label: "Case Number",
              sortField: 'recordType!caseNumber',
              value: fv!row[recordType!caseNumber],
              align: "CENTER"
            ),
            a!gridColumn(
              label: "Customer",
              sortField: 'recordType!Customer',
              value: fv!row[recordType!Customer],
              align: "CENTER"
            ),
            a!gridColumn(
              label: "Created Date",
              sortField: 'recordType!createdDate',
              value: fv!row[recordType!createdDate],
              align: "CENTER"
            ),
            a!gridColumn(
              label: "Completed Date",
              sortField: 'recordType!completedDate',
              value: fv!row[recordType!completedDate],
              align: "CENTER"
            )}
            )

    And is the code for the query to view. I just fixed the error by changing totalCount to length(local!dataSubset.data) then the grid displayed all data without any error but I couldn't understand why...

    a!localVariables(
      local!dataSubset: a!refreshVariable(
        refreshAlways: rule!GBL_replaceNull(nullableValue: ri!refreshAlways, replacementValue: false),
        refreshInterval: ri!refreshInterval,
        value:rule!AAA_CMN_General_queryEntityHelper(
          refreshAlways: rule!GBL_replaceNull(nullableValue: ri!refreshAlways, replacementValue: false),
        refreshInterval: ri!refreshInterval,
        fetchTotalCount: ri!fetchTotalCount,
        entity: cons!myView,
        columns: ri!columns,
        logicalExpression: a!queryLogicalExpression(
          ignoreFiltersWithEmptyValues: true,
          operator: if(
            rule!AAA_CMN_IsBlank(
              ri!filterOperation
            ),
            "AND",
            ri!filterOperation
          ),
          filters: append(
            {
              a!queryFilter(
                field: "caseId",
                operator: "in",
                value: ri!caseId
              )
            },
            ri!filters
          ),
          logicalExpressions: ri!logicalExpression
        ),
        pagingInfo: if(
          isnull(
            ri!pagingInfo
          ),
          a!pagingInfo(
            startIndex: 1,
            batchSize: -1,
            sort: {
              a!sortInfo(
                field: "caseId",
                ascending: true
              )
            }
          ),
          ri!pagingInfo
        )
      )
      ),
      a!dataSubset(
        startIndex: local!datasubset.startIndex,
        batchSize: local!datasubset.batchSize,
        sort: ri!pagingInfo.sort,
        totalCount: length(local!datasubset.data),
        identifiers: local!datasubset.identifiers,
        data:  fn!cast(
          fn!typeof(
            ri!cdt
          ),
          fn!property(
            local!dataSubset,
            "data",
            null
          )
        )
      )
    )

  • 0
    Certified Senior Developer
    in reply to mollyn126

    is your primary key in your view is unique?

  • 0
    Certified Senior Developer
    in reply to mollyn126

    May I Know what was the previous code used for this one  totalCount: length(local!datasubset.data),

    you can check the column causing the issue ,and add null conditions for that .It could be that some of the filters are causing the result to be different from what you expect.

  • 0
    Certified Senior Developer
    in reply to mollyn126

       Now your grid working as expected?

Reply Children