I'm new with dojo.
I have to make a grid, in which user would be able to add/move/remove columns.
Add/remove action refers to operations on some predefined set of columns (predefined when structure object is created) , by "move" i mean changing their sequence of appearance in drag and drop way.
My question: Is there any build-in mechanism in dojo which provides such kind of functionality in grid or do i have to make it from scratch ?

I don't believe there is a
I don't believe there is a built-in way, so you would probably need to:
1. create a new structure, reflecting the modified view of the Grid.
2. do a grid.setStructure(newStructure).
3. do a grid.refresh().
...or similar.
I had this working but...
I had something like this working just as frankf described however ran into problems once I made the grid editable. I guess my point is that for a readonly grid, this is fairly simple - but for an editable grid, I had issues and didn't have enough time to dig in and get it fixed (although I may have to revisit this again later this week).