コード例 #1
0
        /// <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>");
        }
コード例 #2
0
ファイル: SystemColumn.cs プロジェクト: yuva2achieve/WebGrid
        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("&nbsp;");
                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);
        }
コード例 #3
0
ファイル: Number.cs プロジェクト: yuva2achieve/WebGrid
        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);
        }