Copy and Pasting not working with virtualized rows

Tags: #<Tag:0x00007efc648dbcd0>

using the configuration below, I am getting 10 rows of data being shown at one time, when I select all lines 20, 500 or 1000. it only copies 10 rows. When I change my height property to auto it starts working again, but I lose virtualization. I have already tried putting height on GridSetting, but it doenst make any difference.

const hotSettings: Handsontable.GridSettings = {
data: tableData,
columns: columnsConfig,
colHeaders: columnHeaders,
columnHeaderHeight: 40,
contextMenu: [‘copy’, ‘cut’],
rowHeaders: true,
search: true,
selectionMode: ‘multiple’,
stretchH: ‘all’,
rowHeights: 40,
manualColumnResize: true,
licenseKey: ‘non-commercial-and-evaluation’,
};

  const CreateTable = () => {
    return (
      <div>
        <HotTable
          ref={Ref}
          settings={hotSettings}
          beforeChange={handleChange}
          height={450}
          licenseKey="non-commercial-and-evaluation"
          afterCellMetaReset={() => (globalFilter ? seachOnTable(Ref, globalFilter) : {})}
        />
      </div>
    );
  };

Hi @ronaldo.jonson

I was trying to recreate your issue in a various possible ways but I wasn’t able to achieve that. Can you please send us a simplified code demo so we can investigate the issue further?

I’ll try, thx for the fast awnser

Unfortunatly I couldn’t reproduce outside of react
:frowning: is there other way to get support?

Hi @ronaldo.jonson based on the support plan that you have we also offer support calls where we try to figure out the cause of a screen sharing session. Could you please share your license ID/license holder email with us at support@handsontable.com?

We haven’t bought it yet, and this test is actually to get to know the product before buying.

I do think I found the awnser though, is it a problem if I don’t use ReactDom.Render()?

I have just tested my application using ReactDOM.render it and the table works as expected. do you know if there is a way to make it work using hooks?

I finally managed to reproduce, in this sandbox coping and pasting sometimes work, and sometimes it doens’t when it does not work you will notice that it didnt update the clipboard, Also when I paste 50k lines handsontable freezes, I have tried everything from the performance docs and it still can’t handle 50k

(edit) when I create the rows with minRows: 50000 then there is no lag at all, but when I try to paste 50k lines on the last row the table freezes.

Thank you for sharing the demo. But I am afraid that I would need a bit more details than

sometimes work, and sometimes it doens’t

is there are frequency of failures when you copy the data? Does not happen on all of the browsers? Do you copy ranges of cells or just one?

ps. yes, the reactDOM.render call is mandatory.

Thx for the response. the error is replicable in all OS’s and Browses. when I try to copy 20+ rows the clipboard sometimes is not updated. it is really weird haha. with 1~15 lines it always works as expected.

About the 50k lines I made a batch script that kinda helped but not too munch, I’ll play around with it to find a solution.

Now the reactDOM.render is being called in my app.ts, but in my project handsontables are used in hooks. so do I really need to create a second instance of react using reactDOM.render a second time?

The reactDOM triggers all of the calculations. I confirmed with my colleague that it has to be called.

So there is no way of using it as a hook?

Hi @ronaldo.jonson

No, unfortunately there’s no such an option.

I’ll keep trying to solve it then, thanks for the help <3. if you want to close this topic it’s okay

Sure, I’m closing the topic then.