Yes, indeed if you do not define columns property for the Kendo UI Grid it will use all the fields from the data source and auto generate the columns. Any customization should be set in the columns section, but you do not know the columns beforehand and thus they are not declared initially.
You can try to retrieve and get the columns configuration using ajax request before the grid initialization. Add each field to the columns array and pass that array to the columns configuration in the grid initialization code. Please refer to the http://dojo.telerik.com/AfAqe example for a reference. The columns array is created based on some data and then pass to the columns property in the grid configuration.