protected override GridViewHtmlTable CreateTable(GridViewHtmlTableRenderPart renderPart, string id, WebControl container)
        {
            var result = (ASPxSmartGridViewHtmlTable)null;

            container.Controls.Add(
                result = new ASPxSmartGridViewHtmlTable(RenderHelper, renderPart)
            {
                ID = id
            }
                );

            return(result);
        }
        protected override GridViewHtmlTable CreateTable(GridViewHtmlTableRenderPart renderPart, string id, WebControl container)
        {
            var result = (ASPxSmartGridViewHtmlTable) null;

            container.Controls.Add(
                result = new ASPxSmartGridViewHtmlTable(RenderHelper, renderPart)
                {
                    ID = id
                }
            );
            
            return result;
        }
        protected override void CreateControlHierarchy()
        {
            if (Grid.IsErrorOnCallbackCore)
            {
                return;
            }

            Grid.OnBeforeCreateControlHierarchy();

            if (Grid.Settings.ShowTitlePanel)
            {
                AddControl(new ASPxSmartGridViewHtmlTitle(Grid), "DXTitle");
            }

            if (RequireRenderTopPagerControl)
            {
                AddControl(new GridViewHtmlTopPagerPanel(RenderHelper), "DXTopPagerPanel");
            }

            if (Grid.Settings.ShowGroupPanel)
            {
                Controls.Add(new ASPxSmartGridViewGroupPanel(RenderHelper));
            }

            if (RenderHelper.ShowHorizontalScrolling || RenderHelper.ShowVerticalScrolling)
            {
                AddControl(
                    ScrollableControl = new ASPxSmartGridViewHtmlScrollableControl(RenderHelper),
                    "Scrollable"
                    );
            }
            else
            {
                AddControl(
                    InternalDataTable = new ASPxSmartGridViewHtmlTable(RenderHelper),
                    "DXMainTable"
                    );
            }

            if (RenderHelper.HasFixedColumns)
            {
                AddControl(new GridViewHtmlFixedColumnsScrollableControl(RenderHelper), "FixedColumnsScrollable");
            }

            if (!DesignMode)
            {
                Controls.Add(CreateHiddenImage("IADD", "gvDragAndDropArrowDown"));
                Controls.Add(CreateHiddenImage("IADU", "gvDragAndDropArrowUp"));
                Controls.Add(CreateHiddenImage("IDHF", "gvDragAndDropHideColumn"));
            }

            if (CanRenderPopupControls)
            {
                CreateCustomizationWindow();
                CreatePopupEditForm();
                CreatePopupFilterControlForm();
                CreateHeaderFilterControlPopup();

                if (DataProxy.HasParentRows)
                {
                    Controls.Add(new ASPxSmartGridViewHtmlParentRowsWindow(RenderHelper, DataProxy));
                }
            }

            if (RequireRenderBottomPagerControl)
            {
                AddControl(new GridViewHtmlBottomPagerPanel(RenderHelper), "DXBottomPagerPanel");
            }

            if (RequireRenderFilterBar)
            {
                AddControl(new WebFilterControlPopupRow(Grid), "DXFilterBar");
            }

            if (RequireRenderStatusBar)
            {
                AddControl(new ASPxSmartGridViewHtmlStatusBar(Grid), "DXStatus");
            }

            if (RenderHelper.AllowBatchEditing)
            {
                CreateBatchEditorsContainer();
            }

            CreateLoadingPanel();
            CreateInputControlsAndStyleTable();

            if (RenderHelper.RequireRenderFilterRowMenu)
            {
                Controls.Add(new GridViewFilterRowMenu(Grid));
            }
        }
        protected override void CreateControlHierarchy()
        {
            if (Grid.IsErrorOnCallbackCore) return;

            Grid.OnBeforeCreateControlHierarchy();
            
            if (Grid.Settings.ShowTitlePanel)
                AddControl(new ASPxSmartGridViewHtmlTitle(Grid), "DXTitle");
            
            if (RequireRenderTopPagerControl)
                AddControl(new GridViewHtmlTopPagerPanel(RenderHelper), "DXTopPagerPanel");
            
            if (Grid.Settings.ShowGroupPanel)
                Controls.Add(new ASPxSmartGridViewGroupPanel(RenderHelper));
            
            if (RenderHelper.ShowHorizontalScrolling || RenderHelper.ShowVerticalScrolling)
                AddControl(
                    ScrollableControl = new ASPxSmartGridViewHtmlScrollableControl(RenderHelper), 
                    "Scrollable"
                );
            else
                AddControl(
                    InternalDataTable = new ASPxSmartGridViewHtmlTable(RenderHelper), 
                    "DXMainTable"
                );

            if (RenderHelper.HasFixedColumns)
                AddControl(new GridViewHtmlFixedColumnsScrollableControl(RenderHelper), "FixedColumnsScrollable");
            
            if (!DesignMode)
            {
                Controls.Add(CreateHiddenImage("IADD", "gvDragAndDropArrowDown"));
                Controls.Add(CreateHiddenImage("IADU", "gvDragAndDropArrowUp"));
                Controls.Add(CreateHiddenImage("IDHF", "gvDragAndDropHideColumn"));
            }

            if (CanRenderPopupControls)
            {
                CreateCustomizationWindow();
                CreatePopupEditForm();
                CreatePopupFilterControlForm();
                CreateHeaderFilterControlPopup();
                
                if (DataProxy.HasParentRows)
                    Controls.Add(new ASPxSmartGridViewHtmlParentRowsWindow(RenderHelper, DataProxy));
            }

            if (RequireRenderBottomPagerControl)
                AddControl(new GridViewHtmlBottomPagerPanel(RenderHelper), "DXBottomPagerPanel");
            
            if (RequireRenderFilterBar)
                AddControl(new WebFilterControlPopupRow(Grid), "DXFilterBar");

            if (RequireRenderStatusBar)
                AddControl(new ASPxSmartGridViewHtmlStatusBar(Grid), "DXStatus");

            if (RenderHelper.AllowBatchEditing)
                CreateBatchEditorsContainer();

            CreateLoadingPanel();
            CreateInputControlsAndStyleTable();

            if (RenderHelper.RequireRenderFilterRowMenu)
                Controls.Add(new GridViewFilterRowMenu(Grid));
        }