Contents not displayed when records exceed a certain number.

Hi, 

I have a simple Vue datagrid that displays search results. When the number of results exceeds a certain number, the actual results do not appear. While I have no way of knowing the exact barrier, something in the neighborhood of 1100 results display correctly, but 1300 results do not.

The pagination links show correctly, and the pagination info (1 of 66 pages, 1316 items) is correct. The column headers are correct. But the grid itself shows "No records to display," regardless of which page is chosen. The objects passed to the grid are identical; only the number of objects in the array varies.

The basic column structure is as follows:

<e-columns>
<e-column field="MLCaseIdentifier" headerText="Case No." width=110 :allowFiltering=false></e-column>
<e-column field="Client" headerText="Client" :allowFiltering=false></e-column>
<e-column field="Attorney" headerText="Attorney"></e-column>
<e-column field="Status" headerText="Status" :allowFiltering=false></e-column>
<e-column field="CaseType" headerText="Case Type" width=140></e-column>
<e-column field="CaseManager" headerText="Case Mgr."></e-column>
<e-column field="Market" headerText="Market"></e-column>
<e-column field="TotalBilled" headerText="Billed" textAlign="right" width=120 format='C2' :allowFiltering=false></e-column>
<e-column field="TotalPaid" headerText="Paid" textAlign="right" width=120 format='C2' :allowFiltering=false></e-column>
<e-column field="IncidentDate" headerText="Inc. Date" format="yMd" type="date" textAlign="right" :allowFiltering=false></e-column>
<e-column field="ApprovalDate" headerText="Appr. Date" format="yMd" type="date" textAlign="right" :allowFiltering=false></e-column>
<e-column field="SubmissionDate" headerText="Sub. Date" format="yMd" type="date" textAlign="right" :allowFiltering=false></e-column>
<e-column field="DemandAmt" headerText="Demand" textAlign="right" width=120 format='C2' :allowFiltering=false></e-column>
</e-columns>




8 Replies

TM Tom McNeer May 26, 2020 09:36 PM UTC

This isn't an answer, but I don't seem to be able to edit the original post.

I have now experienced the same issue, unrelated to the number of results, which leads me to look at a different cause. Could an error in parsing the property for a column cause this behavior?


TM Tom McNeer May 26, 2020 10:01 PM UTC

I have determined that when a column defined with a currency format (C2) receives an empty string, it appears to cause a silent parsing error which aborts the rendering of the grid. Could you please confirm this for me? Thank you.


SK Sujith Kumar Rajkumar Syncfusion Team May 27, 2020 07:25 AM UTC

Hi Tom, 
 
Greetings from Syncfusion support. 
 
Before proceeding further could you please share us the following information, 
 
  • By search results are not returned properly – Do you mean the Grid searching or Grid filtering functionality?
  • Have you bound local or remote data to the Grid? If remote data what adaptor are you using?
  • Can you provide a video demonstration of the problem.
  • Entire Grid code file.
  • We are not able to clearly understand this query – I have determined that when a column defined with a currency format (C2) receives an empty string, it appears to cause a silent parsing error which aborts the rendering of the grid. So can you please elaborate on this and let us know if you are saying that this might be the cause for your first problem also?
  • Syncfusion package version used.
 
The above details will help us to understand your problem better so that we can provide you the proper solution. 
 
Let us know if you have any concerns. 
 
Regards, 
Sujith R 



TM Tom McNeer May 27, 2020 01:23 PM UTC

First, let me clarify one thing: while my original post indicated that the issue appeared to stem from the number of records passed to the grid as a datasource, I later found that to be incorrect. The issue seems to come from the way an empty string is handled in a C2-formatted column.

When I say that search results are not displayed, I'm referring to the results returned from a server-side query. The results are returned in an array of JSON objects, each of which is properly formed. I can provide you entire code samples and videos, but I don't believe it's necessary. I can easily demonstrate here the problem I've found. If you refer to the original column structure I submitted, you will see that the last column, using the data field "DemandAmt" has a C2 format.

In some records, the database value for this field is null. This is serialized in the JSON object as an empty string. When an object for the grid has this structure, as shown below, the grid is empty. (Although as noted earlier, the pagination and total items are correct.) This occurs when any object in the array has an empty string for this field.

So when the following object appears within the array:

{ApprovalDate: "July, 12 2019 07:40:00",
  1. Attorney"Lee Arter",
  2. CaseID17457,
  3. CaseManager"Santiago Figueroa",
  4. CaseType"Imaging Fresno",
  5. Client" FRANCISCA AVILA",
  6. DemandAmt: "",
  7. IncidentDate"",
  8. MLCaseIdentifier"ML18457",
  9. Market"California",
  10. Status"Active-Pending Settlement",
  11. SubmissionDate"July, 12 2019 07:40:00",
  12. TotalBilled405,
  13. TotalPaid195 
  14. }
... the grid displays no records, even though other objects in the array have a numerical value for DemandAmt. The attached screenshot shows this behavior. You can see that the footer displays "5 items," while the main grid area shows "No records to display."

When the server-side code is modified to return a zero rather than a null for that field, the grid displays correctly. So clearly, the empty string in a column with C2 formatting causes a problem. This behavior occurs whether or not the column is typed as a number..

Interestingly, the problem does not occur with date formatting. Again, referring to the original column structure, you will see three columns typed as dates with a specified display format. In the object above. the IncidentDate field contains an empty string. Yet the grid displays correctly, simply ignoring the empty string.

Please confirm that you see the same behavior. It seems to me that the currency-formatted field should operate the same as the date field, ignoring empty strings.


Attachment: Screen_Shot_20200527_at_9.14.49_AM.png_23b317e2.zip


SK Sujith Kumar Rajkumar Syncfusion Team May 28, 2020 09:57 AM UTC

Hi Tom, 

Thanks for the information. 

We have confirmed that the reported behavior is an issue from our side and logged a bug report for the same as “Grid current view data not rendered when it has empty value for certain column formats”. At Syncfusion, we are committed to fixing all validated defects (subject to technological feasibility and Product Development Life Cycle ) and will include the defect fix in our patch release which is scheduled to roll out on June 10th 2020. 

You can now track the current status of your request, review the proposed resolution timeline, and contact us for any further inquiries through this link.  
 

Let us know if you have any concerns. 

Regards, 
Sujith R 



TM Tom McNeer May 28, 2020 01:11 PM UTC

Thanks very much for confirming the behavior, and for putting it into a queue for a fix.


SK Sujith Kumar Rajkumar Syncfusion Team May 29, 2020 07:21 AM UTC

Hi Tom, 

We are glad to hear that. We will inform you once the fix has been rolled out in our SP release. 

Regards, 
Sujith R 



SK Sujith Kumar Rajkumar Syncfusion Team June 10, 2020 06:27 AM UTC

Hi Tom, 

We are glad to announce that our Essential JavaScript2 patch release (v18.1.56) has been rolled out successfully. In this release we have fixed the reported issue “Grid current view data not rendered when it has empty value for certain column formats”. So kindly upgrade to this version to resolve the reported issue. Please find the release notes regarding the same from below  



We thank you for your support and appreciate your patience in waiting for this release. Please get in touch with us if you would require any further assistance. 

Regards, 
Sujith R 


Loader.
Up arrow icon