/// <summary> /// Raises the <see cref="E:System.Web.UI.Control.PreRender"></see> event. /// </summary> /// <param name="writer">The writer.</param> internal void RenderControl(TextWriter writer) { if (m_EventRanpreRender) { return; } m_EventRanpreRender = true; if (PagerType == PagerType.None || m_PagerGrid.PageSize >= m_PagerGrid.RecordCount) { return; } m_Pages = m_PagerGrid.PageSize == 0 ? 1 : (m_PagerGrid.RecordCount / m_PagerGrid.PageSize); if (m_PagerGrid.RecordCount % m_PagerGrid.PageSize != 0) { m_Pages++; } PreviousTemplate = string.Format(PreviousTemplate, ImagePath, m_PagerGrid.GetSystemMessage("Prev")); NextTemplate = string.Format(NextTemplate, ImagePath, m_PagerGrid.GetSystemMessage("Next")); FirstTemplate = string.Format(FirstTemplate, ImagePath, m_PagerGrid.GetSystemMessage("First")); LastTemplate = string.Format(LastTemplate, ImagePath, m_PagerGrid.GetSystemMessage("Last")); writer.Write("<table class=\"wgpager\"><tr>"); if (PagerType != PagerType.RangedSlider) { if (DisplayFirstLast /*&& !(PagerType == PagerType.DropDown && CompactDropDown)*/) { writer.Write("<td>{0}</td>", Buttons.Anchor(m_PagerGrid, FirstTemplate, "PagerClick", new[] { "1" }, null, m_PagerGrid.GetSystemMessage("First"), m_PagerGrid.GetSystemMessageClass("First", "ui-icon ui-icon-seek-first"), null, false)); } if (DisplayPreviousNext /*&& !(PagerType == PagerType.DropDown && CompactDropDown)*/) { writer.Write("<td>{0}</td>", Buttons.Anchor(m_PagerGrid, PreviousTemplate, "PagerClick", new[] { (m_PagerGrid.PageIndex - 1).ToString() }, null, m_PagerGrid.GetSystemMessage("Prev"), "ui-icon ui-icon-seek-prev", null, false)); } } switch (PagerType) { case PagerType.DropDown: writer.Write("<td>"); writer.Write(CreateDropDownPager(DisplayAll)); writer.Write("</td>"); break; case PagerType.Slider: case PagerType.RangedSlider: writer.Write("<td>"); writer.Write(CreateSlider()); writer.Write("</td>"); break; default: writer.Write(CreateBarPager(DisplayAll)); break; } if (PagerType != PagerType.RangedSlider) { if (DisplayPreviousNext /*&& !(PagerType == PagerType.DropDown && CompactDropDown)*/) { int next = (m_PagerGrid.PageIndex + 1); if (next > m_Pages) { next = m_Pages; } writer.Write("<td>{0}</td>", Buttons.Anchor(m_PagerGrid, NextTemplate, "PagerClick", new[] { (next).ToString() }, null, m_PagerGrid.GetSystemMessage("Next"), m_PagerGrid.GetSystemMessageClass("Next", "ui-icon ui-icon-seek-next"), null, false)); } if (DisplayFirstLast /*&& !(PagerType == PagerType.DropDown && CompactDropDown)*/) { writer.Write("<td>{0}</td>", Buttons.Anchor(m_PagerGrid, LastTemplate, "PagerClick", new[] { m_Pages.ToString() }, null, m_PagerGrid.GetSystemMessage("Last"), m_PagerGrid.GetSystemMessageClass("Last", "ui-icon ui-icon-seek-end"), null, false)); } } writer.Write("</tr></table>"); }
internal override void RenderLabelView(WebGridHtmlWriter writer, RowCell cell) { if (cell == null) { return; } switch (SystemColumnType) { case Enums.SystemColumn.PagerColumn: if (Grid.RecordCount > Grid.PageSize) { return; } cell.Row.m_Table.m_Grid.PagerSettings.SliderOperation = System.Web.UI.WebControls.Orientation.Vertical; writer.Write(cell.Row.m_Table.m_Grid.PagerSettings.GetPager); cell.Row.m_Table.m_Grid.PagerSettings.PagerType = PagerType.None; break; case Enums.SystemColumn.SelectColumn: writer.Write( SelectableRows.GetItemCheckbox(Grid, cell.Row.PrimaryKeyValues, string.Empty, Grid.ColorToHtml(Grid.SelectRowColor))); break; case Enums.SystemColumn.DeleteColumn: if (cell.Row.AllowDelete == false) { Visibility = Visibility.None; Title = null; } else { string strConfirmDelete = Grid.GetSystemMessage("ConfirmDelete"); if (Html == null) { writer.Write(Buttons.Anchor(Grid, " ", "RecordDeleteClick", new[] { cell.Row.PrimaryKeyValues }, strConfirmDelete, Grid.GetSystemMessage("DeleteRow"), "ui-icon ui-icon-trash", null, false)); } else { writer.Write( Buttons.TextButtonControl(Grid, Html, "RecordDeleteClick", new[] { cell.Row.PrimaryKeyValues }, null, strConfirmDelete)); } } break; case Enums.SystemColumn.SpacingColumn: WidthColumnHeaderTitle = System.Web.UI.WebControls.Unit.Empty; writer.Write(" "); break; case Enums.SystemColumn.CopyColumn: if (cell.Row.AllowCopy == false) { Visibility = Visibility.None; Title = null; } else { const string strConfirmCopy = null; if (Html == null) { writer.Write( Buttons.Anchor(Grid, " ", "RecordCopyClick", new[] { string.Empty, cell.Row.PrimaryKeyValues }, strConfirmCopy, Grid.GetSystemMessage("CopyRow"), "ui-icon ui-icon-copy", null, false)); } else { writer.Write( Buttons.TextButtonControl(Grid, Html, "RecordCopyClick", new[] { string.Empty, cell.Row.PrimaryKeyValues }, null, strConfirmCopy)); } } break; case Enums.SystemColumn.NewRecordColumn: if (Grid.AllowNew == false) { Visibility = Visibility.None; Title = null; } else { if (Html == null) { writer.Write( Buttons.TextButtonControl(Grid, Grid.GetSystemMessage("NewRecord"), "NewRecordClick", new string[] { }, Grid.GetSystemMessageClass("NewRecord", "wgnewrecord"))); } else { writer.Write( Buttons.TextButtonControl(Grid, Html, "NewRecordClick", new string[] { }, Grid.GetSystemMessageClass("NewRecord", "wgnewrecord"))); } } break; case Enums.SystemColumn.UpdateGridRecordsColumn: if (Grid.AllowUpdate == false) { Visibility = Visibility.None; Title = null; } else { if (Html == null) { writer.Write( Buttons.TextButtonControl(Grid, Grid.GetSystemMessage("UpdateRows"), "UpdateRowsClick", new string[] { }, Grid.GetSystemMessageClass("UpdateRows", "wgUpdateRows"))); } else { writer.Write( Buttons.TextButtonControl(Grid, Html, "UpdateRowsClick", new string[] { }, Grid.GetSystemMessageClass("UpdateRows", "wgUpdateRows"))); } } break; case Enums.SystemColumn.UpdateGridRecordColumn: if (Grid.AllowUpdate == false) { Visibility = Visibility.None; Title = null; } else { StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); System.Web.UI.HtmlTextWriter textwriter = new System.Web.UI.HtmlTextWriter(sw); if (Html == null) { textwriter.Write(Buttons.TextButtonControl(Grid, Grid.GetSystemMessage("UpdateRow"), "UpdateRowClick", new[] { cell.Row.PrimaryKeyValues }, Grid.GetSystemMessageClass("UpdateRow", "wgUpdateRow"))); } else { textwriter.Write(Buttons.TextButtonControl(Grid, Html, "UpdateRowClick", new[] { cell.Row.PrimaryKeyValues }, Grid.GetSystemMessageClass("UpdateRow", "wgUpdateRow"))); } writer.Write(sb); } break; } // base.RenderLabelView(writer,cell); RenderGrid(null, writer, cell); }
internal override void RenderEditView(WebGridHtmlWriter writer, RowCell cell) { if (Identity || AllowEdit == false || (Grid.DisplayView == DisplayView.Grid && AllowEditInGrid == false)) { RenderLabelView(writer, cell); return; } #region Number Swap if (NumberSwap) { try { if (Grid.DisplayView == DisplayView.Detail) { return; } StringBuilder tmp = new StringBuilder(); string buttonup = null; string buttondown = null; int myinx = m_Table.Rows.IndexOf(cell.Row); if (myinx == -1) { throw new GridException("Could not locate row"); } if (myinx <= m_Table.Rows.Count - 1 && myinx != 0) { string value = m_Table.Rows[myinx - 1][ColumnId].Value != null ? m_Table.Rows[myinx - 1][ColumnId].Value.ToString() : cell.Row.RowIndex.ToString(); string myvalue = cell.Value != null?cell.Value.ToString() : "0"; buttonup = Buttons.TextButtonControl(Grid, string.Format(@"<span title=""push row one step up"" class=""ui-icon ui-icon-triangle-1-n""/>"), "columnpushup", new[] { cell.Row.PrimaryKeyValues, m_Table.Rows[myinx - 1].PrimaryKeyValues, ColumnId, myvalue, value }, Grid.GetSystemMessageClass("UpdateRow", "wgUpdateRow")); } if (myinx != m_Table.Rows.Count - 1) { string value = m_Table.Rows[myinx + 1][ColumnId].Value != null ? m_Table.Rows[myinx + 1][ColumnId].Value.ToString() : cell.Row.RowIndex.ToString(); string myvalue = cell.Value != null?cell.Value.ToString() : "0"; buttondown = Buttons.TextButtonControl(Grid, string.Format(@"<span title=""push row one step down"" class=""ui-icon ui-icon-triangle-1-s""/>"), "columnpushdown", new[] { cell.Row.PrimaryKeyValues, m_Table.Rows[myinx + 1].PrimaryKeyValues, ColumnId, myvalue, value }, Grid.GetSystemMessageClass("UpdateRow", "wgUpdateRow")); } if (buttonup != null && buttondown != null) { tmp.AppendFormat("<table cellspacing=\"0\" cellpadding=\"0\" class=\"wgrowpush\"><tr><td>{0}</td><td>{1}</td></tr></table>", buttonup, buttondown); } else if (buttonup != null) { tmp.Append(buttonup); } else if (buttondown != null) { tmp.Append(buttondown); } RenderGrid(tmp.ToString(), writer, cell); } catch (Exception ex) { throw new GridException(ex.ToString()); } return; } #endregion base.RenderEditView(writer, cell); }