/// <summary> /// Método acionado quando a grid for iniciada. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Initialize(System.Web.UI.WebControls.GridView grid) { if (ShowHeader || ShowFooter) { var table = grid.CreateChildTable(); var fields = new System.Web.UI.WebControls.DataControlField[grid.Columns.Count]; grid.Columns.CopyTo(fields, 0); if (ShowHeader) { // cria a linha do cabeçalho var headerRow = grid.CreateRow(-1, -1, System.Web.UI.WebControls.DataControlRowType.Header, System.Web.UI.WebControls.DataControlRowState.Normal); grid.InitializeRow(headerRow, fields); table.Rows.Add(headerRow); } //create the empty row var emptyRow = new System.Web.UI.WebControls.GridViewRow(-1, -1, System.Web.UI.WebControls.DataControlRowType.EmptyDataRow, System.Web.UI.WebControls.DataControlRowState.Normal); var cell = new System.Web.UI.WebControls.TableCell(); cell.ColumnSpan = grid.Columns.Count; cell.Width = System.Web.UI.WebControls.Unit.Percentage(100); if (!String.IsNullOrEmpty(grid.EmptyDataText)) { cell.Controls.Add(new System.Web.UI.LiteralControl(grid.EmptyDataText)); } if (grid.EmptyDataTemplate != null) { grid.EmptyDataTemplate.InstantiateIn(cell); } emptyRow.Cells.Add(cell); table.Rows.Add(emptyRow); if (ShowFooter) { // Cria a linha do rodapé var footerRow = grid.CreateRow(-1, -1, System.Web.UI.WebControls.DataControlRowType.Footer, System.Web.UI.WebControls.DataControlRowState.Normal, false, null, fields, table.Rows, null); footerRow.ID = grid.ID + "_footer"; // Define a linha do rodapé grid.SetFooterRow(footerRow); } _gridTable = table; } }