Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
13 / 13 / 5
Регистрация: 10.10.2015
Сообщений: 89

Работа с CheckBoxList

19.03.2017, 16:03. Показов 1465. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как сделать, чтобы запятой не было после последнего элемента...а то этот код убирает её после первого элемента. Заранее спасибо
C#
1
2
3
4
5
6
7
8
9
string str = "";
            for (int i = 0; i < CheckBoxListPrograms.Items.Count - 1; i++)
            {
                if (CheckBoxListPrograms.Items[i].Selected){
                    str += CheckBoxListPrograms.Items[i].Text.ToString() + ",";} 
                else if (str == "")
                {
                    str = CheckBoxListPrograms.Items[i].Text.ToString();
                };
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.03.2017, 16:03
Ответы с готовыми решениями:

Условия и checkBoxList
Короче у меня две чекбокса один платный второй частично платный &lt;div class=&quot;controls&quot;&gt; &lt;?php...

checkboxlist выравнивание
Всем привет. У меня вопрос относительно checkboxlist. Проблема в том, что все айтемы выравнимаются вертикально, как выравнять...

Отображение элементов CheckBoxList
Добрый день! При динамическом формировании элементов CheckBoxList, они располагаются крайне не стройно, подскажите, как, как это можно...

7
140 / 133 / 88
Регистрация: 18.05.2013
Сообщений: 399
19.03.2017, 16:32
Лучший ответ Сообщение было отмечено gokell как решение

Решение

Используйте метод String.Join:
C#
1
string str = string.Join(",", CheckBoxListPrograms.Items.Where(_=>_.Selected).Select(__=>__.Text).ToArray());
1
13 / 13 / 5
Регистрация: 10.10.2015
Сообщений: 89
19.03.2017, 16:50  [ТС]
atoi, я еще не силен в этом, тут я так понимаю всё в массив записывается.

А если оставить строкой, то можно как то?

Добавлено через 4 минуты
нашел метод
C#
1
str = str.TrimEnd(',');
но не знаю, насколько целесообразно его использвать
0
140 / 133 / 88
Регистрация: 18.05.2013
Сообщений: 399
19.03.2017, 16:56
gokell, можно и так, если хотите оставить цикл, но Join подходит лучше.
Я показал Linq запрос, который выбирает свойство Text у выделенных CheckBoxListPrograms.Items, переводит в массив, а затем сцепляет элементы массива выбранным разделителем.
1
13 / 13 / 5
Регистрация: 10.10.2015
Сообщений: 89
19.03.2017, 18:11  [ТС]
atoi, Ещё вопрос назрел...а как сделать проверку, что если ничего не выбрано, то выводило сообщение с ошибкой?

C#
1
2
3
4
5
if (CheckBoxListPrograms.Items.Count < 0)
                        {
                            Response.Write("Select at least one");
 
                        }
А то этот код не выводит ничего
0
140 / 133 / 88
Регистрация: 18.05.2013
Сообщений: 399
19.03.2017, 18:14
gokell, если циклом, то просто считаете в цикле количество выбранных, если 0, то выдаете ошибку. Linq:
C#
1
if(!CheckBoxListPrograms.Items.Any(_=>_.Selected))
....
или
C#
1
if(CheckBoxListPrograms.Items.Count(_=>_.Selected) == 0)
0
13 / 13 / 5
Регистрация: 10.10.2015
Сообщений: 89
19.03.2017, 18:34  [ТС]
atoi, Чутка не понял, мне нужно сюда вставить? И что будет вместо _=>_

C#
1
2
3
4
5
6
7
8
9
10
for (int i = 0; i < CheckBoxListPrograms.Items.Count - 1; i++)
            {
                if (CheckBoxListPrograms.Items[i].Selected){
                    str += CheckBoxListPrograms.Items[i].Text.ToString() + ",";}
                else if(CheckBoxListPrograms.Items.Count(_=>_.Selected) == 0) {
                         Response.Write("Select at least one");
                }               
 
            }
            str = str.TrimEnd(',');
0
140 / 133 / 88
Регистрация: 18.05.2013
Сообщений: 399
19.03.2017, 18:42
gokell, только заметил, а почему у вас в цикле условие CheckBoxListPrograms.Items.Count - 1? Так вы теряете последний элемент массива...
Метод расширения Count перебирает все элементы коллекции (в данном случае - массива), поэтому цикл не нежен. Если хотите с циклом, то требуется еще один цикл:
C#
1
2
3
4
5
6
7
8
int count = 0;
for (int i = 0; i < CheckBoxListPrograms.Items.Count; i++)
{
    if (CheckBoxListPrograms.Items[i].Selected)
         count++;
}
 
if(count==0) //если выделенных элементов нет, выводим сообщение...
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.03.2017, 18:42
Помогаю со студенческими работами здесь

Сохранение выделения в CheckBoxList
Помогите пожалуйста! У меня есть CheckBoxList на одной странице, при переходе на следующую страницу выделение в CheckBox-e снимается. Как...

CheckBoxList - выбранные элементы
Добрый вечер! Прошу Вашей помощи, т.к. не хватает уже нервов (а если более честно мозгов) для того, что бы решить свою проблему. А...

Валидатор для CheckBoxList
Здравствуйте! Скажите пожалуйста, существует ли валидатор для CheckBoxList-а для проверки заполнения, что-то наподобие...

Доступ к строкам checkboxlist
Здравсвтуйте! На самом деле проблема не в checkboxlist-е, проблема во мне, наверное ( но, я не знал как задать заголовок. Вобщем,...

Два зависимых CheckBoxList
Здравствуйте! Модель выбирает из БД список товаров с их категориями. На форме нужно вывести CheckBoxList со списком категорий и еще...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru