public void DrillAction(PossibleDrillActions Mode) { DebugLogging.WriteLine("MemberCell.DrillAction({0})", Mode); if ((Mode & PossibleDrillActions) != Mode) { var S = ""; if (Mode == PossibleDrillActions.esCollapsed) { S = RadarUtils.GetResStr("rsDrillAction0"); } if (Mode == PossibleDrillActions.esParentChild) { S = RadarUtils.GetResStr("rsDrillAction1"); } if (Mode == PossibleDrillActions.esNextLevel) { S = RadarUtils.GetResStr("rsDrillAction2"); } if (Mode == PossibleDrillActions.esNextHierarchy) { S = RadarUtils.GetResStr("rsDrillAction3"); } throw new Exception( string.Format(RadarUtils.GetResStr("rsInadmissibleDrillAction"), S, Value)); } CellSet.DrillAction_Inner(Mode, RealMember); }
internal static JsonDialog RenderMassage(OlapControl Grid, Exception E) { var result = new JsonDialog(); result.title = RadarUtils.GetResStr("rsErrorMessage"); var buttons = new List <JsonDialogButton>(); if (!string.IsNullOrEmpty(Grid.SupportEMail)) { buttons.Add(new JsonDialogButton { text = "Refresh", //RadarUtils.GetResStr("rsSendToSupport"), code = "window.location = window.location.pathname; " + "RadarSoft.$(this).dialog('close');" }); } buttons.Add(new JsonDialogButton { text = RadarUtils.GetResStr("rsClose"), code = "RadarSoft.$(this).dialog('close')" }); result.data = "<div width='500'>" + "<div style='width:490px;margin:5px;overflow:auto;border:2px inset #C0C0C0;;color:#404040;;height:90px;'>" + E.Message.Replace("\n", "<br />") + "</div>" + "</div>"; result.buttons = buttons.ToArray(); return(result); }
internal GenericFilterGrid(OlapControl grid) { ActionString = RadarUtils.GetResStr("rsActions"); ItemString = RadarUtils.GetResStr("rsItem"); FilterDescriptionString = RadarUtils.GetResStr("rsFilterDescription"); EditFilterString = RadarUtils.GetResStr("rsEditFilter"); ResetFilterString = RadarUtils.GetResStr("repResetFilter"); if (grid.Active) { foreach (var m in grid.Measures) { if (m.Filter != null) { Items.Add(new GenericFilterGridItem(m)); } } foreach (var d in grid.Dimensions) { foreach (var h in d.Hierarchies) { var s = h.FilterDescription; if (!string.IsNullOrEmpty(s)) { Items.Add(new GenericFilterGridItem(h)); } } } } }
/// <summary> /// Deletes the specified third-type measure from the list of available Grid /// measures. /// </summary> public void DeleteCalculatedMeasure(Measure Measure) { ClearCache(); if (FLevel == null && Grid.Active) { throw new InvalidOperationException(); } if (Measure.FFunction != OlapFunction.stCalculated) { throw new Exception(string.Format(RadarUtils.GetResStr("rsTryToDeleteWrongMeasure"), Measure.FDisplayName)); } Measure.Visible = false; var Idx = IndexOf(Measure); if (FLevel == null) // return; { // if (Grid.Active) throw exception // //FGrid.Engine.ClearMeasureData(Measure); //Remove(Measure); //Grid.EndChange(GridEventType.geChangeCubeStructure, new object[0]); //if (Grid.Active) Grid.FCellSet.Rebuild(); Remove(Measure); return; } FGrid.Engine.ClearMeasureData(Measure); var P = new List <Member>(); Member M = null; for (var i = 0; i < FLevel.Members.Count; i++) { if (FLevel.Members[i].fVirtualID == Idx) { M = FLevel.Members[i]; } if (FLevel.Members[i].fVirtualID > Idx) { P.Add(FLevel.Members[i]); } } FLevel.FUniqueNamesArray.Remove(M.UniqueName); FLevel.Members.Remove(M); foreach (var m in P) { m.fVirtualID--; } Remove(Measure); Grid.EndChange(GridEventType.geChangeCubeStructure); if (Grid.Active && M.Visible) { Grid.FCellSet.Rebuild(); } }
/// <exclude /> public static void CheckTag(BinaryReader reader, Tags tag) { var t = (Tags)reader.ReadUInt16(); if (t != tag) { reader.BaseStream.Seek(-sizeof(ushort), SeekOrigin.Current); throw new StreamException(string.Format(RadarUtils.GetResStr("rsInvalidTagError"), reader.BaseStream.Position, string.Format("{0}({1:D})", tag, tag))); } }
/// <summary> /// Restores the standard display modes by deleting all the changes added by a /// programmer. /// </summary> public void RestoreDefaults() { Clear(); if (fMeasure.IsKPI) { Add(new MeasureShowMode(fMeasure, RadarUtils.GetResStr("rssmKPIValue"), MeasureShowModeType.smKPIValue, null)); Add(new MeasureShowMode(fMeasure, RadarUtils.GetResStr("rssmKPIGoal"), MeasureShowModeType.smKPIGoal, null)); Add(new MeasureShowMode(fMeasure, RadarUtils.GetResStr("rssmKPIStatus"), MeasureShowModeType.smKPIStatus, null)); Add(new MeasureShowMode(fMeasure, RadarUtils.GetResStr("rssmKPITrend"), MeasureShowModeType.smKPITrend, null)); Add(new MeasureShowMode(fMeasure, RadarUtils.GetResStr("rssmKPIWeight"), MeasureShowModeType.smKPIWeight, null)); for (var i = 0; i < 4; i++) { this[i].Visible = true; } } else { Add(new MeasureShowMode(fMeasure, RadarUtils.GetResStr("rssmNormal"), MeasureShowModeType.smNormal, null)); Add(new MeasureShowMode(fMeasure, RadarUtils.GetResStr("rssmPercentRowTotal"), MeasureShowModeType.smPercentRowTotal, null)); Add(new MeasureShowMode(fMeasure, RadarUtils.GetResStr("rssmPercentColTotal"), MeasureShowModeType.smPercentColTotal, null)); Add(new MeasureShowMode(fMeasure, RadarUtils.GetResStr("rssmPercentParentRowItem"), MeasureShowModeType.smPercentParentRowItem, null)); Add(new MeasureShowMode(fMeasure, RadarUtils.GetResStr("rssmPercentParentColItem"), MeasureShowModeType.smPercentParentColItem, null)); Add(new MeasureShowMode(fMeasure, RadarUtils.GetResStr("rssmRowRank"), MeasureShowModeType.smRowRank, null)); Add(new MeasureShowMode(fMeasure, RadarUtils.GetResStr("rssmColumnRank"), MeasureShowModeType.smColumnRank, null)); Add(new MeasureShowMode(fMeasure, RadarUtils.GetResStr("rssmPercentGrandTotal"), MeasureShowModeType.smPercentGrandTotal, null)); this[0].Visible = true; } }
internal void CheckFlat(bool FirstLevel) { foreach (var m in this) { if (m.FNextLevelChildren.Count > 0 && m.FChildren.Count > 0) { throw new Exception(string.Format(RadarUtils.GetResStr("rsHierarchyNotFlat"), m.DisplayName)); } m.Children.CheckFlat(FirstLevel); if (!FirstLevel && m.Parent == null) { throw new Exception(string.Format(RadarUtils.GetResStr("rsNoParentMember"), m.DisplayName)); } } }
public SerializedHierarchy(Hierarchy h) { UnfetchedMembersVisibile = h.UnfetchedMembersVisible; UniqueName = h.UniqueName; if (h.DisplayName != h.CubeHierarchy.DisplayName) { DisplayName = h.DisplayName; } if (h.TotalCaption != RadarUtils.GetResStr("rsTotalCaption")) { TotalCaption = h.TotalCaption; } SortType = h.SortType; FormatString = h.FormatString; TotalAppearance = h.TotalAppearance; AllowResort = h.AllowResort; AllowFilter = h.AllowFilter; AllowPopupOnLevelCaptions = h.AllowPopupOnLevelCaptions; AllowHierarchyEditor = h.AllowHierarchyEditor; AllowPopupOnMembers = h.AllowPopupOnMembers; AllowRegroup = h.AllowRegroup; AllowChangeTotalAppearance = h.AllowChangeTotalAppearance; Visible = h.Visible; TakeFiltersIntoCalculations = h.TakeFiltersIntoCalculations; AllowSwapMembers = h.AllowSwapMembers; AllowMultiselect = h.AllowMultiselect; OverrideSortMethods = h.OverrideSortMethods; ShowEmptyLines = h.FShowEmptyLines; if (h.FLevels != null) { var ll = h.FLevels.Select(L => new SerializedLevel(L)).ToList(); if (ll.Count > 0) { Levels = ll.ToArray(); } } }
internal ClientHierarchy(Hierarchy h, OlapControl grid) { DisplayName = h.DisplayName; UniqueName = h.UniqueName; Description = h.Description; Group = h.Origin == HierarchyOrigin.hoNamedSet ? RadarUtils.GetResStr("rsNamedSets") : (h.CubeHierarchy.DisplayFolder ?? ""); IsFiltered = h.Filtered || h.FilteredByLevelFilters; Origin = h.Origin; IsDate = h.Dimension.CubeDimension.fDimensionType == DimensionType.dtTime; AllowFilter = h.AllowFilter && h.AllowHierarchyEditor && grid.AllowFiltering; UnfetchedMembersVisible = h.UnfetchedMembersVisible; if (h.Levels != null && h.Levels.Count > 0) { var l = new List <ClientLevel>(h.Levels.Count); foreach (var ll in h.Levels) { l.Add(new ClientLevel(ll)); } Levels = l.ToArray(); } }
//As the format string can be used template //"string1%;string2%; " string3" or "string". Each string can include the following statements, //which-naming replaced by real members: //%{First} - the First member of the current бакита //%{Last} - the Last member of the current бакита //%{Previous last} - the Last member of the previous бакита //%{Next first} - First слен next бакита //%{Min} - Minimum (lowest) member of the current бакита //%{Max} - the Maximum (highest) member of the current бакита //%{Previous Min} - Minimum (lowest) member of the previous бакита //%{Previous Max} - the Maximum (highest) member of the previous бакита //%{Next Min} - Minimum (lowest) member of the next бакита //%{Next Max} - the Maximum (highest) member of the next бакита //%{Index} - the Index of the current бакита internal void SetBucketFormat(string BucketNameFormat, string AFormatString) { fFormatString = AFormatString; var S = BucketNameFormat; var bmd = RadarUtils.GetResStr("rsBucketMemberDelimiter"); var Index = S.IndexOf(bmd); if (Index == -1) { fString1 = S; fString2 = S; fString3 = S; return; } fString1 = S.Substring(0, Index); S = S.Substring(Index + bmd.Length, S.Length - 1); Index = S.IndexOf(bmd); if (Index == -1) { fString2 = S; fString3 = S; return; } fString2 = S.Substring(0, Index - 1); S = S.Substring(Index + bmd.Length, S.Length - (Index + bmd.Length)); Index = S.IndexOf(bmd); if (Index == -1) { fString3 = S; return; } fString3 = S.Substring(0, Index - 1); }
internal static string ExtractOperator(string S, int Index1, int Index2) { var rsOperatorSign = RadarUtils.GetResStr("rsOperatorSign"); var StartPos = S.IndexOf(rsOperatorSign); if (StartPos == -1) { return(null); } if (S[StartPos + 1] != '{') { throw new Exception(RadarUtils.GetResStr("rsecWrongBucketOperatorFormat") + S); } var Index = StartPos + 2; while (Index <= S.Length) { if (S[Index] == '}') { break; } else { Index++; } } if (Index > S.Length) { throw new Exception(RadarUtils.GetResStr("rsecWrongBucketOperatorFormat") + S); } //var Index1 = StartPos; //var Index2 = Index; return(S.Substring(StartPos + 2, Index - StartPos - 2)); }
internal JsonChartSettings(OlapChart chart) : base(chart) { url_pointsMenu = chart.ImageUrl("pointsMenu.png"); url_pointsBtn = chart.ImageUrl("points.png"); url_holesBtn = chart.ImageUrl("holes.png"); url_linesMenu = chart.ImageUrl("linesMenu.png"); url_linesBtn = chart.ImageUrl("lines.png"); url_polylinesBtn = chart.ImageUrl("polylines.png"); url_stepLinesBtn = chart.ImageUrl("stepLines.png"); url_deltaLinesBtn = chart.ImageUrl("deltaLines.png"); url_percentLinesBtn = chart.ImageUrl("percentLines.png"); url_barsMenu = chart.ImageUrl("barsMenu.png"); url_barsBtn = chart.ImageUrl("bars.png"); url_deltaBarsBtn = chart.ImageUrl("deltaBars.png"); url_percentBarsBtn = chart.ImageUrl("percentBars.png"); url_areasMenu = chart.ImageUrl("areasMenu.png"); url_areasBtn = chart.ImageUrl("areas.png"); url_deltaAreasBtn = chart.ImageUrl("deltaAreas.png"); url_percentAreasBtn = chart.ImageUrl("percentAreas.png"); url_piesMenu = chart.ImageUrl("piesMenu.png"); url_piesBtn = chart.ImageUrl("pies.png"); url_trendsMenu = chart.ImageUrl("trendsMenu.png"); url_noTrendsBtn = chart.ImageUrl("noTrends.png"); url_linTrendsBtn = chart.ImageUrl("linTrends.png"); url_quadTrendsBtn = chart.ImageUrl("quadTrends.png"); url_cubicTrendsBtn = chart.ImageUrl("cubicTrends.png"); rsClose = RadarUtils.GetResStr("rsClose"); rsShowUnderlying = RadarUtils.GetResStr("mnShowUnderlying"); //url_nextlevel = chart.ImageUrl("Expand.gif"); //url_collapsedl = chart.ImageUrl("Collapse.gif"); //url_nextlevel = chart.ImageUrl("Expand_Level.gif"); url_nextlevel = chart.ImageUrl("plus.png"); url_collapsedl = chart.ImageUrl("minus.png"); }
internal Intelligence(Level parent, IntelligenceType type) { fParent = parent.Hierarchy; fIntelligenceType = type; if (type == IntelligenceType.itMemberToDate) { fDisplayName = string.Format(RadarUtils.GetResStr("rsiMemberToDate"), parent.DisplayName); fExpression = "COALESCEEMPTY({2}(PERIODSTODATE(" + parent.UniqueName + ",{0}), {1}), 0)"; fIntelligenceGroup = string.Format(RadarUtils.GetResStr("rsiTimeIntelligence"), fParent.DisplayName); return; } if (type == IntelligenceType.itMemberGrowth) { fDisplayName = string.Format(RadarUtils.GetResStr("rsiMemberGrowth"), parent.DisplayName); // fExpression = "COALESCEEMPTY({2}({{0}}, {1}), 0) - COALESCEEMPTY({2}({PARALLELPERIOD(" + parent.UniqueName + ",1,{0})}, {1}), 0)"; fExpression = "COALESCEEMPTY(({0}, {1}) - (PARALLELPERIOD(" + parent.UniqueName + ",1,{0}), {1}), 0)"; fIntelligenceGroup = string.Format(RadarUtils.GetResStr("rsiTimeIntelligence"), fParent.DisplayName); } }
/// <summary> /// Retrieves the source data that was used to create a specified cell in a cube /// </summary> /// <param name="Address"></param> /// <param name="AdataSet"></param> /// <param name="RowsToFetch"></param> public override void Drillthrough(ICubeAddress Address, DataTable AdataSet, int RowsToFetch, ICollection <string> columns) { ((MOlapCube)FCube).EnsureConnected(); var sb = new StringBuilder("DRILLTHROUGH "); if (RowsToFetch > 0) { sb.Append("MAXROWS "); sb.Append(RowsToFetch); } sb.Append(" SELECT {"); sb.Append(Address.Measure.UniqueName); sb.Append("} on 0"); for (var i = 0; i < Address.LevelsCount; i++) { sb.Append(", {"); var m = Address.Members(i); if (m.Filtered) { bool single; string set; ((MOlapCube)FCube).CreateVisibleSet(m.FLevel.FHierarchy, out single, out set, m, false); if (!single) { throw new Exception(string.Format(RadarUtils.GetResStr("rsMuitifilterDrillthroughError"), m.FLevel.FHierarchy.DisplayName)); } sb.Append(set); } else { sb.Append(Address.Members(i).UniqueName); } sb.Append("} on "); sb.Append(i + 1); } var j = Address.LevelsCount; for (var i = 0; i < FGrid.FFilteredHierarchies.Count; i++) { if (Address.GetMemberByHierarchy(FGrid.FFilteredHierarchies[i]) != null) { continue; } bool single; string set; ((MOlapCube)FCube).CreateVisibleSet(FGrid.FFilteredHierarchies[i], out single, out set, new HashSet <Member>(), false); if (!single) { throw new Exception( string.Format(RadarUtils.GetResStr("rsMuitifilterDrillthroughError"), FGrid.FFilteredHierarchies[i].DisplayName)); } sb.Append(", {"); sb.Append(set); sb.Append("} on "); sb.Append(++j); } sb.Append(" FROM "); sb.Append(((MOlapCube)FCube).ApplySubcubeFilter()); if (columns != null && columns.Count > 0) { sb.Append(" RETURN "); var b = false; foreach (var s in columns) { if (b) { sb.Append(", "); } else { b = true; } sb.Append(s); } } Drillthrough(AdataSet, sb.ToString()); }
private void DoRenderNode(Node node, HtmlTextWriter writer) { if (node.fParent == null && node.fChildren.FTotalCount == -1) { ChangeExpandState(node.fMemberName); } Member mm = null; if (node.fMemberName != "all_members") { mm = fHierarchy.FindMemberByUniqueName(node.fMemberName); } writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.AddAttribute("membername", node.fMemberName); writer.AddAttribute(HtmlTextWriterAttribute.Nowrap, "NOWRAP"); writer.RenderBeginTag(HtmlTextWriterTag.Td); var depth = node.Depth; var _left = 0; if (depth > 0) { _left += depth * 15; } var renderExpand = (node.fChildren.FTotalCount != 0 && !Filtered || node.fChildren.frame2.Count > 0 && Filtered) && (mm == null || !mm.IsLeaf); if (renderExpand) { writer.AddAttribute("expandable", "true"); } _left += 11; if (_left > 0) { writer.AddStyleAttribute(HtmlTextWriterStyle.MarginLeft, _left + "px"); } writer.RenderBeginTag(HtmlTextWriterTag.Span); if (renderExpand) { writer.AddStyleAttribute("display", "inline-block"); if (node.fExpanded) { writer.AddAttribute(HtmlTextWriterAttribute.Class, "ui-icon ui-icon-triangle-1-se"); } else { writer.AddAttribute(HtmlTextWriterAttribute.Class, "ui-icon ui-icon-triangle-1-e"); } writer.RenderBeginTag(HtmlTextWriterTag.Span); writer.RenderEndTag(); // span } writer.AddAttribute(HtmlTextWriterAttribute.Type, "checkbox"); if (node.fChecked) { writer.AddAttribute(HtmlTextWriterAttribute.Checked, "CHECKED"); } writer.RenderBeginTag(HtmlTextWriterTag.Input); writer.RenderEndTag(); // input writer.Write(" "); if (node == root) { writer.Write(RadarUtils.GetResStr("rsAllMembersCaption")); } else { var m = fHierarchy.FindMemberByUniqueName(node.fMemberName); writer.Write(m.DisplayName); } writer.RenderEndTag(); //span writer.RenderEndTag(); // td writer.RenderEndTag(); //tr if (!Filtered) { if (node.fExpanded) { if (node.fChildren.frame.Count == 0) { RetrieveFrame(node); } foreach (var n in node.fChildren.frame) { DoRenderNode(n, writer); } RenderPagesLine(node, writer); } } else { if (node.fExpanded) { if (node.fChildren.frame.Count == 0) { RetrieveFrame(node); } foreach (var n in node.fChildren.frame2) { DoRenderNode(n, writer); } } } }
internal static JsonDialog MakeHTML(Filter filter) { var result = new JsonDialog(); var fGrid = filter.Level.Grid; var writer = new HtmlTextWriter(); writer.AddAttribute(HtmlTextWriterAttribute.Width, "700"); writer.RenderBeginTag(HtmlTextWriterTag.Table); var formTitle = filter.FilterType != OlapFilterType.ftOnValue ? "rsfcTitleCaption" : "rsfcTitleValue"; result.title = string.Format(RadarUtils.GetResStr(formTitle), filter.Level.DisplayName); writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.RenderBeginTag(HtmlTextWriterTag.Fieldset); writer.RenderBeginTag(HtmlTextWriterTag.Legend); writer.Write(RadarUtils.GetResStr("rsfcPrompt")); writer.RenderEndTag(); //legend writer.AddAttribute(HtmlTextWriterAttribute.Width, "100%"); writer.RenderBeginTag(HtmlTextWriterTag.Table); writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.RenderBeginTag(HtmlTextWriterTag.Td); if (filter.FilterCondition == OlapFilterCondition.fcFirstTen) { writer.AddAttribute(HtmlTextWriterAttribute.Id, "ODLG_cbTopBottom"); writer.RenderBeginTag(HtmlTextWriterTag.Select); writer.AddAttribute(HtmlTextWriterAttribute.Value, "[0]"); writer.RenderBeginTag(HtmlTextWriterTag.Option); writer.Write(RadarUtils.GetResStr("rsTop")); writer.RenderEndTag(); //option writer.AddAttribute(HtmlTextWriterAttribute.Value, "[1]"); writer.RenderBeginTag(HtmlTextWriterTag.Option); writer.Write(RadarUtils.GetResStr("rsBottom")); writer.RenderEndTag(); //option writer.RenderEndTag(); //select writer.RenderEndTag(); //td writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.AddAttribute(HtmlTextWriterAttribute.Id, "ODLG_tbFirst"); writer.AddAttribute(HtmlTextWriterAttribute.Type, "text"); writer.AddAttribute("maxlength", "5"); writer.AddStyleAttribute("width", "100%"); writer.AddAttribute(HtmlTextWriterAttribute.Value, string.IsNullOrEmpty(filter.FirstValue) ? "10" : filter.FirstValue); writer.RenderBeginTag(HtmlTextWriterTag.Input); writer.RenderEndTag(); // input writer.RenderEndTag(); //td writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.AddAttribute(HtmlTextWriterAttribute.Id, "ODLG_cbCondition2"); writer.RenderBeginTag(HtmlTextWriterTag.Select); if (string.IsNullOrEmpty(filter.SecondValue)) { writer.AddAttribute(HtmlTextWriterAttribute.Selected, "selected"); } writer.AddAttribute(HtmlTextWriterAttribute.Value, "[0]"); writer.RenderBeginTag(HtmlTextWriterTag.Option); writer.Write(RadarUtils.GetResStr("rsItems")); writer.RenderEndTag(); //option if (!string.IsNullOrEmpty(filter.SecondValue) && filter.SecondValue.EndsWith(".[1]")) { writer.AddAttribute(HtmlTextWriterAttribute.Selected, "selected"); } writer.AddAttribute(HtmlTextWriterAttribute.Value, "[1]"); writer.RenderBeginTag(HtmlTextWriterTag.Option); writer.Write(RadarUtils.GetResStr("rsPercentFromItemsCount")); writer.RenderEndTag(); //option if (!string.IsNullOrEmpty(filter.SecondValue) && filter.SecondValue.EndsWith(".[2]")) { writer.AddAttribute(HtmlTextWriterAttribute.Selected, "selected"); } writer.AddAttribute(HtmlTextWriterAttribute.Value, "[2]"); writer.RenderBeginTag(HtmlTextWriterTag.Option); writer.Write(RadarUtils.GetResStr("rsSumma")); writer.RenderEndTag(); //option writer.RenderEndTag(); //select writer.RenderEndTag(); //td writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.Write(RadarUtils.GetResStr("rsIn")); writer.RenderEndTag(); //td } if (filter.FilterType == OlapFilterType.ftOnValue) { writer.AddAttribute(HtmlTextWriterAttribute.Width, "50%"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.AddAttribute(HtmlTextWriterAttribute.Id, "ODLG_cbMeasures"); writer.AddAttribute(HtmlTextWriterAttribute.Width, "100%"); writer.RenderBeginTag(HtmlTextWriterTag.Select); for (var mCount = 0; mCount < fGrid.Measures.Count; mCount++) { var M = fGrid.Measures[mCount]; if (filter.AppliesTo == M) { writer.AddAttribute(HtmlTextWriterAttribute.Selected, "selected"); } writer.AddAttribute(HtmlTextWriterAttribute.Value, M.UniqueName); writer.RenderBeginTag(HtmlTextWriterTag.Option); writer.Write(M.DisplayName); writer.RenderEndTag(); //option } writer.RenderEndTag(); //select writer.RenderEndTag(); //td } if (filter.FilterCondition != OlapFilterCondition.fcFirstTen) { writer.AddAttribute(HtmlTextWriterAttribute.Nowrap, "1"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.Write(RadarUtils.GetResStr("rs" + filter.FilterCondition)); writer.RenderEndTag(); //td var bw = filter.FilterCondition == OlapFilterCondition.fcBetween || filter.FilterCondition == OlapFilterCondition.fcNotBetween; writer.AddAttribute(HtmlTextWriterAttribute.Width, bw ? "25%" : "50%"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.AddAttribute(HtmlTextWriterAttribute.Id, "ODLG_tbFirst"); writer.AddAttribute(HtmlTextWriterAttribute.Type, "text"); writer.AddStyleAttribute("width", "95%"); if (!string.IsNullOrEmpty(filter.FirstValue)) { writer.AddAttribute(HtmlTextWriterAttribute.Value, filter.FirstValue); } writer.RenderBeginTag(HtmlTextWriterTag.Input); writer.RenderEndTag(); // input writer.RenderEndTag(); //td } if (filter.FilterCondition == OlapFilterCondition.fcNotBetween || filter.FilterCondition == OlapFilterCondition.fcBetween) { writer.AddAttribute(HtmlTextWriterAttribute.Align, "center"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.Write(RadarUtils.GetResStr("rsAnd")); writer.RenderEndTag(); //td writer.AddAttribute(HtmlTextWriterAttribute.Width, "25%"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.AddAttribute(HtmlTextWriterAttribute.Id, "ODLG_tbSecond"); writer.AddAttribute(HtmlTextWriterAttribute.Type, "text"); writer.AddStyleAttribute("width", "95%"); if (!string.IsNullOrEmpty(filter.SecondValue)) { writer.AddAttribute(HtmlTextWriterAttribute.Value, filter.SecondValue); } writer.RenderBeginTag(HtmlTextWriterTag.Input); writer.RenderEndTag(); // input writer.RenderEndTag(); //td } writer.RenderEndTag(); //tr writer.RenderEndTag(); //table writer.RenderEndTag(); //fieldset writer.RenderEndTag(); //td writer.RenderEndTag(); //tr writer.RenderEndTag(); //table result.buttons = new[] { new JsonDialogButton { text = RadarUtils.GetResStr("rsOk"), code = "RadarSoft.$('#" + fGrid.ClientID + "').data('grid').applyContextFilter('cfilter|" + filter.MDXLevelName + "|" + filter.FilterType + "|" + filter.FilterCondition + "')" }, new JsonDialogButton { text = RadarUtils.GetResStr("rsCancel"), code = "RadarSoft.$(this).dialog('close')" } }; result.data = writer.ToString(); return(result); }
internal static JsonDialog RenderException(Controls.Cube.RadarCube Cube, OlapControl Grid, Exception E) { var result = new JsonDialog(); result.title = RadarUtils.GetResStr("rsException"); var writer = new HtmlTextWriter(); writer.AddAttribute(HtmlTextWriterAttribute.Width, "500"); writer.RenderBeginTag(HtmlTextWriterTag.Div); writer.RenderBeginTag(HtmlTextWriterTag.P); writer.Write(string.Format(RadarUtils.GetResStr("rsExceptionRaised"), E.GetType().FullName)); writer.RenderEndTag(); //p writer.RenderBeginTag(HtmlTextWriterTag.P); writer.RenderBeginTag(HtmlTextWriterTag.B); writer.Write(string.Format(RadarUtils.GetResStr("rsErrorMessage"), E.GetType().FullName)); writer.RenderEndTag(); //b writer.RenderEndTag(); //p writer.AddStyleAttribute(HtmlTextWriterStyle.Width, "490px"); writer.AddStyleAttribute(HtmlTextWriterStyle.Margin, "5px"); writer.AddStyleAttribute(HtmlTextWriterStyle.Overflow, "auto"); writer.AddStyleAttribute("border", "2px inset #C0C0C0;"); writer.AddStyleAttribute(HtmlTextWriterStyle.Color, "#404040;"); writer.AddStyleAttribute(HtmlTextWriterStyle.Height, "90px"); writer.RenderBeginTag(HtmlTextWriterTag.Div); writer.Write(E.Message.Replace("\n", "<br />")); writer.RenderEndTag(); //div writer.RenderBeginTag(HtmlTextWriterTag.P); writer.Write(string.Format(RadarUtils.GetResStr("rsAdditionalInfo"), E.GetType().FullName)); writer.RenderEndTag(); //p writer.AddStyleAttribute(HtmlTextWriterStyle.Width, "490px"); writer.AddStyleAttribute(HtmlTextWriterStyle.Margin, "5px"); writer.AddStyleAttribute(HtmlTextWriterStyle.Overflow, "auto"); writer.AddStyleAttribute("border", "2px inset #C0C0C0;"); writer.AddStyleAttribute(HtmlTextWriterStyle.Color, "#404040;"); writer.AddStyleAttribute(HtmlTextWriterStyle.Height, "350px"); writer.RenderBeginTag(HtmlTextWriterTag.Div); if (E.StackTrace != null) { writer.Write("----- The stack trace -----<br />"); writer.Write(WebUtility.HtmlEncode(E.StackTrace).Replace("\r\n", "<br />")); } if (Grid.callbackExceptionData != null) { writer.Write("<br />----- The additional information -----<br />"); foreach (var item in Grid.callbackExceptionData) { writer.Write(item.Key + ": "); if (item.Value != null) { writer.Write(WebUtility.HtmlEncode(item.Value).Replace("|", "|")); } else { writer.Write("NULL"); } } } writer.RenderEndTag(); //div writer.RenderEndTag(); //div var buttons = new List <JsonDialogButton>(); if (!string.IsNullOrEmpty(Grid.SupportEMail)) { var subj = "RadarCube ASP.NET OLAP Grid error"; if (Cube != null) { if (Cube.GetProductID() == "RC-ASP-MSAS") { subj = "RadarCube ASP.NET for MSAS error"; } if (Cube.GetProductID() == "RC-ASP-DESK") { subj = "RadarCube ASP.NET Desktop error"; } } buttons.Add(new JsonDialogButton { text = RadarUtils.GetResStr("rsSendToSupport"), code = "window.location = window.location.pathname; " + //"window.open('mailto:" + Grid.SupportEMail + "?subject=" + DoEncode(subj) + //"&body=" + DoEncode(E.Message + "\n" + E.StackTrace) + "'); " + "RadarSoft.$(this).dialog('close');" }); } buttons.Add(new JsonDialogButton { text = RadarUtils.GetResStr("rsClose"), code = "RadarSoft.$(this).dialog('close')" }); result.data = writer.ToString(); result.buttons = buttons.ToArray(); return(result); }
internal void RenderButtons(HtmlTextWriter writer) { var needSeparator = false; var beginRenderAreaButtons = false; ClearLayoutToolboxButton clearLayoutButton = null; foreach (var button in fToolItems.Values) { if (button.Visible) { if (button is AllAreasToolboxButton || button is PivotAreaToolboxButton || button is DataAreaToolboxButton || button is ClearLayoutToolboxButton) { if (button is ClearLayoutToolboxButton) { clearLayoutButton = button as ClearLayoutToolboxButton; } if (beginRenderAreaButtons == false) { writer.AddAttribute(HtmlTextWriterAttribute.Style, "margin-right: 1px"); writer.AddAttribute(HtmlTextWriterAttribute.Class, "rs_layout_toolbox_button"); writer.AddAttribute(HtmlTextWriterAttribute.Title, RadarUtils.GetResStr("toolbox_Button_Layout")); writer.RenderBeginTag(HtmlTextWriterTag.Button); writer.AddAttribute(HtmlTextWriterAttribute.Class, "ui-icon-font ui-icon-font-template"); writer.RenderBeginTag(HtmlTextWriterTag.Span); writer.RenderEndTag(); // span writer.RenderEndTag(); // button writer.AddStyleAttribute(HtmlTextWriterStyle.Display, "none"); writer.AddStyleAttribute(HtmlTextWriterStyle.Position, "absolute"); writer.AddStyleAttribute(HtmlTextWriterStyle.ZIndex, "1000"); writer.AddStyleAttribute(HtmlTextWriterStyle.TextAlign, "center"); writer.AddAttribute(HtmlTextWriterAttribute.Class, "rs_layout_menu ui-widget-content"); writer.RenderBeginTag(HtmlTextWriterTag.Div); writer.AddAttribute(HtmlTextWriterAttribute.Class, "rs_layout_toolbox_menu"); writer.RenderBeginTag(HtmlTextWriterTag.Ul); beginRenderAreaButtons = true; } if (button.NeedSeparator) { needSeparator = true; } if (button is ClearLayoutToolboxButton) { continue; } button.RenderContents(writer); if (fToolItems.Values.Count - 1 != fToolItems.Keys.ToList().IndexOf(button.ButtonID)) { continue; } } if (beginRenderAreaButtons) { if (clearLayoutButton != null) { writer.RenderBeginTag("li"); writer.RenderEndTag();//li clearLayoutButton.RenderContents(writer); } writer.RenderEndTag(); //ul writer.RenderEndTag(); //div if (needSeparator) { RenderSeparator(writer); } needSeparator = false; beginRenderAreaButtons = false; if (fToolItems.Values.Count - 1 == fToolItems.Keys.ToList().IndexOf(button.ButtonID)) { break; } } if ((button is ConnectToolboxButton || button is MDXQueryButton) && MDCube == null) { continue; } if ((button == fZoomOutButton || button == fZoomInButton || button == fResetZoomButton) && OlapControl.AnalysisType != AnalysisType.Chart) { continue; } if (button == fResizingButton && OlapControl.AnalysisType == AnalysisType.Chart) { continue; } if (button == FModeButton && !(OlapControl is OlapAnalysis)) { continue; } if (button is MeasurePlaceToolboxButton && OlapControl.AnalysisType == AnalysisType.Chart) { continue; } button.RenderContents(writer); if (button.NeedSeparator) { RenderSeparator(writer); } } } if (CustomButtons.Count > 0) { foreach (var cb in CustomButtons) { cb.fOwner = this; if (cb.Visible) { cb.RenderContents(writer); } if (cb.NeedSeparator) { RenderSeparator(writer); } } } }
public JsonSettings(OlapControl grid) { uid = grid.UniqueID; cid = grid.ClientID; loading = RadarUtils.GetResStr("rsLoading"); processing = RadarUtils.GetResStr("rsPleaseWait"); popupLoading = RadarUtils.GetResStr("rsPopupLoading"); url_nextlevel = grid.ImageUrl("svernut_grey.png"); hint_DrillNextLevel = RadarUtils.GetResStr("hint_DrillNextLevel"); url_nexthier = grid.ImageUrl("plus.png"); hint_DrillNextHierarchy = RadarUtils.GetResStr("hint_DrillNextHierarchy"); url_collapsedh = grid.ImageUrl("minus.png"); url_collapsedl = grid.ImageUrl("razvernut_grey.png"); url_collapsedp = grid.ImageUrl("razvernut_blue.png"); hint_CollapseCell = RadarUtils.GetResStr("hint_CollapseCell"); url_nextchildren = grid.ImageUrl("svernut_blue.png"); hint_DrillParentChild = RadarUtils.GetResStr("hint_DrillParentChild"); url_del = grid.ImageUrl("del.png"); url_delover = grid.ImageUrl("delover.png"); url_filter = grid.ImageUrl("filter.png"); url_filterover = grid.ImageUrl("filterover.png"); url_loader = grid.ImageUrl("AjaxLoader.gif"); url_loaderbg = grid.ImageUrl("loader_bg.gif"); url_DeleteGroup = grid.ImageUrl("DeleteGroup.gif"); pagePrompt = RadarUtils.GetResStr("rsEnterPageNumber"); rsOk = RadarUtils.GetResStr("rsOk"); rsCancel = RadarUtils.GetResStr("rsCancel"); rsMax = RadarUtils.GetResStr("rsMax"); rsMin = RadarUtils.GetResStr("rsMin"); rsAverage = RadarUtils.GetResStr("rsAverage"); rsCount = RadarUtils.GetResStr("rsCount"); rsSumma = RadarUtils.GetResStr("rsSumma"); rsRemove = RadarUtils.GetResStr("rsRemove"); rsBelowThan = RadarUtils.GetResStr("MF_BelowThan"); rsMoreThan = RadarUtils.GetResStr("MF_MoreThan"); rsBelowAverage = RadarUtils.GetResStr("MF_BelowAverage"); rsMoreAverage = RadarUtils.GetResStr("MF_MoreAverage"); rsNearAverage = RadarUtils.GetResStr("MF_NearAverage"); rsFarAverage = RadarUtils.GetResStr("MF_FarAverage"); loadlayoutTitle = ((OlapGrid)grid).Toolbox.LoadLayoutButton.FileNamePrompt; loadsettingsTitle = RadarUtils.GetResStr("rsLoadSettingsDialog_Title"); if (grid.FFilteredHierarchies != null) { filtered = grid.FFilteredHierarchies.Select(item => item.UniqueName).Union( grid.FFilteredLevels.Select(item => item.UniqueName)).Distinct().Union( grid.Measures.Where(item => item.Filter != null).Select(item => item.UniqueName)).ToArray(); } clientMessage = grid._ClientMassage; messageHandler = grid.MessageHandler; filterClientId = ((OlapGrid)grid).Filter.ClientID; //toolboxClientId = grid.GetRelatedToolboxControlClientId(); //string ua = "alcatel|amoi|android|avantgo|blackberry|benq|cell|cricket|docomo|elaine|htc|iemobile|iphone|ipad|ipaq|ipod|j2me|java|midp|mini|mmp|mobi|motorola|nec-|nokia|palm|panasonic|philips|phone|sagem|sharp|sie-|smartphone|sony|symbian|t-mobile|telus|vodafone|wap|webos|wireless|xda|xoom|zte"; //if (grid.Page != null) // isMobile = (ua.Split('|').Any(item => grid.Page.Request.UserAgent.ToLower().Contains(item))); heditorWidth = ((OlapGrid)grid).HierarchyEditorStyle.Width; heditorResizable = ((OlapGrid)grid).HierarchyEditorStyle.Resizable; width = grid.Width; height = grid.Height; allowSelectionFormatting = ((OlapGrid)grid).AllowSelectionFormatting; allowResizing = ((OlapGrid)grid).AllowResizing; }
internal JsonDialog Render() { var result = new JsonDialog(); var writer = new HtmlTextWriter(); writer.AddAttribute(HtmlTextWriterAttribute.Cellpadding, "0"); writer.AddAttribute(HtmlTextWriterAttribute.Cellspacing, "0"); writer.AddAttribute(HtmlTextWriterAttribute.Border, "0"); writer.AddStyleAttribute(HtmlTextWriterStyle.Width, "100%"); //writer.AddStyleAttribute(HtmlTextWriterStyle.Width, (fGrid.fHierarchyEditorStyle.Width + 4).ToString() + "px"); writer.RenderBeginTag(HtmlTextWriterTag.Table); result.title = RadarUtils.GetResStr("repHierarhyEditor") + ": " + fHierarchy.DisplayName; // context filter writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.AddStyleAttribute(HtmlTextWriterStyle.PaddingBottom, "5px"); writer.AddStyleAttribute(HtmlTextWriterStyle.PaddingTop, "2px"); writer.RenderBeginTag(HtmlTextWriterTag.Div); writer.Write("<b>" + RadarUtils.GetResStr("rsContextFilterSettings") + "</b>"); writer.RenderEndTag(); //div writer.AddStyleAttribute(HtmlTextWriterStyle.PaddingBottom, "2px"); writer.RenderBeginTag(HtmlTextWriterTag.Div); writer.Write(RadarUtils.GetResStr("repHierarhyEditorLevel")); writer.RenderEndTag(); //div writer.AddStyleAttribute(HtmlTextWriterStyle.PaddingBottom, "5px"); writer.RenderBeginTag(HtmlTextWriterTag.Div); writer.AddAttribute(HtmlTextWriterAttribute.Id, "heditor_selectlevel"); writer.RenderBeginTag(HtmlTextWriterTag.Select); if (fHierarchy.Origin == HierarchyOrigin.hoParentChild) { for (var i = 0; i < fHierarchy.CubeHierarchy.FMDXLevelNames.Count; i++) { var s = fHierarchy.CubeHierarchy.FMDXLevelNames[i]; if (fContextLevelName == null && i == 0) { writer.AddAttribute("selected", "selected"); } if (s == fContextLevelName) { writer.AddAttribute("selected", "selected"); } writer.AddAttribute(HtmlTextWriterAttribute.Value, s); writer.RenderBeginTag(HtmlTextWriterTag.Option); writer.Write(s); writer.RenderEndTag(); //option } } if (fHierarchy.CubeHierarchy.FMDXLevelNames.Count == 0) { for (var i = 0; i < fHierarchy.Levels.Count; i++) { var l = fHierarchy.Levels[i]; if (fContextLevelName == null && i == 0) { writer.AddAttribute("selected", "selected"); } if (l.UniqueName == fContextLevelName) { writer.AddAttribute("selected", "selected"); } writer.AddAttribute(HtmlTextWriterAttribute.Value, l.UniqueName); writer.RenderBeginTag(HtmlTextWriterTag.Option); writer.Write(l.DisplayName); writer.RenderEndTag(); //option } } writer.RenderEndTag(); //select writer.RenderEndTag(); //div var lv = fHierarchy.Levels.Find(fContextLevelName) ?? fHierarchy.Levels[0]; var mnu = new GenericMenu(); fGrid.FillFilterMenu(mnu, lv, fContextLevelName, null, "RadarSoft.$('#" + fGrid.ClientID + "').data('grid').heditor.cancel2('" + RadarUtils.GetResStr("rsLoading") + "')"); // fGrid.FillFilterMenu(mnu, lv, fContextLevelName, null, ""); fGrid.mnu_cf.Embedded = true; fGrid.ConvertGenericMenu(mnu, fGrid.mnu_cf); if (fGrid.mnu_cf.Items.Count > 0) { fGrid.mnu_cf.RenderControl(writer); } writer.RenderEndTag(); //td writer.RenderEndTag(); // tr writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.AddStyleAttribute(HtmlTextWriterStyle.PaddingBottom, "5px"); writer.AddStyleAttribute(HtmlTextWriterStyle.PaddingTop, "5px"); writer.RenderBeginTag(HtmlTextWriterTag.Div); writer.Write("<b>" + RadarUtils.GetResStr("rsMemberFilterSettings") + "</b>"); writer.RenderEndTag(); //div writer.RenderEndTag(); //td writer.RenderEndTag(); // tr writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.AddStyleAttribute(HtmlTextWriterStyle.PaddingBottom, "5px"); writer.AddStyleAttribute(HtmlTextWriterStyle.Width, "100%"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.AddAttribute(HtmlTextWriterAttribute.Class, "ui-widget-content"); writer.AddAttribute(HtmlTextWriterAttribute.Id, "olapgrid_HFilter"); writer.AddAttribute(HtmlTextWriterAttribute.Rows, "2"); writer.AddStyleAttribute(HtmlTextWriterStyle.Width, "100%"); writer.RenderBeginTag(HtmlTextWriterTag.Textarea); if (FFilterString != "") { writer.Write(FFilterString); } writer.RenderEndTag(); // textarea writer.RenderEndTag(); //td writer.RenderEndTag(); // tr writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.AddAttribute(HtmlTextWriterAttribute.Align, "right"); writer.AddStyleAttribute(HtmlTextWriterStyle.PaddingBottom, "5px"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.AddAttribute(HtmlTextWriterAttribute.Id, "heditor_exactmatching"); writer.AddAttribute(HtmlTextWriterAttribute.Type, "checkbox"); writer.AddAttribute("checked", "checked"); writer.RenderBeginTag(HtmlTextWriterTag.Input); writer.RenderEndTag(); // input writer.Write(RadarUtils.GetResStr("rshExactMatching")); writer.AddAttribute(HtmlTextWriterAttribute.Id, "olapgrid_HFilter_btn"); writer.AddStyleAttribute(HtmlTextWriterStyle.MarginLeft, "20px"); writer.RenderBeginTag(HtmlTextWriterTag.Button); writer.Write(RadarUtils.GetResStr("rsFind")); //HtmlImage img = new HtmlImage(); //img.Src = OlapGrid.images.ImageUrl("FilterHierarchy.png", fGrid.Page); //img.Alt = RadarUtils.GetResStr("rsFilterTree"); //img.RenderControl(writer); writer.RenderEndTag(); // filter button writer.RenderEndTag(); //td writer.RenderEndTag(); // tr writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.AddStyleAttribute(HtmlTextWriterStyle.Overflow, "auto"); writer.AddStyleAttribute(HtmlTextWriterStyle.Height, fGrid.fHierarchyEditorStyle.TreeHeight + "px"); writer.AddStyleAttribute(HtmlTextWriterStyle.Width, "100%"); writer.AddAttribute(HtmlTextWriterAttribute.Class, "ui-widget ui-widget-content"); writer.AddAttribute(HtmlTextWriterAttribute.Id, "heditor_TREE"); writer.AddStyleAttribute(HtmlTextWriterStyle.MarginBottom, "5px"); writer.RenderBeginTag(HtmlTextWriterTag.Div); DoRenderTree(writer); writer.RenderEndTag(); // div writer.RenderEndTag(); //td writer.RenderEndTag(); // tr 2 filter box writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.AddAttribute(HtmlTextWriterAttribute.Cellpadding, "0"); writer.AddAttribute(HtmlTextWriterAttribute.Cellspacing, "0"); writer.AddAttribute(HtmlTextWriterAttribute.Border, "0"); writer.RenderBeginTag(HtmlTextWriterTag.Table); writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.AddAttribute(HtmlTextWriterAttribute.Width, "100%"); writer.AddAttribute(HtmlTextWriterAttribute.Align, "right"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.AddAttribute(HtmlTextWriterAttribute.Id, "btnApplyFilter"); writer.RenderBeginTag(HtmlTextWriterTag.Button); writer.Write(RadarUtils.GetResStr("rsApply")); writer.RenderEndTag(); // button writer.RenderEndTag(); //td writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.AddAttribute(HtmlTextWriterAttribute.Id, "btnResetFilter"); writer.AddStyleAttribute(HtmlTextWriterStyle.Display, "none"); writer.RenderBeginTag(HtmlTextWriterTag.Button); writer.Write("Confirm"); writer.RenderEndTag(); // button writer.RenderEndTag(); //td writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.AddStyleAttribute(HtmlTextWriterStyle.MarginLeft, "20px"); writer.AddStyleAttribute(HtmlTextWriterStyle.MarginRight, "20px"); writer.RenderBeginTag(HtmlTextWriterTag.Div); writer.AddAttribute(HtmlTextWriterAttribute.Id, "btnCancelFilter"); writer.RenderBeginTag(HtmlTextWriterTag.Button); writer.Write(RadarUtils.GetResStr("rsCancel")); writer.RenderEndTag(); // filter button writer.AddAttribute(HtmlTextWriterAttribute.Id, "btnCancelResetFilter"); writer.AddStyleAttribute(HtmlTextWriterStyle.Display, "none"); writer.RenderBeginTag(HtmlTextWriterTag.Button); writer.Write("Cancel"); writer.RenderEndTag(); // button writer.RenderEndTag(); // div writer.RenderEndTag(); //td writer.RenderEndTag(); // tr writer.RenderEndTag(); // table writer.RenderEndTag(); //td writer.RenderEndTag(); // tr 2 filter box writer.RenderEndTag(); // table result.buttons = new JsonDialogButton[0]; result.data = writer.ToString(); return(result); }
internal static JsonDialog MakeHTML(MeasureFilter filter) { var result = new JsonDialog(); var fGrid = filter.Measure.Grid; var writer = new HtmlTextWriter(); writer.AddAttribute(HtmlTextWriterAttribute.Width, "700"); writer.RenderBeginTag(HtmlTextWriterTag.Table); result.title = string.Format(RadarUtils.GetResStr("rsfcTitleValue"), filter.Measure.DisplayName); writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.AddAttribute(HtmlTextWriterAttribute.Class, "ui-widget-content"); writer.RenderBeginTag(HtmlTextWriterTag.Fieldset); writer.RenderBeginTag(HtmlTextWriterTag.Legend); writer.Write(RadarUtils.GetResStr("rsfcPrompt")); writer.RenderEndTag(); //legend writer.AddAttribute(HtmlTextWriterAttribute.Width, "100%"); writer.RenderBeginTag(HtmlTextWriterTag.Table); writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.AddAttribute(HtmlTextWriterAttribute.Nowrap, "1"); writer.AddAttribute(HtmlTextWriterAttribute.Width, "30%"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.AddAttribute(HtmlTextWriterAttribute.Id, "ODLG_cond"); writer.RenderBeginTag(HtmlTextWriterTag.Select); OlapFilterCondition[] value_filters = { OlapFilterCondition.fcEqual, OlapFilterCondition.fcNotEqual, OlapFilterCondition.fcLess, OlapFilterCondition.fcNotLess, OlapFilterCondition.fcGreater, OlapFilterCondition.fcNotGreater,OlapFilterCondition.fcBetween, OlapFilterCondition.fcNotBetween }; for (var fCount = 0; fCount < value_filters.Length; fCount++) { var fc = value_filters[fCount]; if (fc == filter.FilterCondition) { writer.AddAttribute(HtmlTextWriterAttribute.Selected, "selected"); } writer.AddAttribute(HtmlTextWriterAttribute.Value, fc.ToString()); writer.RenderBeginTag(HtmlTextWriterTag.Option); writer.Write(RadarUtils.GetResStr("rs" + fc)); writer.RenderEndTag(); //option } writer.RenderEndTag(); //select writer.RenderEndTag(); //td writer.AddAttribute(HtmlTextWriterAttribute.Width, "30%"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.AddAttribute(HtmlTextWriterAttribute.Id, "ODLG_tbFirst"); writer.AddAttribute(HtmlTextWriterAttribute.Type, "text"); writer.AddAttribute("class", "ui-widget-content"); writer.AddStyleAttribute("width", "95%"); if (!string.IsNullOrEmpty(filter.FirstValue)) { writer.AddAttribute(HtmlTextWriterAttribute.Value, filter.FirstValue); } writer.RenderBeginTag(HtmlTextWriterTag.Input); writer.RenderEndTag(); // input writer.RenderEndTag(); //td writer.AddAttribute(HtmlTextWriterAttribute.Align, "center"); writer.RenderBeginTag(HtmlTextWriterTag.Td); if (filter.FilterCondition != OlapFilterCondition.fcNotBetween && filter.FilterCondition != OlapFilterCondition.fcBetween) { writer.AddStyleAttribute(HtmlTextWriterStyle.Display, "none"); } writer.AddAttribute(HtmlTextWriterAttribute.Id, "ODLG_lbAnd"); writer.RenderBeginTag(HtmlTextWriterTag.Span); writer.Write(RadarUtils.GetResStr("rsAnd")); writer.RenderEndTag(); //span writer.RenderEndTag(); //td writer.AddAttribute(HtmlTextWriterAttribute.Width, "30%"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.AddAttribute(HtmlTextWriterAttribute.Id, "ODLG_tbSecond"); writer.AddAttribute(HtmlTextWriterAttribute.Type, "text"); writer.AddAttribute("class", "ui-widget-content"); writer.AddStyleAttribute("width", "95%"); if (filter.FilterCondition != OlapFilterCondition.fcNotBetween && filter.FilterCondition != OlapFilterCondition.fcBetween) { writer.AddStyleAttribute("display", "none"); } if (!string.IsNullOrEmpty(filter.SecondValue)) { writer.AddAttribute(HtmlTextWriterAttribute.Value, filter.SecondValue); } writer.RenderBeginTag(HtmlTextWriterTag.Input); writer.RenderEndTag(); // input writer.RenderEndTag(); //td writer.RenderEndTag(); //tr if (fGrid.Cube.GetProductID() == RadarUtils.rsAspNetDesktop) { writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.AddAttribute(HtmlTextWriterAttribute.Colspan, "4"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.Write(RadarUtils.GetResStr("rsRestricts")); writer.AddStyleAttribute(HtmlTextWriterStyle.MarginLeft, "10px"); writer.RenderBeginTag(HtmlTextWriterTag.Div); writer.AddAttribute(HtmlTextWriterAttribute.Id, "ODLG_RestrictsAggregates"); writer.AddAttribute(HtmlTextWriterAttribute.Type, "radio"); if (filter.RestrictsTo == MeasureFilterRestriction.mfrAggregatedValues) { writer.AddAttribute("checked"); } writer.RenderBeginTag(HtmlTextWriterTag.Input); writer.RenderEndTag(); // input writer.Write(RadarUtils.GetResStr("rsAggregatedValues")); writer.WriteBreak(); writer.AddAttribute(HtmlTextWriterAttribute.Id, "ODLG_RestrictsFacts"); writer.AddAttribute(HtmlTextWriterAttribute.Type, "radio"); if (filter.RestrictsTo == MeasureFilterRestriction.mfrFactTable) { writer.AddAttribute("checked"); } writer.RenderBeginTag(HtmlTextWriterTag.Input); writer.RenderEndTag(); // input writer.Write(RadarUtils.GetResStr("rsFactTableValues")); writer.RenderEndTag(); //div writer.RenderEndTag(); //td writer.RenderEndTag(); //tr } writer.RenderEndTag(); //table writer.RenderEndTag(); //fieldset writer.RenderEndTag(); //td writer.RenderEndTag(); //tr writer.RenderEndTag(); //table result.buttons = new[] { new JsonDialogButton { text = RadarUtils.GetResStr("rsApply"), code = "RadarSoft.$('#" + fGrid.ClientID + "').data('grid').applyMeasureFilter('cmfilter|" + filter.Measure.UniqueName + "')" }, new JsonDialogButton { text = RadarUtils.GetResStr("repResetFilter"), code = "RadarSoft.$('#" + fGrid.ClientID + "').data('grid').clearMeasureFilter('" + filter.Measure.UniqueName + "')" }, new JsonDialogButton { text = RadarUtils.GetResStr("rsCancel"), code = "RadarSoft.$(this).dialog('close')" } }; result.data = writer.ToString(); return(result); }
public LocalizedDescriptionAttribute(string key) : base(key) { DescriptionValue = RadarUtils.GetResStr(key); }
internal string GetBucketName(string FormatString) { int Index = 0, Index1 = 0, Index2 = 0; double Value = 0; Bucket NextBucket; var ValueString = FormatString; //begin var Result = FormatString; var OperatorText = ExtractOperator(Result, Index1, Index2); while (OperatorText.IsFill()) { if (WideSameText(OperatorText, __FIRST) || WideSameText(OperatorText, __MIN)) { Value = fMinValue; } else if (WideSameText(OperatorText, __LAST) || WideSameText(OperatorText, __MAX)) { Value = fMaxValue; } else if (WideSameText(OperatorText, __INDEX)) { Value = Index; } else if (WideSameText(OperatorText, __PREVIOUS_LAST) || WideSameText(OperatorText, __PREVIOUS_MAX)) { if (Index == 0) { throw new Exception(string.Format(RadarUtils.GetResStr("rsecCantApplyOperatorToFirst"), OperatorText)); } NextBucket = fBucketCollection[Index - 1]; Value = NextBucket.fMaxValue; } else if (WideSameText(OperatorText, __NEXT_FIRST) || WideSameText(OperatorText, __NEXT_MIN)) { if (Index == fBucketCollection.Count - 1) { throw new Exception(string.Format(RadarUtils.GetResStr("rsecCantApplyOperatorToLast"), OperatorText)); } NextBucket = fBucketCollection[Index + 1]; Value = NextBucket.fMinValue; } else if (WideSameText(OperatorText, __PREVIOUS_MIN)) { if (Index == 0) { throw new Exception(string.Format(RadarUtils.GetResStr("rsecCantApplyOperatorToFirst"), OperatorText)); } NextBucket = fBucketCollection[Index - 1]; Value = NextBucket.fMinValue; } else if (WideSameText(OperatorText, __NEXT_MAX)) { if (Index == fBucketCollection.Count - 1) { throw new Exception(string.Format(RadarUtils.GetResStr("rsecCantApplyOperatorToLast"), OperatorText)); } NextBucket = fBucketCollection[Index + 1]; Value = NextBucket.fMaxValue; } else { throw new Exception(string.Format(RadarUtils.GetResStr("rsecUnknownBucketOperator"), OperatorText)); } ValueString = ValueString.Replace(RadarUtils.GetResStr("rsOperatorSign") + "{" + OperatorText + "}", Value.ToString()); Result = Result.Substring(0, Index1) + ValueString; OperatorText = ExtractOperator(Result, Index1, Index2); } return(Result); }
internal static void InvalidPropError(long Pos) { throw new StreamException(string.Format(RadarUtils.GetResStr("rsInvalidPropertyError"), Pos)); }
public RCell(ICell cell) : this() { if (cell.CellType == CellType.ctData) { if (((IDataCell)cell).Address != null) { if (((IDataCell)cell).Address.Measure != null) { Measure = new ClientMeasure(((IDataCell)cell).Address.Measure); } } } Row = cell.PagedStartRow; Col = cell.PagedStartColumn; RowSpan = cell.RowSpan; ColSpan = cell.ColSpan; CellType = cell.CellType; CellIndex = cell.CellSet.ColumnCount * cell.StartRow + cell.StartColumn; Tooltip = cell.Description; Text = cell.Value; if (cell is IDataCell) { var dc = (IDataCell)cell; Comment = dc.Comment; IsTotal = dc.IsTotal; if (!string.IsNullOrEmpty(dc.FontFamily)) { FontFamily = dc.FontFamily; } if (dc.FontSize.HasValue) { FontSize = Convert.ToInt32(dc.FontSize.Value); } if (dc.FontStyle.HasValue) { IsBold = (dc.FontStyle.Value & FontStyle.Bold) == FontStyle.Bold; IsItalic = (dc.FontStyle.Value & FontStyle.Italic) == FontStyle.Italic; IsUnderline = (dc.FontStyle.Value & FontStyle.Underline) == FontStyle.Underline; IsStrikeout = (dc.FontStyle.Value & FontStyle.Strikeout) == FontStyle.Strikeout; } if (dc.Data != null) { Data = dc.Data; //MeasureMode = (dc.Address == null) ? "" : dc.Address.MeasureMode.Mode.fUniqueName.ToString(); MeasureMode = dc.Address == null ? "" : dc.Address.MeasureMode.Mode.ToString(); if (dc.Address != null && dc.Address.Measure != null && dc.Address.Measure.IsKPI && dc.Address.Measure.CubeMeasure != null && dc.Address.Measure.CubeMeasure.KPIStatusImageIndex != -1) { KPIStatusImageIndex = dc.Address.Measure.CubeMeasure.KPIStatusImageIndex; } if (dc.Address != null && dc.Address.Measure != null && dc.Address.Measure.IsKPI && dc.Address.Measure.CubeMeasure != null && dc.Address.Measure.CubeMeasure.KPITrendImageIndex != -1) { KPITrendImageIndex = dc.Address.Measure.CubeMeasure.KPITrendImageIndex; } if (dc.Address != null) { var rng = cell.CellSet.Grid.GetMeasureRange(dc.Address); if (rng != null) { var d = -1.0; if (dc.Address.MeasureMode.Mode == MeasureShowModeType.smPercentRowTotal || dc.Address.MeasureMode.Mode == MeasureShowModeType.smPercentColTotal || dc.Address.MeasureMode.Mode == MeasureShowModeType.smPercentGrandTotal || dc.Address.MeasureMode.Mode == MeasureShowModeType.smPercentParentColItem || dc.Address.MeasureMode.Mode == MeasureShowModeType.smPercentParentRowItem) { object o = null; var l = cell.CellSet.Grid.FEngine.GetMetaline(dc.Address.FLineID) .GetLine(dc.Address.FHierID, dc.Address.Measure, dc.Address.MeasureMode); if (l != null) { l.GetCell(dc.Address, out o); } if (o != null) { d = double.Parse(o.ToString()); } } if (rng.Item1 == rng.Item2) { Rank = 1; } else { try { if (dc.Address.MeasureMode.Mode == MeasureShowModeType.smPercentRowTotal || dc.Address.MeasureMode.Mode == MeasureShowModeType.smPercentColTotal || dc.Address.MeasureMode.Mode == MeasureShowModeType.smPercentGrandTotal || dc.Address.MeasureMode.Mode == MeasureShowModeType.smPercentParentColItem || dc.Address.MeasureMode.Mode == MeasureShowModeType.smPercentParentRowItem) { if (d != -1 && !double.IsNaN(d)) { var val = d; Rank = (val - rng.Item1) / (rng.Item2 - rng.Item1); } } else { var val = Convert.ToDouble(dc.Data); Rank = (val - rng.Item1) / (rng.Item2 - rng.Item1); } } catch { ; } } } } } RankBackground = ((DataCell)dc).RankBackground; RankForeground = ((DataCell)dc).RankForeground; MemberBackground = ((DataCell)dc).MemberBackground; MemberForeground = ((DataCell)dc).MemberForeground; } if (cell is IMemberCell) { var mc = (IMemberCell)cell; Indent = mc.Indent; Comment = mc.Comment; MemberData = new RCellMember(mc); IsTotal = mc.IsTotal; DrillActions = (int)mc.PossibleDrillActions; if (mc.Member != null) { UniqueName = mc.Member.UniqueName; } if (mc.Member is CalculatedMember) { var cm = (CalculatedMember)mc.Member; if (!string.IsNullOrEmpty(cm.Expression)) { Expression = cm.Expression; } } if (mc.IsPager) { var MC = mc as MemberCell; Text = RadarUtils.GetResStr("rsPages"); } if (mc.Member != null && mc.Member.MemberType == MemberType.mtMeasure) { var m = cell.CellSet.Grid.Measures.Find(mc.Member.UniqueName); if (m.AggregateFunction == OlapFunction.stCalculated) { Expression = m.Expression; Format = m.DefaultFormat; } } } if (cell is ILevelCell) { var lc = (ILevelCell)cell; Indent = lc.Indent; DrillActions = (int)lc.PossibleDrillActions; LevelData = new RCellLevel(lc); if (lc.Level != null) { UniqueName = lc.Level.UniqueName; } } cell.CellSet.Grid.InitChartAreas(this, cell); }
internal static JsonDialog MakeHTMLMember(OlapControl grid, Level level, CalculatedMember member) { var result = new JsonDialog(); result.width = 500; string uniqueName; string displayName; string expression; if (member == null) { uniqueName = "NULL"; displayName = RadarUtils.GetResStr("rsTypeNameMember"); expression = "0"; } else { uniqueName = member.UniqueName; displayName = member.DisplayName; expression = member.Expression; } var writer = new HtmlTextWriter(); writer.AddAttribute(HtmlTextWriterAttribute.Width, "100%"); writer.RenderBeginTag(HtmlTextWriterTag.Table); if (member == null) { result.title = RadarUtils.GetResStr("rsNewCalculatedMember"); } else { result.title = string.Format(RadarUtils.GetResStr("rsEditPropName"), member.DisplayName); } if (member == null) { writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.Write(RadarUtils.GetResStr("exprt_Caption") + ":"); writer.RenderEndTag(); //td writer.RenderEndTag(); // tr writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.AddStyleAttribute(HtmlTextWriterStyle.PaddingLeft, "20px"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.AddAttribute(HtmlTextWriterAttribute.Id, "OCM_tbDisplayName"); writer.AddAttribute(HtmlTextWriterAttribute.Type, "text"); writer.AddAttribute("class", "ui-widget-content"); writer.AddStyleAttribute("width", "95%"); writer.AddAttribute(HtmlTextWriterAttribute.Value, displayName); writer.RenderBeginTag(HtmlTextWriterTag.Input); writer.RenderEndTag(); // input writer.RenderEndTag(); //td writer.RenderEndTag(); // tr } writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.Write(RadarUtils.GetResStr("rsExpression") + ":"); writer.RenderEndTag(); //td writer.RenderEndTag(); // tr writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.AddStyleAttribute(HtmlTextWriterStyle.PaddingLeft, "20px"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.AddAttribute(HtmlTextWriterAttribute.Class, "ui-widget-content"); writer.AddAttribute(HtmlTextWriterAttribute.Id, "OCM_tbExpression"); writer.AddAttribute(HtmlTextWriterAttribute.Value, expression); writer.AddStyleAttribute("width", "95%"); writer.AddStyleAttribute("height", "150px"); writer.RenderBeginTag(HtmlTextWriterTag.Textarea); writer.RenderEndTag(); // textarea writer.RenderEndTag(); //td writer.RenderEndTag(); // tr writer.RenderEndTag(); // table result.buttons = new[] { new JsonDialogButton { text = RadarUtils.GetResStr("rsOk"), code = "RadarSoft.$('#" + grid.ClientID + "').data('grid').applyCalculated('applycalcmember|" + level.UniqueName + "|" + uniqueName + "')" }, new JsonDialogButton { text = RadarUtils.GetResStr("rsCancel"), code = "RadarSoft.$(this).dialog('close')" } }; result.data = writer.ToString(); return(result); }
public LocalizedDisplayNameAttribute(string key) : base(key) { DisplayNameValue = RadarUtils.GetResStr(key); }
internal static JsonDialog MakeHTML(OlapControl grid, Measure measure) { var result = new JsonDialog(); result.width = 500; string uniqueName; string displayName; string expression; string format; if (measure == null) { uniqueName = "NULL"; displayName = RadarUtils.GetResStr("rsTypeNameMeasure"); expression = ""; format = "Standard"; } else { uniqueName = measure.UniqueName; displayName = measure.DisplayName; expression = measure.Expression; format = measure.DefaultFormat; } var writer = new HtmlTextWriter(); writer.AddAttribute(HtmlTextWriterAttribute.Width, "100%"); writer.RenderBeginTag(HtmlTextWriterTag.Table); if (measure == null) { result.title = RadarUtils.GetResStr("d_edNewCalculatedMeas"); } else { result.title = string.Format(RadarUtils.GetResStr("rsEditPropName"), measure.DisplayName); } if (measure == null) { writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.Write(RadarUtils.GetResStr("exprt_Caption") + ":"); writer.RenderEndTag(); //td writer.RenderEndTag(); // tr writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.AddStyleAttribute(HtmlTextWriterStyle.PaddingLeft, "20px"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.AddAttribute(HtmlTextWriterAttribute.Id, "OCM_tbDisplayName"); writer.AddAttribute(HtmlTextWriterAttribute.Type, "text"); writer.AddAttribute("class", "ui-widget-content"); writer.AddStyleAttribute("width", "95%"); writer.AddAttribute(HtmlTextWriterAttribute.Value, displayName); writer.RenderBeginTag(HtmlTextWriterTag.Input); writer.RenderEndTag(); // input writer.RenderEndTag(); //td writer.RenderEndTag(); // tr } writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.Write(RadarUtils.GetResStr("rsFormat") + ":"); writer.RenderEndTag(); //td writer.RenderEndTag(); // tr writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.AddStyleAttribute(HtmlTextWriterStyle.PaddingLeft, "20px"); writer.RenderBeginTag(HtmlTextWriterTag.Td); //Ravish Begin writer.AddAttribute(HtmlTextWriterAttribute.Id, "OCM_tbFormat"); writer.RenderBeginTag(HtmlTextWriterTag.Select); writer.AddAttribute(HtmlTextWriterAttribute.Value, "#"); writer.RenderBeginTag(HtmlTextWriterTag.Option); writer.Write("#"); writer.RenderEndTag(); //option writer.AddAttribute(HtmlTextWriterAttribute.Value, "#,#"); writer.RenderBeginTag(HtmlTextWriterTag.Option); writer.Write("#,#"); writer.RenderEndTag(); //option writer.AddAttribute(HtmlTextWriterAttribute.Value, "#,#.0"); writer.RenderBeginTag(HtmlTextWriterTag.Option); writer.Write("#,#.0"); writer.RenderEndTag(); //option writer.AddAttribute(HtmlTextWriterAttribute.Value, "#,#.00"); writer.RenderBeginTag(HtmlTextWriterTag.Option); writer.Write("#,#.00"); writer.RenderEndTag(); //option writer.AddAttribute(HtmlTextWriterAttribute.Selected, "selected"); writer.AddAttribute(HtmlTextWriterAttribute.Value, "Standard"); writer.RenderBeginTag(HtmlTextWriterTag.Option); writer.Write("Standard"); writer.RenderEndTag(); //option writer.AddAttribute(HtmlTextWriterAttribute.Value, "Currency"); writer.RenderBeginTag(HtmlTextWriterTag.Option); writer.Write("Currency"); writer.RenderEndTag(); //option writer.AddAttribute(HtmlTextWriterAttribute.Value, "Short Date"); writer.RenderBeginTag(HtmlTextWriterTag.Option); writer.Write("Short Date"); writer.RenderEndTag(); //option writer.AddAttribute(HtmlTextWriterAttribute.Value, "Short Time"); writer.RenderBeginTag(HtmlTextWriterTag.Option); writer.Write("Short Time"); writer.RenderEndTag(); //option writer.AddAttribute(HtmlTextWriterAttribute.Value, "Percent"); writer.RenderBeginTag(HtmlTextWriterTag.Option); writer.Write("Percent"); writer.RenderEndTag(); //option writer.RenderEndTag(); //select writer.RenderEndTag(); //td writer.RenderEndTag(); // tr writer.RenderBeginTag(HtmlTextWriterTag.Tr); //Ravish Begin writer.AddStyleAttribute(HtmlTextWriterStyle.VerticalAlign, "bottom"); //Ravish End writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.Write(RadarUtils.GetResStr("rsExpression") + ":"); writer.RenderEndTag(); //td writer.RenderEndTag(); // tr //Ravish Begin writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.AddStyleAttribute(HtmlTextWriterStyle.PaddingLeft, "20px"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.RenderBeginTag(HtmlTextWriterTag.Table); writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.AddAttribute(HtmlTextWriterAttribute.Id, "OCM_tbMeasures"); writer.RenderBeginTag(HtmlTextWriterTag.Select); for (var mCount = 0; mCount < grid.Cube.Measures.Count; mCount++) { if (grid.Cube.Measures[mCount].VisibleInTree) { writer.AddAttribute(HtmlTextWriterAttribute.Value, MakeProperName(grid.Cube.Measures[mCount])); writer.RenderBeginTag(HtmlTextWriterTag.Option); writer.Write(grid.Cube.Measures[mCount].DisplayName); writer.RenderEndTag(); //option } } writer.RenderEndTag(); //select writer.RenderEndTag(); //td writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.AddAttribute(HtmlTextWriterAttribute.Id, "rs_uibtn"); writer.AddAttribute("onclick", "RadarSoft.$('#" + grid.ClientID + "').data('grid').insertMeasure()"); writer.AddStyleAttribute("margin-left", "5px"); writer.RenderBeginTag(HtmlTextWriterTag.Button); writer.AddStyleAttribute(HtmlTextWriterStyle.WhiteSpace, "nowrap"); writer.RenderBeginTag(HtmlTextWriterTag.Span); writer.Write(RadarUtils.GetResStr("rsInsert")); writer.RenderEndTag(); // span writer.RenderEndTag(); // button writer.RenderEndTag(); //td writer.RenderEndTag(); // tr writer.RenderEndTag(); // table writer.RenderEndTag(); //td writer.RenderEndTag(); // tr //Ravish End writer.RenderBeginTag(HtmlTextWriterTag.Tr); writer.AddStyleAttribute(HtmlTextWriterStyle.PaddingLeft, "20px"); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.AddAttribute(HtmlTextWriterAttribute.Class, "ui-widget-content"); writer.AddAttribute(HtmlTextWriterAttribute.Id, "OCM_tbExpression"); writer.AddAttribute(HtmlTextWriterAttribute.Value, expression); writer.AddStyleAttribute("width", "95%"); writer.AddStyleAttribute("height", "150px"); writer.RenderBeginTag(HtmlTextWriterTag.Textarea); writer.RenderEndTag(); // textarea writer.RenderEndTag(); //td writer.RenderEndTag(); // tr writer.RenderEndTag(); // table result.buttons = new[] { new JsonDialogButton { text = RadarUtils.GetResStr("rsOk"), code = "RadarSoft.$('#" + grid.ClientID + "').data('grid').applyCalculated('applycalcmeasure|" + uniqueName + "')" }, new JsonDialogButton { text = RadarUtils.GetResStr("rsCancel"), code = "RadarSoft.$(this).dialog('close')" } }; result.data = writer.ToString(); return(result); }
internal virtual bool GetValueForSort(CellsetMember x, ICubeAddress y, List <Member> fColMembers, List <Member> fRowMembers, out object Value) { var a = x.GetAddress(); a.Merge(y); var b = GetCellValue(a, out Value); if (!b) { return(false); } var sm = a.MeasureMode; if (sm == null || IsNativeDataPresent(sm)) { return(b); } switch (sm.Mode) { case MeasureShowModeType.smPercentParentColItem: x = x.FParent; if (x == null) { return(true); } a = x.GetAddress(); a.Merge(y); object V; var b1 = GetCellValue(a, out V); if (!b1) { return(b); } try { Value = Convert.ToDouble(Value) / Convert.ToDouble(V); } catch { ; } break; case MeasureShowModeType.smPercentColTotal: a = x.GetAddress(); if (y.Measure != null) { a.Measure = y.Measure; a.MeasureMode = y.MeasureMode; } b1 = GetCellValue(a, out V); if (!b1) { return(b); } try { Value = Convert.ToDouble(Value) / Convert.ToDouble(V); } catch { ; } break; case MeasureShowModeType.smColumnRank: if (!(Value is IComparable)) { return(true); } if (a.Measure == null) { return(true); } a.MeasureMode = a.Measure.ShowModes[0]; var Rank = 1; var cmp = Value as IComparable; foreach (var m in fColMembers) { if (m == null) { continue; } try { a.AddMember(m); object vv; if (GetCellValue(a, out vv)) { if (cmp.CompareTo(vv) < 0) { Rank++; } } } catch { ; } } Value = Rank; break; case MeasureShowModeType.smRowRank: try { Value = -Convert.ToDouble(Value); } catch { ; } break; case MeasureShowModeType.smSpecifiedByEvent: if (!Grid.EventShowMeasureAssigned) { throw new Exception(string.Format(RadarUtils.GetResStr("rssmError"), a.Measure.DisplayName, sm.Caption)); } var E = new ShowMeasureArgs(Value, sm, null); E.fRowSiblings = fRowMembers; E.fColumnSiblings = fColMembers; E.fEvaluator = new Evaluator(Grid, a); Grid.EventShowMeasure(E); Value = E.ReturnData; break; } return(b); }
internal void Init(OlapControl grid) { if (!grid.Active) { throw new Exception(RadarUtils.GetResStr("rsCantRestoreInactiveGrid")); } var l = grid.FLayout; if (l.ColorBackAxisItem != null) { ColorAxis = l.ColorBackAxisItem.UniqueName; } if (l.fColorForeAxisItem != null) { ColorForeAxis = l.fColorForeAxisItem.UniqueName; } if (l.fSizeAxisItem != null) { SizeAxis = l.fSizeAxisItem.UniqueName; } if (l.fShapeAxisItem != null) { ShapeAxis = l.fShapeAxisItem.UniqueName; } if (l.fXAxisMeasure != null) { XMeasure = l.fXAxisMeasure.UniqueName; } if (l.fYAxisMeasures.Count > 0) { YMeasures = new SerializedMeasureGroup[l.fYAxisMeasures.Count]; for (var i = 0; i < l.fYAxisMeasures.Count; i++) { var g = new SerializedMeasureGroup(); YMeasures[i] = g; g.Init(l.fYAxisMeasures[i]); } } RowHierarchies = new string[l.fRowAxis.Count]; for (var i = 0; i < l.fRowAxis.Count; i++) { RowHierarchies[i] = l.fRowAxis[i].UniqueName; } ColumnHierarchies = new string[l.fColumnAxis.Count]; for (var i = 0; i < l.fColumnAxis.Count; i++) { ColumnHierarchies[i] = l.fColumnAxis[i].UniqueName; } PageHierarchies = new string[l.fPageAxis.Count]; for (var i = 0; i < l.fPageAxis.Count; i++) { PageHierarchies[i] = l.fPageAxis[i].UniqueName; } //ShapeHierarchies = new string[l.fShapeAxisItem.Count]; //for (int i = 0; i < l.fShapeAxisItem.Count; i++) //{ // ShapeHierarchies[i] = l.fShapeAxisItem[i].UniqueName; //} DetailsHierarchies = new string[l.fDetailsAxis.Count]; for (var i = 0; i < l.fDetailsAxis.Count; i++) { DetailsHierarchies[i] = l.fDetailsAxis[i].UniqueName; } var lm = new List <SerializedMeasure>(); if (grid.Measures.Level != null) { foreach (var m in grid.Measures.Level.Members) { var measure = grid.Measures.Find(m.UniqueName); if (measure.Visible || measure.Expression.IsFill()) { lm.Add(new SerializedMeasure(measure)); } } } Measures = lm.ToArray(); MeasureLayout = l.fMeasureLayout; MeasurePosition = l.fMeasurePosition; HideMeasureIfPossible = l.fHideMeasureIfPossible; HideMeasureModesIfPossible = l.fHideMeasureModesIfPossible; OpenendNodes = new string[0]; OpenendActions = new PossibleDrillActions[0]; Drills = grid.CellSet.FDrillActions.Select(item => item.ToString()).ToArray(); ValueSortedColumn = grid.FCellSet.ValueSortedColumn; if (ValueSortedColumn >= 0) { ValueSortingDirection = grid.FCellSet.ValueSortingDirection; } }