Вход/Регистрация
C# для профессионалов. Том II
вернуться

Ватсон Карли

Шрифт:

writer.Write("<TR><TD bgcoLor='#FFFFDD'>No options to" + " display.</TR></TD>");

 } else {

// Получить общее число голосов

for (int iLoop = 0; iLoop < Controls.Count; iLoop++) {

// Получить вариант выбора

currentOption = (Option)Controls[iLoop];

// Просуммировать результаты голосования

iTotalVotes += currentOption.Votes;

}

// Вывести каждый вариант выбора

for (int iLoop = 0; iLoop < Controls.Count; iLoop++) {

// Получить вариант выбора

currentOption = (Option)Controls[iLoop];

// Поместить имя варианта выбора в первый столбец

writer.Write("<TR><TD bgcolor='#FFFFDD' width="15%'> " +

currentOption.Name + " </TD>");

// Добавить вариант голосования во второй столбец,

// если требуется

if (currentPollStyle != pollStyle.valuesonly) {

writer.Write("<TD width='1%' bgcolor='#FFFFDD'>"

+ "<FONT Color='#FFFVDD'>.</FONT>");

currentOption.RenderControl(writer);

writer.Write("<FONT Color = '#FFFFDD'>.</FONT></TD>");

}

// Поместить график, значение и проценты в третьем столбце,

// если требуется

if (currentPollStyle != pollStyle.voteonly) {

if (iTotalVotes > 0) {

iPercentage = (currentOption.Votes * 100) / iTotalVotes;

} else {

iPercentage = 0;

}

writer.Write("<ТD bgcolor='#FFFFDD'><TABLE width='100%'>"

+ "<TR><TD><TABLE border='1' bordercolor= 'black' "

+ " width= '100%' cellpadding='0' " + " cellspacing='0'>");

writer.Write("<TR><TD bgcolor='red' width='" + iPercentage

+ "%'><FONT соlor='red'>.</FONT></TD>");

writer.Write<"TD bgcolor='white' width='" + (100-iPercentage) +

"%'><FONT color='white'>." +

"</FONT></TD></TR></TABLE></TD>");

writer.Write("<TD width='75'>" + сurrentOption.Votes +

" (" + iPercentage + "%)</TD><TR></TABLE></TD>");

}

// Конец строки

writer.Write("</TR>");

}

// показать общее тело голосов, если выводятся значения

if (currentPollStyle != pollStyle.voteonly) {

writer.Write("<TR><TD bgcolor='#FFFFDD' colspan='" +

iColumns + "'>Total votes cast: " + iTotalVotes + "</TD></TR>");

}

 }

 // Завершить таблицу

 writer.Write("</TABLE>");

}

Если выборочный опрос выводится в режиме

voteonly
, то голосование должно инициировать изменение изображения в режиме
valuesonly
.
Чтобы сделать это, нам потребуется небольшое изменение в обработчике кнопки голосования в классе
Option
:

protected void btnVote_Click(object sender, System.EventArgs e) {

 Increment;

 StrawPoll parent = (StrawPoll)Parent;

 if (parent.PollStyle == pollStyle.voteonly) {

parent.PollStyle = pollStyle.valuesonly;

 }

}

Теперь все готово к проведению голосования.

Добавление обработчика событий

Часто при использовании специальных элементов управления желательно инициировать специальные события и предоставить пользователям элемента управления действовать в соответствии с этим. В случае элемента управления выборочного опроса было бы хорошо иметь событие

Voted
, которое будет уведомлять форму, что голосование выполнено, и предоставлять ей всю информацию, необходимую для действия в этом случае.

  • Читать дальше
  • 1
  • ...
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: