powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Про массив Controls
15 сообщений из 15, страница 1 из 1
Про массив Controls
    #34140349
Фотография Lola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Объявляю видимо неправильно...Dim cBxA(139) As System.Web.UI.WebControls.CheckBox
А потом, чтобы с ними не делала, на все один ответ: "Object reference not set to an instance of an object"
 
По большому счету, мне нужен массив контролов моей формы (их 140) с порядковыми номерами CBx1, CBx2...CBx140. В цикле их значения разбросать по полям и строкам в базу. Типа CBxA(i) послать куда-нибудь... Но затыкаюсь на первой же строчке....
 
...
Рейтинг: 0 / 0
Про массив Controls
    #34140382
dot_cheater
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все очень просто, ты объявила массив объектов, а вот сами объекты инициализировать забыла => единственное что тебе необходимо, так это прогнать весь массив в цикле и инициализировать каждый элемент As new CheckBox или как чек бокс представленный у тебя на форме
...
Рейтинг: 0 / 0
Про массив Controls
    #34140539
Фотография Lola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это то я в первую очередь пытаюсь сделать, но видимо тоже неправильно:


    Dim cBxA(139) As System.Web.UI.WebControls.CheckBox

    Dim dc As Control
    For Each dc In Me.Panel1.Controls
        If dc.GetType.ToString = "System.Web.UI.WebControls.CheckBox" Then
                cBxA(i).Controls.Add(dc)
                i = i + 1
        End If
    Next
...
Рейтинг: 0 / 0
Про массив Controls
    #34140657
dot_cheater
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
    Совершенно верно, что не верно :)

Давно не писал на ВБ но попробую изобразить

        Dim chbArr(140) As CheckBox
        Dim ctrl As New Control
        Dim i As Integer
        For i = 0 To 140
            chbArr(i) = New CheckBox
        Next
        i = 0
        For Each ctrl In Me.Panel1.Controls
            If ctrl.GetType.ToString = System.Web.UI.WebControls.CheckBox" Then
                chbArr(i) = ctrl
                i = i + 1
            End If
        Next
        chbArr(1).Text = "fsdfdfsdfdf"
...
Рейтинг: 0 / 0
Про массив Controls
    #34141252
Фотография Lola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, теперь я виже, где недописала... :)

Вот только теперь в продолжение темы. Мне нужно выражение типа:Me.DsList_Doc1.List_Doc.Rows(d).Item(5) = chbArr(i).Checked


Так вот, на форме чекбоксы стоят с разными значениями, кто True, кто False. А вот chbArr(i).Checked при любых  i принимает значение False. Тут тоже что-то не так?
...
Рейтинг: 0 / 0
Про массив Controls
    #34141383
dot_cheater
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
   Что то не так, эт ты верно подметила...
Не знаю у меня те что в тру стоят тру и выдают, ну а фолс - фолс.
А что ты за строку кода привела? Что она делает? Я давненько с ВБ.нет на C# перешел (кстати не жалею и всем того советую).
Опиши что ты хотела той строкой добиться, что она по твоему должна делать. Кстати ты на С# не шпрехаешь, а то апчаясь на этом языке мы бы добились больших результатов.
...
Рейтинг: 0 / 0
Про массив Controls
    #34141583
Фотография Lola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dot_cheater:

    Кстати ты на С# не шпрехаешь, а то апчаясь на этом языке мы бы добились больших результатов.

Не, не шпрехаю... Сории
А в той строке я записываю в датасет значения этих чекбоксов (что б им... ) Строка - d, колонка - 5.
Я дебагом проверяла, при любом i - False
Dim cBxA(139) As System.Web.UI.WebControls.CheckBox
Dim ctrl As New Control
For i = 0 To 139
cBxA(i) = New CheckBox
Next
For Each ctrl In Me.Panel1.Controls
If ctrl.GetType.ToString = "System.Web.UI.WebControls.CheckBox" Then
cBxA(i) = ctrl
Me.DsList_Doc1.List_Doc.Rows(d).Item(5)=cBxA(i).Checked ' вот он =False, а на форме - разные значения в чекбоксах
i += 1
d += 1
End If
Next
...
Рейтинг: 0 / 0
Про массив Controls
    #34141688
Фотография Lola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По-моему у меня тут что-то с панелями... У меня ж эти чекбоксы сидят на 14-ти панелях (чтобы удобнее было форму дизанировать)
Попробую разобраться...
...
Рейтинг: 0 / 0
Про массив Controls
    #34141892
Фотография Lola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странно, но я пытаюсь загнать в массив точно так же сначала панели, А на форме их как-будьто и нет
For i = 0 To 13
pnlA(i) = New Panel
Next
i = 0
For Each ctrl_pnl In Controls
If ctrl_pnl.GetType.ToString = "System.Web.UI.WebControls.Panel" Then
pnlA(i) = ctrl_pnl
i += 1
End If
Next
 
А на форме и лейблы лежат, и панели, и кнопка... Выдает при дебаге, что есть только тип
1. "System.Web.UI.ResoureBasedLiteralControl"
2. "System.Web.UI.HtmlControls.HtmlForm"
3. "System.Web.UI.LiteralControl"
 
Вот. А где же все?
...
Рейтинг: 0 / 0
Про массив Controls
    #34142073
Dimon aka Manowar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как форма строится? Панели с чекбоксами статические или в динамике добавляются?

Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
...
Рейтинг: 0 / 0
Про массив Controls
    #34142476
dot_cheater
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
For Each ctrl_pnl In Controls
Обрати внимание на эту строку, ты ищешь не там...
For Each ctrl_pnl In Me.Controls наверно должно быть вот так.
Еще раз повтоюсь у меня все чекбоксы выдают то что должны выдавать, если твой код не Биг Сикрет, то в архив и мне на мыло гляну че там... если время будет.
...
Рейтинг: 0 / 0
Про массив Controls
    #34142840
Фотография Lola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimon aka Manowar:
А как форма строится? Панели с чекбоксами статические или в динамике добавляются?

Я их на форму в дизайнере выставила. Динамически ничего не добавляется.

dot_cheater:
For Each ctrl_pnl In Controls
Обрати внимание на эту строку, ты ищешь не там...
For Each ctrl_pnl In Me.Controls наверно должно быть вот так.
Еще раз повтоюсь у меня все чекбоксы выдают то что должны выдавать, если твой код не Биг Сикрет, то в архив и мне на мыло гляну че там... если время будет.

Me.Controls - оно так и было первоначально, потом я убрала глядя на примеры в хэлпе, подумала, что поможет. Не помогло...
Код не биг-секрет, но биг-большой. Попробую вырезать только нужную часть. Чуть позже вышлю.
 
 
  
...
Рейтинг: 0 / 0
Про массив Controls
    #34143575
Фотография Lola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А адресок то дай, пожалуйста
...
Рейтинг: 0 / 0
Про массив Controls
    #34143699
dot_cheater
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
    Не надо смущаться :)
dot_cheater@mail.ru
Я тут подумал, мож проще будет если я тебе скину форму asp-шную, на ней будет пара паннелей контролов с помещенными в них чек боксами и организован цикл опроса их на предмет Чекед/Анчекед...
...
Рейтинг: 0 / 0
Про массив Controls
    #34143799
Фотография Lola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dot_cheater:

    Не надо смущаться :)
dot_cheater@mail.ru
Я тут подумал, мож проще будет если я тебе скину форму asp-шную, на ней будет пара паннелей контролов с помещенными в них чек боксами и организован цикл опроса их на предмет Чекед/Анчекед...

Давай, мой адрес в профайле.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Про массив Controls
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]