public GridPanel.Builder GridPanelForModel(bool modelOnly = false, bool buildStore = true, bool createColumns = true)
        {
            GridPanel.Builder builder = new GridPanel.Builder();
            var cmp = builder.ToComponent();

            if (buildStore)
            {
                cmp.Store.Add(this.StoreForModel(modelOnly));
            }
            cmp.ViewContext        = this.HtmlHelper.ViewContext;
            cmp.InitForModelOnly   = modelOnly;
            cmp.CreateModelColumns = createColumns;

            var meta = this.HtmlHelper.ViewData.ModelMetadata;

            if (meta.Model != null)
            {
                cmp.InitByObject(meta.Model);
            }
            else
            {
                cmp.InitByType(meta.ModelType);
            }

            return(builder);
        }
        public GridPanel.Builder GridPanelFor <T>(string viewDataKey, bool modelOnly = false, bool buildStore = true, bool createColumns = true) where T : class
        {
            GridPanel.Builder builder = new GridPanel.Builder();
            var cmp = builder.ToComponent();

            if (buildStore)
            {
                cmp.Store.Add(this.StoreFor <T>(viewDataKey, modelOnly));
            }
            cmp.ViewContext        = this.HtmlHelper.ViewContext;
            cmp.InitForModelOnly   = modelOnly;
            cmp.CreateModelColumns = createColumns;
            cmp.InitByObject(this.HtmlHelper.ViewContext.ViewData.Eval(viewDataKey) as IEnumerable <T>);

            return(builder);
        }
        public GridPanel.Builder GridPanelFor(Type type, bool modelOnly = false, bool buildStore = true, bool createColumns = true)
        {
            GridPanel.Builder builder = new GridPanel.Builder();
            var cmp = builder.ToComponent();

            if (buildStore)
            {
                cmp.Store.Add(this.StoreFor(type, modelOnly));
            }

            cmp.ViewContext        = this.HtmlHelper.ViewContext;
            cmp.InitForModelOnly   = modelOnly;
            cmp.CreateModelColumns = createColumns;
            cmp.InitByType(type);

            return(builder);
        }