|
Использование ListBox в цикле
|
|||
---|---|---|---|
#18+
Здравствуйте уважаемые Гуру! Нужен ваш совет Есть цикл foreach , в котором перебираются строки DataView В зависимости от логических условий анализа строки выводится (или не выводится) ListBox , из которого пользователю нужно выбрать значение, для дальнейшего использования в цикле Подскажите пожалуйста как можно поставить цикл на "паузу", чтобы пользователь мог сделать выбор и цикл продолжил свою работу Заранее благодарен всем откликнувшимся. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2017, 15:16 |
|
Использование ListBox в цикле
|
|||
---|---|---|---|
#18+
Arbit, На событие открытие формы, окна пробежать цикл и проставить в эти строки в колонку Решение текст с кнопкой "Выбрать". Юзверь понажимает кнопки, а потом опять цикл. И ставить на паузу не нужно. Это как в магазине Корзина. Вы же не в паузе открываете корзину. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2017, 17:48 |
|
Использование ListBox в цикле
|
|||
---|---|---|---|
#18+
Arbitдля дальнейшего использования в цикле Тут надо подробнее, т.к. обычно бизнес логика не зависит от сортировки. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2017, 17:51 |
|
Использование ListBox в цикле
|
|||
---|---|---|---|
#18+
Petro123, спасибо! авторArbit для дальнейшего использования в цикле Тут надо подробнее, т.к. обычно бизнес логика не зависит от сортировки. Подробнее Пользователь добавляет запись в базу данных из формы Одно из полей - RichtTextBox в котором формируется описание операции из предложенных последовательно списков в ListBox ( выбор в каждом списке является критерием для select следующего списка ). Списки на основе DataTable (через DataView.RowFilter .) Здесь все нормально. Но на основе выбора из последнего списка создается DataView , строки которого перебираются в цикле. В цикле анализируется каждая строка на предмет содержания определенных символов . Если строка содержит необходимый символ, то нужно показать ListBox содержащий DataView из другой таблицы для выбора значения, которое должно записаться в буфер (List<string>) В цикле могут встретиться и строки без оговоренных символов и тогда записывается другое значение в буфер. После окончания цикла все данные из полей формы, плюс буфера - добавляются в базу в виде новой строки Не могу придумать как сделать паузу в цикле для : 1. отображения списка пользователю 2. дождаться его выбора и, на основе него, записать некоторое значение в буфер Затем перейти к следующей строке в цикле. В цикле строк от 1 до 15(максимум) ,и ListBox нужно будет показывать максимум раз 5 -6. А может быть и ни разу Как-то так Заранее спасибо за готовность помочь ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2017, 21:41 |
|
Использование ListBox в цикле
|
|||
---|---|---|---|
#18+
Странный алгоритм, конечно, но все же. Если предполагается интерактивный диалог с пользователем, ваш ListBox отображайте на отдельной форме. А форму в цикле показывайте через ShowModal и все ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2017, 08:55 |
|
Использование ListBox в цикле
|
|||
---|---|---|---|
#18+
Arbit, Семён, сделай форму, в которой будет ListBox и в цикле делай frm.ShowDialog() пока диалог не закроется (пользователь выбрал и нажал кнопку "подтвердить") цикл дальше не пойдёт ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2017, 10:08 |
|
Использование ListBox в цикле
|
|||
---|---|---|---|
#18+
Arbit, Ниже верно написали. Если не MVP, то про учитывая ООП пишите Цикл ПрочестьСтроку (); IF GialogForm = OK ОбработатьСтроку (Строка) КонецЦикла. Модальная форма это пауза при показе. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2017, 10:42 |
|
Использование ListBox в цикле
|
|||
---|---|---|---|
#18+
Arbit, По MV* лучше отделять БЛ от ГУИ. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2017, 10:45 |
|
Использование ListBox в цикле
|
|||
---|---|---|---|
#18+
Petro123, Это и есть ГУИ у меня. А вся БЛ у меня вообще в DLL на с++ С# у меня только как пользовательский интерфейс, правда ввод данных через именно эту форму такой "авороченный". Но такова задумка. По-другому никак. Прежде чем отправить в базу нужно подготовить данные используя мини-парсинг. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2017, 14:50 |
|
Использование ListBox в цикле
|
|||
---|---|---|---|
#18+
наутилус, привет! Все сделал, большое спасибо. Правда я думал что можно обойтись без отдельной формы, но, видимо, это единственный способ для интерактива в цикле. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2017, 14:53 |
|
Использование ListBox в цикле
|
|||
---|---|---|---|
#18+
Еще раз всем большая благодарность! Хорошего дня! ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2017, 14:54 |
|
Использование ListBox в цикле
|
|||
---|---|---|---|
#18+
ArbitЭто и есть ГУИ у меня. А вся БЛ у меня вообще в DLL на с++ я говорил про MV* на C# для этого должен быть класс под формой - презентер. Т.е. это не по MV* вот и всё что я сказал. ArbitПо-другому никак. над DLL делается обёртка-класс ArbitПравда я думал что можно обойтись без отдельной формы, можно без неё, даже в одной процедуре т.к. нет потоков, но просто будет мешанина кода в одном классе-форме. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2017, 15:14 |
|
Использование ListBox в цикле
|
|||
---|---|---|---|
#18+
наутилус, у меня еще вопрос. Этот RichtTextBox в форме это пока для отладки. Текст в нем форматированный по цвету. И в базе он будет храниться в форматированном виде. То есть со спец символами. И загружаться в грид будет форматированный А в конечном варианте RichtTextBox должен быть одним из полей в DataGridView. Ввод данных планируется делать в гриде. Я смотрел в MSDN на примере DatePiker, но для меня это показалось сложновато Можешь "на пальцах" объяснить как это прикрутить? Или тыкнуть ссылкой на готовый пример, если где есть? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2017, 15:16 |
|
Использование ListBox в цикле
|
|||
---|---|---|---|
#18+
Petro123ArbitПравда я думал что можно обойтись без отдельной формы, можно без неё, даже в одной процедуре т.к. нет потоков, но просто будет мешанина кода в одном классе-форме. И то верно. Одна дополнительная формочка в проекте погоды не сделает. Короче- будет модальная форма. Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2017, 15:20 |
|
Использование ListBox в цикле
|
|||
---|---|---|---|
#18+
Arbit, вот пример. сам не пробовал: https://www.codeproject.com/Articles/31823/RichTextBox-Cell-in-a-DataGridView а это пример от майкрософта: https://docs.microsoft.com/en-us/dotnet/framework/winforms/controls/how-to-host-controls-in-windows-forms-datagridview-cells по аналогии можно сделать, не календарь, а ричтекстбокс ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2017, 16:06 |
|
Использование ListBox в цикле
|
|||
---|---|---|---|
#18+
ArbitА в конечном варианте RichtTextBox должен быть одним из полей в DataGridView. насколько понял, из коробки в шарпе грид не поддерживает данного. Т.е. надо много писать руками в Cell.Paint imho ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2017, 16:07 |
|
Использование ListBox в цикле
|
|||
---|---|---|---|
#18+
Petro123, из коробки нет, но и не так много руками писать. примеры выше ) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2017, 16:08 |
|
Использование ListBox в цикле
|
|||
---|---|---|---|
#18+
наутилуса это пример от майкрософта: https://docs.microsoft.com/en-us/dotnet/framework/winforms/controls/how-to-host-controls-in-windows-forms-datagridview-cells ёшкин кот. 700 строк кода для типа колонки(. Жалко в шарпе грид слабенький. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2017, 16:09 |
|
Использование ListBox в цикле
|
|||
---|---|---|---|
#18+
Petro123, ну можно чужие компоненты поставить ) потом разбираться с их косяками и тормозами ) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2017, 16:23 |
|
Использование ListBox в цикле
|
|||
---|---|---|---|
#18+
наутилус, да. У нас Телерик.)) А грид в шарпе просили ещё лет 8 назад AFAIK) А аффтару придётся поумерить хотелки для разноцветного циркового грида. Удачи аффтару! ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2017, 16:28 |
|
Использование ListBox в цикле
|
|||
---|---|---|---|
#18+
Petro123, Когда очень "хочется", это хуже чем "болит" :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2017, 20:51 |
|
Использование ListBox в цикле
|
|||
---|---|---|---|
#18+
Arbit Еще раз всем большая благодарность! Хорошего дня! Жаль, что Вы подумали, что блестяще решили задачу. Перебор строк в гриде - уже дурная практика. Какую задачу Вы решаете? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2017, 22:17 |
|
Использование ListBox в цикле
|
|||
---|---|---|---|
#18+
наутилусArbit, вот пример. сам не пробовал: https://www.codeproject.com/Articles/31823/RichTextBox-Cell-in-a-DataGridView Рабочий пример. Спасибо! Схему понял: три своих класса от базовых (Column, Cell и Control ). Пошел копипастить :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2017, 22:22 |
|
|
start [/forum/topic.php?fid=20&fpage=39&tid=1399708]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
77ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 188ms |
0 / 0 |