Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
CheckBoxList
|
|||
|---|---|---|---|
|
#18+
У меня есть DataGrid, в него вложен DataList с шаблоном CheckBoxList. Мне нужно все выделенные записи в CheckBoxList сохранить в базу данных. Выделяю, и начинаю сохранять, при сохранении просматриваю весь CheckBoxList таким образом: for i:=0 to count_grid-1 do begin for n:=0 to (dgParent.Items.Item .FindControl('dlChild') as DataList).Items.Count - 1 do begin if (((dgParent.Items.Item.FindControl('dlChild') as DataList).Items.Item[n].FindControl('cb')) as CheckBoxlist).Items.Item[n].Selected then begin //добавление в базу end; end; Первый элемент сохраняется и цикл проходит нормально, а когда переходит к следующему элементу, количество CheckBoxList.Items.Count становится равным нулю. Помогите пожалуйста! Как сделать чтобы элементы CheckBoxList не исчезали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2004, 14:24 |
|
||
|
CheckBoxList
|
|||
|---|---|---|---|
|
#18+
А если так попробывать? Код: plaintext 1. 2. 3. 4. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2004, 14:32 |
|
||
|
CheckBoxList
|
|||
|---|---|---|---|
|
#18+
Ошибка то вот в этой строке, т.е. CheckBoxList.Items.count = 0 Ошибка такая: Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index Source Error: Line 477: if (((dgParent.Items.Item .FindControl('dlChild') as DataList).Items.Item[n].FindControl('cb')) as CheckBoxList).Items.Item[n].Selected then Line 478: begin ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2004, 14:56 |
|
||
|
CheckBoxList
|
|||
|---|---|---|---|
|
#18+
у CheckBoxList есть свойство CheckedItems. ms-help://MS.VSCC.2003/MS.MSDNQTR.2003APR.1033/cpref/html/frlrfSystemWindowsFormsCheckedListBoxClassCheckedIndicesTopic.htm Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2004, 15:32 |
|
||
|
CheckBoxList
|
|||
|---|---|---|---|
|
#18+
По одному элементу не желательно сохранять. Сохранять надо массив. Правда Аксес не позволяет сохранять массивы, зато ежели ты работаешь с SQL-сервером или Oracle, то там можно построить запрос (всего один), сохраняющий в БД весь массив данных. Почему у тебя обнуляется число элементов, я не знаю, возможно это связано с тем чёрным ящиком, который представляет из себя процедура сохранения в БД. Итак, раскладываю по полочкам: 1. Ты пишешь судя по коду на Паскале (или как сейчас модно его называть Дельфи). Я не знаю, поддерживает ли Паскаль объектный тип данных, но он поддерживает тип "запись".Вот и создай массив элементов типа "запись". Заполни его в цикле: program abc (input,output); var array1[1..CheckBoxList.Items.Count] :record(не помню как выглядит описание типа рекорд); i:integer; imax:integer; sqlString:text; begin imax:=CheckBoxList.Items.Count for i:=1 to imax if CheckBoxList.Items[i-1].selected=true then {заполнение массива} next i; sqlString:="insert into ..." {процедура подключения к БД}; {процедура взятия запроса SQL}; {процедура отключения от БД} end. 2. Я прошу прощения, уже 10 лет не работал с Паскалем, забыл всё нафиг, помню только, что в 5-й версии отменили запрет ставить точку с запятой перед end. Короче предлагаю сперва массив заполнить, потом сделать строку запроса SQL, а потом осуществить запрос. Так как построчно брать запросы слишком медленно. Max Pro ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2004, 15:32 |
|
||
|
CheckBoxList
|
|||
|---|---|---|---|
|
#18+
слажал... не заметил родной паскаль ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2004, 15:43 |
|
||
|
|

start [/forum/topic.php?fid=17&fpage=126&tid=1354042]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 284ms |
| total: | 430ms |

| 0 / 0 |
