Autofill - override

Tags: #<Tag:0x00007fd2c1ca7470>

Can i override the AutoFill behaviour for the below scenario?

I need to appy a specific calculation before autofilling the value in destination cells.

See the attached screenshot. I want to drag the value in JUN column of first row to the columns JUL, AUG and SEP. So i will select JUN cell and drag it to the right to copy the value (40 in this case) to JUL, AUG and SEP columns.

Hoewver, if the column is AUG, i need to copy twice the value in JUN… In other words, it should copy 80 to AUG column and 40 each to JUL and SEP columns. How can i override the default Autofill behaviour?

I tried overriding in beforeAutoFill hook, but no luck. Could you please suggest a possible solution?

Hey @prasanth.sivakumar

you can try with the beforeAutofil hook. You can also try to check the beforeChange hook as it is also responsible for changing the value.

Aleksandra, i tried updating the value to 80 in beforeautoFill hook, however, an AutoFill event is triggered after that (as observed in afterchange) that overwite it back to 40.

onBeforeAutofill = (hotInstance, start, end, data ) => {

var pastePush= [];
var newVal = 80;

pastePush.push([myrow, hotInstance.colToProp(mycol), newVal])

hotInstance.setDataAtRowProp(pastePush, ‘customPaste’);

return true;

}

I’m thinking of overriding this in the afterChnage hook… if it is Autofill, will apply the required calculations there… Any other thoughts?

If there is an afterAutofill hook, that would solve my problem (like afterpaste hook) !!!

Hey @prasanth.sivakumar

there’s no afterAutofill hook. But as you wrote it should be done with the afterChange hook.

It works with afterChange… but considering adding an afterAutoFill hook as a new feature… the more hooks you have, the more flexibility developers will get… Thank you

agree in 100%. I’ve just added the request to our Github board https://github.com/handsontable/handsontable/issues/6135 and set a notification to update this forum topic once we get the new hook ready.