question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Bottom Rows Disappear

See original GitHub issue

Originally I had labelled this ticket as bottom rows disappear on fast scroll, but as you can see with my comment below I’m also experiencing the same issue when the window is much larger (without even scrolling).

When scrolling rather quickly, the bottom rows are disappearing/showing as white space.

I’m using the stock standard 4.2.1 template.

I have tried this with large and small data sets alike, still the same problem. There are two screen shots attached to demonstrate.

Table construct is below.

var table = new Tabulator
(
	"#example-table",
	{
 		height:(window.innerHeight)-20, // I need a slim buffer before the footer of my window
		headerFilterPlaceholder: '',
		selectable:1,
		data: [**Data** ] ,
		dataTree:true,
		dataTreeStartExpanded:true,
		dataTreeBranchElement: false,
		dataTreeChildIndent: 25,
		dataTreeCollapseElement: !1,
		dataTreeStartExpanded: !0,
 		layout:"fitColumns",
 		columns:[ **Columns** ],
		rowFormatter:function(row)
		{
			var rowColor = row.getData().color
			row.getElement().style.backgroundColor = rowColor;
		},

	}
);

I have tested this on both IE and Safari.

fast scroll slow scroll

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Comments:6 (2 by maintainers)

github_iconTop GitHub Comments

1reaction
mariusroetscommented, Apr 24, 2019

Hi,

I would like to reopen this issue, as I’m experiencing the same problem. I have a large table with a few 1000 rows. Upon loading it looks fine, and if I scroll slowly, it remains ok. When I scroll faster however, the bottom rows disappear.

Before scroll: tabulator1

After scroll: tabulator2

The table construction is really simple (There is only a 100 rows in this example, but it illustrates the issue):

<script>
    var tabledata = [{"id": 1231, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0610405064"}, {"id": 1232, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0610405064"}, {"id": 1233, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0610405064"}, {"id": 1234, "resource_name": "METER", "right": "W", "facility_type": "SUPPLY_POINT", "facility_id": "0510001876"}, {"id": 1235, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0510001876"}, {"id": 1236, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0510001876"}, {"id": 1237, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0510001876"}, {"id": 1238, "resource_name": "METER", "right": "W", "facility_type": "SUPPLY_POINT", "facility_id": "4054303418"}, {"id": 1239, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "4054303418"}, {"id": 1240, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "4054303418"}, {"id": 1241, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "4054303418"}, {"id": 1242, "resource_name": "METER", "right": "W", "facility_type": "SUPPLY_POINT", "facility_id": "0590502276"}, {"id": 1243, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0590502276"}, {"id": 1244, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0590502276"}, {"id": 1245, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0590502276"}, {"id": 1246, "resource_name": "METER", "right": "W", "facility_type": "SUPPLY_POINT", "facility_id": "0620389244"}, {"id": 1247, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0620389244"}, {"id": 1248, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0620389244"}, {"id": 1249, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0620389244"}, {"id": 1250, "resource_name": "METER", "right": "W", "facility_type": "SUPPLY_POINT", "facility_id": "0610352573"}, {"id": 1251, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0610352573"}, {"id": 1252, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0610352573"}, {"id": 1253, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0610352573"}, {"id": 1254, "resource_name": "METER", "right": "W", "facility_type": "SUPPLY_POINT", "facility_id": "0610364521"}, {"id": 1255, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0610364521"}, {"id": 1256, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0610364521"}, {"id": 1257, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0610364521"}, {"id": 1258, "resource_name": "METER", "right": "W", "facility_type": "SUPPLY_POINT", "facility_id": "0570995980"}, {"id": 1259, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0570995980"}, {"id": 1260, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0570995980"}, {"id": 1261, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0570995980"}, {"id": 1262, "resource_name": "METER", "right": "W", "facility_type": "SUPPLY_POINT", "facility_id": "0610182743"}, {"id": 1263, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0610182743"}, {"id": 1264, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0610182743"}, {"id": 1265, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0610182743"}, {"id": 1266, "resource_name": "METER", "right": "W", "facility_type": "SUPPLY_POINT", "facility_id": "0640007911"}, {"id": 1267, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0640007911"}, {"id": 1268, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0640007911"}, {"id": 1269, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0640007911"}, {"id": 1270, "resource_name": "METER", "right": "W", "facility_type": "SUPPLY_POINT", "facility_id": "0510003698"}, {"id": 1271, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0510003698"}, {"id": 1272, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0510003698"}, {"id": 1273, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0510003698"}, {"id": 1274, "resource_name": "METER", "right": "W", "facility_type": "SUPPLY_POINT", "facility_id": "0510003650"}, {"id": 1275, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0510003650"}, {"id": 1276, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0510003650"}, {"id": 1277, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0510003650"}, {"id": 1278, "resource_name": "METER", "right": "W", "facility_type": "SUPPLY_POINT", "facility_id": "610225831"}, {"id": 1279, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "610225831"}, {"id": 1280, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "610225831"}, {"id": 1281, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "610225831"}, {"id": 1282, "resource_name": "METER", "right": "W", "facility_type": "SUPPLY_POINT", "facility_id": "0610246463"}, {"id": 1283, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0610246463"}, {"id": 1284, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0610246463"}, {"id": 1285, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0610246463"}, {"id": 1286, "resource_name": "METER", "right": "W", "facility_type": "SUPPLY_POINT", "facility_id": "0650918902"}, {"id": 1287, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0650918902"}, {"id": 1288, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0650918902"}, {"id": 1289, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0650918902"}, {"id": 1290, "resource_name": "METER", "right": "W", "facility_type": "SUPPLY_POINT", "facility_id": "0610182989"}, {"id": 1291, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0610182989"}, {"id": 1292, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0610182989"}, {"id": 1293, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0610182989"}, {"id": 1294, "resource_name": "METER", "right": "W", "facility_type": "SUPPLY_POINT", "facility_id": "0640020051"}, {"id": 1295, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0640020051"}, {"id": 1296, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0640020051"}, {"id": 1297, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0640020051"}, {"id": 1298, "resource_name": "METER", "right": "W", "facility_type": "SUPPLY_POINT", "facility_id": "0520010747"}, {"id": 1299, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0520010747"}, {"id": 1300, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0520010747"}, {"id": 1301, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0520010747"}, {"id": 1302, "resource_name": "METER", "right": "W", "facility_type": "SUPPLY_POINT", "facility_id": "0620386986"}, {"id": 1303, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0620386986"}, {"id": 1304, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0620386986"}, {"id": 1305, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0620386986"}, {"id": 1306, "resource_name": "METER", "right": "W", "facility_type": "SUPPLY_POINT", "facility_id": "0520011214"}, {"id": 1307, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0520011214"}, {"id": 1308, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0520011214"}, {"id": 1309, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0520011214"}, {"id": 1310, "resource_name": "METER", "right": "W", "facility_type": "SUPPLY_POINT", "facility_id": "0590361222"}, {"id": 1311, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0590361222"}, {"id": 1312, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0590361222"}, {"id": 1313, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0590361222"}, {"id": 1314, "resource_name": "METER", "right": "W", "facility_type": "SUPPLY_POINT", "facility_id": "0520011146"}, {"id": 1315, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0520011146"}, {"id": 1316, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0520011146"}, {"id": 1317, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0520011146"}, {"id": 1318, "resource_name": "METER", "right": "W", "facility_type": "SUPPLY_POINT", "facility_id": "4056923269"}, {"id": 1319, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "4056923269"}, {"id": 1320, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "4056923269"}, {"id": 1321, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "4056923269"}, {"id": 1322, "resource_name": "METER", "right": "W", "facility_type": "SUPPLY_POINT", "facility_id": "0570994727"}, {"id": 1323, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0570994727"}, {"id": 1324, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0570994727"}, {"id": 1325, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0570994727"}, {"id": 1326, "resource_name": "METER", "right": "W", "facility_type": "SUPPLY_POINT", "facility_id": "0570615611"}, {"id": 1327, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0570615611"}, {"id": 1328, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0570615611"}, {"id": 1329, "resource_name": "METER", "right": "R", "facility_type": "SUPPLY_POINT", "facility_id": "0570615611"}, {"id": 1330, "resource_name": "METER", "right": "W", "facility_type": "SUPPLY_POINT", "facility_id": "0650928008"}];
    var table = new Tabulator("#table", {
        height: 600,
        layout: "fitColumns",
        movableColumns: true,
        columns: [
            {title: "Id", field: "id"},
            {title: "Resource Name", field: "resource_name"},
            {title: "Right", field: "right"},
            {title: "Facility Type", field: "facility_type"},
            {title: "Facility Id", field: "facility_id"},
        ]
    });
    table.setData(tabledata);
</script>

This is on Firefox and Tabulator 4.2.3

Edit: Just to make @olifolkerd 's answer clear. If I understand correctly, after the data changes, a redraw is required (he mentions resizing, but I assume this refers to resizing the amount of data, not the physical table size, which is what I originally misunderstood.) To fix my code above I had to add:

table.redraw();

after

table.setData(tabledata);

This solved the problem, and it is working fine now.

0reactions
fr0z3nfyrcommented, Apr 5, 2019

Thanks for the reply @olifolkerd

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . EDIT: I did see that you specifically mentioned redraw function. I just wanted to know if this will cause any performance issues or can fail sometimes. Also, wanted to verify from you that the way I’m using it is correct. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

So, are you suggesting that a redraw() should be enough to handle this or there is a specific resize function available? I did it like this:

new Tabulator('#example-table', {
    ...
}).redraw();        // <--- this here

This seemed to work (although, it didn’t work the first time but worked after a CTRL+F5) but I’m not sure if this the best way or is it working just by fluke and may fail in some edge cases! Do I also need to add an event listener for each .tabulator-data-tree-control to make sure a redraw is done on every expand/collapse? To achieve that, I had something like below in mind:

let exCl = document.querySelectorAll('.tabulator-data-tree-control');
Array.prototype.forEach.call(exCl, function(element, index) {
	element.addEventListener('click', function(){
	    table.redraw();
	});
});

Is there a specific resize call available like redraw that must be called. From docs, I could only find about autoResize:true, // auto resizing of table setting in available in table configuration, which I doubt is what you were suggesting. Anyway, I believe that it is set to true by default. If this not how it must be done, can you point me in right direction?

Read more comments on GitHub >

github_iconTop Results From Across the Web

My Excel Columns Or Rows Not Hidden But Missing?!
This means that if there are rows/columns that are not visible to either the left or top of your spreadsheet, these cells will...
Read more >
Rows "disappeared" from excel Spreadsheet
I've been asked to investigate an Excel issue about "disappearing rows" In a spreadsheet with several thousand rows , the first few hundred ......
Read more >
Delete all the extra blank rows at the bottom of spreadsheet
Press function key F5 - a "Go To" panel will be displayed. Select "Special...", then "Last cell", then "OK" - the "Go To"...
Read more >
How to hide and unhide rows in Excel - Ablebits
The tutorial shows how to quickly hide and unhide rows in Excel: show ... row and hold down the Shift key while selecting...
Read more >
3 Ways to Unhide Rows in Excel - wikiHow
1. Open the Excel document. Double-click the Excel document that you want to use to open it in Excel. 2. Find the hidden...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found