Esempio n. 1
0
        private void SubCargarConf()
        {
            var restrictedTypes = new ViewType[] { ViewType.PolarArea, ViewType.PolarLine, ViewType.SideBySideGantt,
                                                   ViewType.SideBySideRangeBar, ViewType.RangeBar, ViewType.Gantt, ViewType.PolarPoint, ViewType.Stock, ViewType.CandleStick,
                                                   ViewType.Bubble };

            foreach (ViewType type in Enum.GetValues(typeof(ViewType)))
            {
                if (Array.IndexOf <ViewType>(restrictedTypes, type) >= 0)
                {
                    continue;
                }
                this.cmbTipoGrafica.Items.Add(type.ToString());
            }
            this.cmbColorGrafica.Items.AddRange(WebChart.GetPaletteNames());
            this.cmbTipoGrafica.SelectedIndex  = 10;
            this.cmbColorGrafica.SelectedIndex = 0;
            this.WebChart.DataBind();
        }
		private void SetAnswerData(QuestionResultsData.AnswersRow[] answers, float totalOfVotes, ChartEngine engine, WebChart.PieChart pieChart)
		{
			float currentRate = 0; 
			float totalRate = 0;
			float totalRateVotes = 0;
			
			foreach (QuestionResultsData.AnswersRow answer in answers)
			{
				if ((((AnswerTypeMode)answer.TypeMode & AnswerTypeMode.Selection) > 0))
				{
					float VotePercent = 0;

					if (totalOfVotes != 0)
					{
						if (answer.VoterCount==0)
							VotePercent = 0;		
						else
							VotePercent = ((float)answer.VoterCount / (float)totalOfVotes) * 100;
					}

					// Add answer text & vote count
					answer.AnswerText = Server.HtmlDecode(System.Text.RegularExpressions.Regex.Replace(answer.AnswerText, "<[^>]*>", " "));
					string answerChartText;
					
					if (VotePercent == 0)
					{
						answerChartText = string.Format("{0} " + Environment.NewLine +"({1} - 0%)",
							answer.AnswerText, answer.VoterCount.ToString(), VotePercent.ToString("##.##"));
					}
					else
					{
						answerChartText = string.Format("{0} " + Environment.NewLine +" ({1} - {2}%)",
							answer.AnswerText, answer.VoterCount.ToString(), VotePercent.ToString("##.##"));
					}
					
					
					pieChart.Data.Add(new ChartPoint(answerChartText, VotePercent));

					// Do we include this answer in the
					// rating total
					if (answer.RatePart)
					{
						currentRate++;
						totalRate += currentRate * answer.VoterCount;
						totalRateVotes += answer.VoterCount;
					}
				}
			}
		
			StringFormat horizontalFormat = new StringFormat();
			horizontalFormat.LineAlignment = StringAlignment.Near;
			engine.XTitle  = new ChartText();
			engine.XTitle.StringFormat = horizontalFormat;
			engine.XTitle.Font = new System.Drawing.Font("Verdana", 8);

			// Do we show the average rating 
			if (_dataSource.Questions[0].RatingEnabled)
			{
				double meanRate = 0;

				if (totalOfVotes == 0)
					meanRate = 0;
				else
					meanRate = totalRate / totalRateVotes;

				engine.XTitle.Text = string.Format("{0} - {1}",
					String.Format(ResourceManager.GetString("TotalOfVotes"), totalOfVotes),
					string.Format(ResourceManager.GetString("RatingResults"), meanRate.ToString("##.##"), currentRate));		
			}
			else
			{
				engine.XTitle.Text = String.Format(ResourceManager.GetString("TotalOfVotes"), totalOfVotes);
			}
		}