User (Legacy) Posted February 20, 2002 Report Share Posted February 20, 2002 I believe that I have found a bug somehow relating to the PointLabels and Border properties of a series. When I use the following code: <!-- #include virtual="/Include/CfxIE.inc" --> <% Set ChartFX1 = Server.CreateObject("ChartFX.WebServer") ChartFX1.OpenDataEX COD_VALUES,1,1 ChartFX1.ValueEX(0,0) = 10 ChartFX1.CloseData COD_VALUES chartFX1.Series(0).PointLabels = True 'LINE 1 ChartFX1.Series(CS_ALL).Border = True 'LINE 2 Response.Write ChartFX1.GetHtmlTag(300,300,"Image") %> The point label for Series(0) is NOT displayed. However, if I reverse the order of LINE 1 and LINE 2, the point label for Series(0) IS displayed. Also, if I keep the lines in the same original order and change LINE 2 to use the value "0" instead of "CS_ALL," the label IS displayed. I can assign the Border property of the whole chart instead of the Series(CS_ALL) and the label IS displayed. This code is SEVERLY reduced from the original but is the minimal code with which I've been able to reproduce the problem. This behavior exhibits itself with multiple data points per series and multiple series. I'm am running ChartFX IE 5.5.3.0 on a Windows 2000 Server 5.00.2195 Service Pack 1. The browser is IE 5 but should be irrelevant as an image is being generated and no client side activity is being performed. Obviously, with the aforementioned workarounds, this is not a critical bug. If you need more information, please let me know. Chris Link to comment Share on other sites More sharing options...
User (Legacy) Posted February 20, 2002 Author Report Share Posted February 20, 2002 I have noticed that I was not entirely right on one of the workarounds. I said that if you assign the Border property of the whole chart instead of the Series(CS_ALL), the label is displayed. This is true; however, if you assign true to the Border property, the Border is NOT displayed. In my limited testing, the only way I can get both the label and border displayed is to set the border on each individual series (chart.series(n).border = true). Chris "Chris Taylor" <ctaylor@belltechlogix.com> wrote in message news:bhCk1WjuBHA.1412@webserver1.softwarefx.com... > I believe that I have found a bug somehow relating to the PointLabels and > Border properties of a series. When I use the following code: > > <!-- #include virtual="/Include/CfxIE.inc" --> > <% > Set ChartFX1 = Server.CreateObject("ChartFX.WebServer") > > ChartFX1.OpenDataEX COD_VALUES,1,1 > ChartFX1.ValueEX(0,0) = 10 > ChartFX1.CloseData COD_VALUES > chartFX1.Series(0).PointLabels = True 'LINE 1 > ChartFX1.Series(CS_ALL).Border = True 'LINE 2 > > Response.Write ChartFX1.GetHtmlTag(300,300,"Image") > %> > > The point label for Series(0) is NOT displayed. However, if I reverse the > order of LINE 1 and LINE 2, the point label for Series(0) IS displayed. > Also, if I keep the lines in the same original order and change LINE 2 to > use the value "0" instead of "CS_ALL," the label IS displayed. I can assign > the Border property of the whole chart instead of the Series(CS_ALL) and the > label IS displayed. > > This code is SEVERLY reduced from the original but is the minimal code with > which I've been able to reproduce the problem. This behavior exhibits > itself with multiple data points per series and multiple series. > > I'm am running ChartFX IE 5.5.3.0 on a Windows 2000 Server 5.00.2195 Service > Pack 1. The browser is IE 5 but should be irrelevant as an image is being > generated and no client side activity is being performed. > > Obviously, with the aforementioned workarounds, this is not a critical bug. > > If you need more information, please let me know. > > Chris > > > Link to comment Share on other sites More sharing options...
Software FX Posted February 22, 2002 Report Share Posted February 22, 2002 When you execute the following code ChartFX1.Series(CS_ALL).Border = True It means that you want all your series to have border but it also means to us that you want us to "ignore" the same attribute if it was set on a per-series basis. The problem lies in the fact that keep many related properties like Border and PointLabels internally as 1 number where every bit is a flag so that line of code is actually clearing the PointLabels flag. The problem in your second posting is that even though you are turning on the flag for the whole chart, you are also setting the PointLabels true for a particular series and again we now use a different typemask per series. Note that this should work ChartFX1.Border = True ChartFX1.Series(0).PointLabels = True I would recommend you set first all the global flags, you can safely use the chart property instead of Series(CS_ALL), and then customize the series as desired. -- Regards JC Software FX Support "Chris Taylor" <ctaylor@belltechlogix.com> wrote in message news:cKrmm7juBHA.1412@webserver1.softwarefx.com... > I have noticed that I was not entirely right on one of the workarounds. I > said that if you assign the Border property of the whole chart instead of > the Series(CS_ALL), the label is displayed. This is true; however, if you > assign true to the Border property, the Border is NOT displayed. In my > limited testing, the only way I can get both the label and border displayed > is to set the border on each individual series (chart.series(n).border = > true). > > Chris > > "Chris Taylor" <ctaylor@belltechlogix.com> wrote in message > news:bhCk1WjuBHA.1412@webserver1.softwarefx.com... > > I believe that I have found a bug somehow relating to the PointLabels and > > Border properties of a series. When I use the following code: > > > > <!-- #include virtual="/Include/CfxIE.inc" --> > > <% > > Set ChartFX1 = Server.CreateObject("ChartFX.WebServer") > > > > ChartFX1.OpenDataEX COD_VALUES,1,1 > > ChartFX1.ValueEX(0,0) = 10 > > ChartFX1.CloseData COD_VALUES > > chartFX1.Series(0).PointLabels = True 'LINE 1 > > ChartFX1.Series(CS_ALL).Border = True 'LINE 2 > > > > Response.Write ChartFX1.GetHtmlTag(300,300,"Image") > > %> > > > > The point label for Series(0) is NOT displayed. However, if I reverse the > > order of LINE 1 and LINE 2, the point label for Series(0) IS displayed. > > Also, if I keep the lines in the same original order and change LINE 2 to > > use the value "0" instead of "CS_ALL," the label IS displayed. I can > assign > > the Border property of the whole chart instead of the Series(CS_ALL) and > the > > label IS displayed. > > > > This code is SEVERLY reduced from the original but is the minimal code > with > > which I've been able to reproduce the problem. This behavior exhibits > > itself with multiple data points per series and multiple series. > > > > I'm am running ChartFX IE 5.5.3.0 on a Windows 2000 Server 5.00.2195 > Service > > Pack 1. The browser is IE 5 but should be irrelevant as an image is being > > generated and no client side activity is being performed. > > > > Obviously, with the aforementioned workarounds, this is not a critical > bug. > > > > If you need more information, please let me know. > > > > Chris > > > > > > > > Link to comment Share on other sites More sharing options...
User (Legacy) Posted February 25, 2002 Author Report Share Posted February 25, 2002 Thanks for the suggestions. One question, though, is this feature/bug documented anywhere? I could see many other people running into this, particularly in the second situation (setting a chart-wide value AFTER setting a series value). A suggestion - always use a different bitmask/typemask per series. Then, when a chart-wide attribute is set, apply the attribute to each bitmask. This would/should remove the pickiness on the order of attribute settings. Yes, it is a little bit more work on the back end, but it makes, IMHO, the API much more intuitive. Really, unless it is the same attribute, the order of attribute assignment should not matter (as long as it is before the chart generation, that is). Thanks again. Chris "Software FX Support" <support@softwarefx.com> wrote in message news:UTT29U$uBHA.1412@webserver1.softwarefx.com... > When you execute the following code > > ChartFX1.Series(CS_ALL).Border = True > > It means that you want all your series to have border but it also means to > us that you want us to "ignore" the same attribute if it was set on a > per-series basis. The problem lies in the fact that keep many related > properties like Border and PointLabels internally as 1 number where every > bit is a flag so that line of code is actually clearing the PointLabels > flag. > > The problem in your second posting is that even though you are turning on > the flag for the whole chart, you are also setting the PointLabels true for > a particular series and again we now use a different typemask per series. > > Note that this should work > ChartFX1.Border = True > ChartFX1.Series(0).PointLabels = True > > I would recommend you set first all the global flags, you can safely use the > chart property instead of Series(CS_ALL), and then customize the series as > desired. > > -- > Regards > > JC > Software FX Support > > "Chris Taylor" <ctaylor@belltechlogix.com> wrote in message > news:cKrmm7juBHA.1412@webserver1.softwarefx.com... > > I have noticed that I was not entirely right on one of the workarounds. I > > said that if you assign the Border property of the whole chart instead of > > the Series(CS_ALL), the label is displayed. This is true; however, if you > > assign true to the Border property, the Border is NOT displayed. In my > > limited testing, the only way I can get both the label and border > displayed > > is to set the border on each individual series (chart.series(n).border = > > true). > > > > Chris > > > > "Chris Taylor" <ctaylor@belltechlogix.com> wrote in message > > news:bhCk1WjuBHA.1412@webserver1.softwarefx.com... > > > I believe that I have found a bug somehow relating to the PointLabels > and > > > Border properties of a series. When I use the following code: > > > > > > <!-- #include virtual="/Include/CfxIE.inc" --> > > > <% > > > Set ChartFX1 = Server.CreateObject("ChartFX.WebServer") > > > > > > ChartFX1.OpenDataEX COD_VALUES,1,1 > > > ChartFX1.ValueEX(0,0) = 10 > > > ChartFX1.CloseData COD_VALUES > > > chartFX1.Series(0).PointLabels = True 'LINE 1 > > > ChartFX1.Series(CS_ALL).Border = True 'LINE 2 > > > > > > Response.Write ChartFX1.GetHtmlTag(300,300,"Image") > > > %> > > > > > > The point label for Series(0) is NOT displayed. However, if I reverse > the > > > order of LINE 1 and LINE 2, the point label for Series(0) IS displayed. > > > Also, if I keep the lines in the same original order and change LINE 2 > to > > > use the value "0" instead of "CS_ALL," the label IS displayed. I can > > assign > > > the Border property of the whole chart instead of the Series(CS_ALL) and > > the > > > label IS displayed. > > > > > > This code is SEVERLY reduced from the original but is the minimal code > > with > > > which I've been able to reproduce the problem. This behavior exhibits > > > itself with multiple data points per series and multiple series. > > > > > > I'm am running ChartFX IE 5.5.3.0 on a Windows 2000 Server 5.00.2195 > > Service > > > Pack 1. The browser is IE 5 but should be irrelevant as an image is > being > > > generated and no client side activity is being performed. > > > > > > Obviously, with the aforementioned workarounds, this is not a critical > > bug. > > > > > > If you need more information, please let me know. > > > > > > Chris > > > > > > > > > > > > > > > Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.