public virtual void DetectIsCrossColumn(BaseJournalControl control, string crossColumnName)
 {
     foreach (var column in GetColumns())
     {
         column.DetectIsCrossColumn(control, crossColumnName);
     }
 }
Пример #2
0
 public override int GetRowsCount(object row, object item, object journalRow, BaseJournalControl journal, string crossColumnId, object[] groupValues)
 {
     if (groupValues != null)
     {
         return(GetRowsCount(journal, groupValues, crossColumnId));
     }
     return(1);
 }
Пример #3
0
        public static void SaveSettings(BaseJournalControl journal, string argument, ILogMonitor logMonitor, LogMessageType logMessageType)
        {
            var jss          = new JavaScriptSerializer();
            var saveArgument = jss.Deserialize <SaveArgument>(argument);
            var properties   = RvsSavedProperties.GetFromJournal(journal.ParentUserControl);

            logMonitor.Log(new LogMessageEntry(logMessageType, properties.NameRu, properties));
            properties.SaveWithViewSettings(saveArgument, "Cross:" + journal.GetType().FullName);
        }
Пример #4
0
        private static void LoadSettings(BaseJournalControl control, string argument, ILogMonitor logMonitor, LogMessageType logMessageType)
        {
            var jss          = new JavaScriptSerializer();
            var loadArgument = jss.Deserialize <LoadArgument>(argument);

            if (loadArgument.id.HasValue)
            {
                var properties = RvsSavedProperties.LoadBySavedViewSettings(loadArgument.id.Value, null);
                properties.StorageValues = null;
                logMonitor.Log(new LogMessageEntry(logMessageType, properties.NameRu, properties));
                properties.SetToJournal(control.ParentUserControl, !loadArgument.loadFilters, true);
            }
        }
Пример #5
0
 public void Init(ResourceManager resourceManager, BaseJournalControl journalControl)
 {
     JournalControl = journalControl;
     if (ResourceManager == null)
     {
         ResourceManager = resourceManager;
     }
     foreach (var child in GetChilds())
     {
         child.Parent = this;
         child.Init(resourceManager, journalControl);
     }
 }
Пример #6
0
        private void RenderHeaderOrder(HtmlTextWriter writer, string orderByColumn, BaseJournalControl journalControl)
        {
            string argument;
            string postBack;
            string title;
            string src;

            writer.AddStyleAttribute("writing-mode", "");
            writer.AddStyleAttribute("filter", "");
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            #region order by column asc

            if (journalControl.OrderByColumns.Contains(orderByColumn))
            {
                title    = Resources.SOrderByColumnRemove;
                argument = string.Format(BaseJournalControl.OrderByColumnRemove, orderByColumn);
                src      = Themes.IconUrlOrderByColumnAscSelected;
            }
            else
            {
                title    = Resources.SOrderByColumn;
                argument = string.Format(BaseJournalControl.OrderByColumnAsc, orderByColumn);
                src      = Themes.IconUrlOrderByColumnAsc;
            }
            postBack = journalControl.Page.ClientScript.GetPostBackClientHyperlink(journalControl, argument);
            RenderAImage(writer, postBack, title, src);

            #endregion

            #region order by column desc

            if (journalControl.OrderByColumns.Contains(orderByColumn + " desc"))
            {
                title    = Resources.SOrderByColumnRemove;
                argument = string.Format(BaseJournalControl.OrderByColumnRemove, orderByColumn);
                src      = Themes.IconUrlOrderByColumnDescSelected;
            }
            else
            {
                title    = Resources.SOrderByColumnDesc;
                argument = string.Format(BaseJournalControl.OrderByColumnDesc, orderByColumn);
                src      = Themes.IconUrlOrderByColumnDesc;
            }
            postBack = journalControl.Page.ClientScript.GetPostBackClientHyperlink(journalControl, argument);
            RenderAImage(writer, postBack, title, src);

            #endregion

            writer.RenderEndTag(); //DIV
        }
Пример #7
0
 public override int GetRowsCount(object row, object item, object journalRow, BaseJournalControl journal, string crossColumnId, object[] groupValues)
 {
     if (groupValues != null)
     {
         if (ColumnAggregateRowsCountHandler != null)
         {
             return(ColumnAggregateRowsCountHandler(journal, groupValues));
         }
         return(GetRowsCount(journal, groupValues, crossColumnId));
     }
     if (ColumnRowsCountHandler != null)
     {
         return(ColumnRowsCountHandler((TDataRow)row));
     }
     return(1);
 }
Пример #8
0
 public void PreRender(Dictionary <string, BaseColumn> columnsDic, BaseJournalControl journalControl)
 {
     /*if (!HideInHeader && !string.IsNullOrEmpty(ColumnKey))
      * {
      *  var clientID = journalControl.ClientID + "_th_" + ColumnKey;
      *  var extender = new ResizableControlExtender
      *                     {
      *                         MinimumWidth = 0,
      *                         MinimumHeight = 0,
      *                         MaximumWidth = 2000,
      *                         MaximumHeight = 400,
      *                         BehaviorID = clientID + "_b",
      *                         HandleCssClass = "HandleCssClass",
      *                         ResizableCssClass = "ResizableCssClass",
      *                         EnableClientState = false,
      *                         HandleOffsetX = 3,
      *                         HandleOffsetY = 3,
      *                     };
      *  journalControl.ParentUserControl.ExtenderAjaxControl.AddExtender(extender, clientID);
      * }
      * foreach (var child in GetChilds().Where(r => r.IsVisibleColumn(columnsDic)))
      *  child.PreRender(columnsDic, journalControl);*/
 }
 public override IEnumerable <GroupType> GetSupportGroupTypes(BaseJournalControl journal)
 {
     return(SupportGroupTypes ?? (journal.ShowTotals ? DefaultSupportGroupTypesWithTotals : DefaultSupportGroupTypes));
 }
Пример #10
0
 public override void DetectIsCrossColumn(BaseJournalControl control, string crossColumnName)
 {
     BaseCrossColumnDataSource.DetectIsCrossColumn(control, crossColumnName);
 }
Пример #11
0
        public void Render(HtmlTextWriter writer, int level, int inLevel, int maxRowSpan, Dictionary <string, BaseColumn> columnsDic, BaseJournalControl journalControl, List <RowProperties> rowsPropertieses)
        {
            if (level == 0 && !HideInHeader)
            {
                int height = 0;
                for (int i = inLevel; i < inLevel + RowSpan; i++)
                {
                    if (rowsPropertieses.Count <= i || rowsPropertieses[i].Height == null || rowsPropertieses[i].Height == 0)
                    {
                        height = 0;
                        break;
                    }
                    height += rowsPropertieses[i].Height.Value;
                    if (i > inLevel)
                    {
                        height += 11;
                    }
                }
                writer.WriteLine();
                writer.AddAttribute("onmousemove", "changeWidthOnCellMouseMove(event, this);");
                writer.AddAttribute("onmousedown", "changeWidthCellMouseDown(event, this);");
                writer.AddAttribute(HtmlTextWriterAttribute.Rowspan, RowSpan.ToString());
                writer.AddAttribute(HtmlTextWriterAttribute.Colspan, ColSpan.ToString());
                //writer.AddAttribute(HtmlTextWriterAttribute.Align, "left");
                writer.AddAttribute(HtmlTextWriterAttribute.Id, ClientID);
                if (Width > 0)
                {
                    writer.AddStyleAttribute(HtmlTextWriterStyle.Width, Width + "px");
                }
                if (height > 0)
                {
                    writer.AddStyleAttribute(HtmlTextWriterStyle.Height, height + "px");
                }
                if (!string.IsNullOrEmpty(BColor))
                {
                    writer.AddStyleAttribute(HtmlTextWriterStyle.BackgroundColor, BColor);
                }
                if (!string.IsNullOrEmpty(PColor))
                {
                    writer.AddStyleAttribute(HtmlTextWriterStyle.Color, PColor);
                }
                writer.RenderBeginTag(HtmlTextWriterTag.Th);//th

                var isIE = "IE".Equals(HttpContext.Current.Request.Browser.Browser, StringComparison.OrdinalIgnoreCase) &&
                           string.Compare("9.0", HttpContext.Current.Request.Browser.Version, StringComparison.OrdinalIgnoreCase) > 0;

                if (IsVerticalHeader && !isIE)
                {
                    if (Width > 0)
                    {
                        writer.AddStyleAttribute(HtmlTextWriterStyle.Height, Width + "px");
                    }
                    if (height > 0)
                    {
                        writer.AddStyleAttribute(HtmlTextWriterStyle.Width, height + "px");
                    }
                    if (Width > 0 && height > 0)
                    {
                        writer.AddStyleAttribute("margin-top", (height - Width) / 2 + "px");
                        writer.AddStyleAttribute("margin-bottom", (height - Width) / 2 + "px");
                        writer.AddStyleAttribute("margin-left", (Width - height) / 2 + "px");
                        writer.AddStyleAttribute("margin-right", (Width - height) / 2 + "px");
                        writer.AddAttribute(HtmlTextWriterAttribute.Class, "DefaultRotate270Deg");
                    }

                    writer.AddStyleAttribute(HtmlTextWriterStyle.TextAlign, "left");
                }
                else
                {
                    if (Width > 0)
                    {
                        writer.AddStyleAttribute(HtmlTextWriterStyle.Width, Width + "px");
                    }
                    if (height > 0)
                    {
                        writer.AddStyleAttribute(HtmlTextWriterStyle.Height, height + "px");
                    }
                    if (IsVerticalHeader)
                    {
                        writer.AddAttribute(HtmlTextWriterAttribute.Class, "IE8Rotate270Deg");
                    }
                }

                if (Width > 0 || height > 0)
                {
                    writer.AddStyleAttribute(HtmlTextWriterStyle.Overflow, "hidden");
                }
                if (!string.IsNullOrEmpty(ToolTipRu) && !LocalizationHelper.IsCultureKZ)
                {
                    writer.AddAttribute(HtmlTextWriterAttribute.Title, ToolTipRu);
                }
                else if (!string.IsNullOrEmpty(ToolTipKz) && LocalizationHelper.IsCultureKZ)
                {
                    writer.AddAttribute(HtmlTextWriterAttribute.Title, ToolTipKz);
                }
                writer.RenderBeginTag(HtmlTextWriterTag.Div);                                           //div

                if (BaseColumn == null && CrossColumnIDObject != null && IsTreeColumn && !HideTreeLink) //если это иерархичная кросс колонка
                {
                    var postBack = journalControl.Page.ClientScript.GetPostBackClientHyperlink(
                        journalControl,
                        string.Format("FilterBy:{0}:Equals:{1}:{2}",
                                      BaseFilterParameter.TreeStartLevelFilterName + CrossColumnHeaderRow.GetType().Name,
                                      CrossColumnIDObject,
                                      Header));
                    writer.AddAttribute(HtmlTextWriterAttribute.Href, postBack);
                    writer.AddAttribute(HtmlTextWriterAttribute.Title, Resources.SFilterHeader);
                    writer.RenderBeginTag(HtmlTextWriterTag.A);
                    RenderHeaderText(writer);
                    writer.RenderEndTag();
                }
                else if (!string.IsNullOrEmpty(HyperLinkUrl) || !string.IsNullOrEmpty(HyperLinkOnClick))
                {
                    var url    = string.IsNullOrEmpty(HyperLinkUrl) ? "javascript:void(0);" : HyperLinkUrl;
                    var target = string.IsNullOrEmpty(HyperLinkTarget) ? "_blank" : HyperLinkTarget;
                    writer.AddAttribute(HtmlTextWriterAttribute.Href, url);
                    writer.AddAttribute(HtmlTextWriterAttribute.Target, target);
                    if (!string.IsNullOrEmpty(HyperLinkOnClick))
                    {
                        writer.AddAttribute(HtmlTextWriterAttribute.Onclick, HyperLinkOnClick);
                    }
                    writer.RenderBeginTag(HtmlTextWriterTag.A);
                    RenderHeaderText(writer);
                    writer.RenderEndTag();//A
                }
                else
                {
                    RenderHeaderText(writer);
                }

                writer.RenderEndTag();//div

                /*var column = string.IsNullOrEmpty(ColumnName) ? null : columnsDic[ColumnName];
                 * if (column != null && false)
                 * {
                 *  if (column.OrderColumnNameRu != null && !LocalizationHelper.IsCultureKZ)
                 *      RenderHeaderOrder(writer, column.OrderColumnNameRu, journalControl);
                 *  else if (column.OrderColumnNameKz != null && LocalizationHelper.IsCultureKZ)
                 *      RenderHeaderOrder(writer, column.OrderColumnNameKz, journalControl);
                 *  if (column.OrderColumnName != null)
                 *      RenderHeaderOrder(writer, column.OrderColumnName, journalControl);
                 * }*/

                writer.RenderEndTag();//Th
            }
            foreach (var child in GetChilds().Where(r => r.IsVisibleColumn(columnsDic)))
            {
                child.Render(writer, level - RowSpan, inLevel + RowSpan, maxRowSpan - RowSpan, columnsDic, journalControl, rowsPropertieses);
            }
        }