I think you can implement all of those choices. Please read about Grid Patterns, GoJS Grid Patterns -- Northwoods Software