In your example you call setcellvalue and setcolumnproperty methods before initializing the grid, because the initGrid() is not called before you open tab1. After you have opened it you can call methods which update the grid, like This.
If you need to do this before opening tab1 you should initialize the grid before the tabs, like This.
The tabs content should be initialized either before the jqxTabs or in its initTabContent property.
If you need to edit the columns before opening the tab with the grid for the first time, you can just edit the source variable and then pass it to the initGrid method.
Otherwise, you can update the columns whenever you want after that.