your demo also doesn’t work. at line three, the change GBP to sample not applyied.
this is the change you applyied.
[[2,"currencyCode","GBP","sample"]]
this is your output in afterSetDataAtCell
[3,"GBP","GBP","Pound Sterling",0.6396,"GBP / USD","08/19/2015",0]
[[1,"EUR","EUR","Euro",0.9033,"EUR / USD","08/19/2015",0.0026],[2,"JPY","JPY","Japanese Yen",124.387,"JPY / USD","08/19/2015",0.0001],[3,"GBP","GBP","Pound Sterling",0.6396,"GBP / USD","08/19/2015",0],[4,"CHF","CHF","Swiss Franc",0.9775,"CHF / USD","08/19/2015",0.0008],[5,"CAD","CAD","Canadian Dollar",1.3097,"CAD / USD","08/19/2015",-0.0005],[6,"AUD","AUD","Australian Dollar",1.3589,"AUD / USD","08/19/2015",0.002],[7,"NZD","NZD","New Zealand Dollar",1.5218,"NZD / USD","08/19/2015",-0.0036],[8,"SEK","SEK","Swedish Krona",8.528,"SEK / USD","08/19/2015",0.0016],[9,"NOK","NOK","Norwegian Krone",8.2433,"NOK / USD","08/19/2015",0.0008],[10,"BRL","BRL","Brazilian Real",3.4806,"BRL / USD","08/19/2015",-0.0009],[11,"CNY","CNY","Chinese Yuan",6.3961,"CNY / USD","08/19/2015",0.0004],[12,"RUB","RUB","Russian Rouble",65.598,"RUB / USD","08/19/2015",0.0059],[13,"INR","INR","Indian Rupee",65.3724,"INR / USD","08/19/2015",0.0026],[14,"TRY","TRY","New Turkish Lira",2.8689,"TRY / USD","08/19/2015",0.0092],[15,"THB","THB","Thai Baht",35.5029,"THB / USD","08/19/2015",0.0044],[16,"IDR","IDR","Indonesian Rupiah",13.83,"IDR / USD","08/19/2015",-0.0009],[17,"MYR","MYR","Malaysian Ringgit",4.0949,"MYR / USD","08/19/2015",0.001],[18,"MXN","MXN","Mexican New Peso",16.4309,"MXN / USD","08/19/2015",0.0017],[19,"ARS","ARS","Argentinian Peso",9.2534,"ARS / USD","08/19/2015",0.0011],[20,"DKK","DKK","Danish Krone",6.7417,"DKK / USD","08/19/2015",0.0025],[21,"ILS","ILS","Israeli New Sheqel",3.8262,"ILS / USD","08/19/2015",0.0084],[22,"PHP","PHP","Philippine Peso",46.3108,"PHP / USD","08/19/2015",0.0012]]
I think afterSetDataAtCell called before ‘setData’ finished or applied or handsontable has some concurrency problem