Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Вопрос по CheckListBox и DataSet. / 9 сообщений из 9, страница 1 из 1
13.07.2004, 23:47
    #32602807
dencat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по CheckListBox и DataSet.
Есть форма, на ней CheckListBox и кнопка ОК, привыделении элементов и нажатии на кнопку ОК выбранные элементы должны вставляться в таблицу в DataSet.Пишем так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Private Sub LoadMarcInDS(ByVal tblName As String, ByVal tblItem As String)

        Dim drMarc As DataRow

        Dim i As Integer

               For i =  1  To ChListBox.CheckedItems.Count
            'Создаем новую строку для таблицы 
            drMarc = CompanyForm.dsCompany.Tables(tblName).NewRow
            'Заполняем созданную строку очередным отмеченным пунктом.
            drMarc.Item(tblItem) = ChListBox.CheckedItems(i)
            'Добавляем полученную строку в таблицу.
            CompanyForm.dsCompany.Tables(tblName).Rows.Add(drMarc)
        Next i

End Sub

Но при попытке выполнения вываливается с исключением
An unhandled exception of type 'System.IndexOutOfRangeException' occurred in system.windows.forms.dll

Additional information: Index was outside the bounds of the array.

Ругаясь на строку
drMarc.Item(tblItem) = ChListBox.CheckedItems(i)

Вопрос, гдея ошибаюсь?
...
Рейтинг: 0 / 0
14.07.2004, 00:30
    #32602828
dencat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по CheckListBox и DataSet.
Так, с одной проблемой разобрался ошибка была в первой строке цикла, нужно было так:
For i = 0 To ChListBox.CheckedItems.Count - 1

Вставка происходит, но вместо самого текстового элемента вставляется надпись System.Data.DataRowView

Вопрос, как добраться до самих элементов CheckListBox, ведь свойства Text у него как я понял нет?
...
Рейтинг: 0 / 0
14.07.2004, 08:57
    #32602972
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по CheckListBox и DataSet.
А почему никто из задающих подобного рода вопросы не делает проблемных проектов?
Во первых - в ходе создания, можно самому разобраться с косяками
Во вторых людям проще разобраться с проблемой и помочь
Я бы с удовольствием помог, но как то немогу понять сути проблемы а самому имитировать проблему тоже как то странно...
По моему в этой строке кое чего не достаёт
Код: plaintext
1.
drMarc.Item(tblItem) = ChListBox.CheckedItems(i)
Код: plaintext
ChListBox.CheckedItems.Item(i)
Хотя могу и ошибаться, проверил бы так это проект создавать... Двойная работа...
...
Рейтинг: 0 / 0
14.07.2004, 09:28
    #32603011
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по CheckListBox и DataSet.
Код: plaintext
1.
drMarc.Item(tblItem) = ChListBox.CheckedItems(i)( 0 ) // :-) 
...
Рейтинг: 0 / 0
14.07.2004, 09:30
    #32603018
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по CheckListBox и DataSet.
P.S. Забыл добавить, согласен с vladgrig наличие проблемного проекта ускорит решение проблемы
...
Рейтинг: 0 / 0
14.07.2004, 10:36
    #32603154
dencat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по CheckListBox и DataSet.
Sa спасибо работает.
А что означает drMarc.Item(tblItem) = ChListBox.CheckedItems(i)(0) этот (0)?
Столбец?
vladgrig,спасибо ChListBox.CheckedItems.Item(i) не работает это я пробовал, а вот
ChListBox.CheckedItems.Item(i)(0) работает.
Как правильнее?

Что вы имели ввиду под наличием проблемного проекта? Взяться за выполненние какого то проекта или выложить полное описаниее задачи?
Если первое, то я бы с удовольствием, но боюсь что стаж програмирования длительностью 1 месяц врятли позволяет давать советы, что касается второго то пожалуйста, выложу если комуто интересно.

Спасибо за советы.
...
Рейтинг: 0 / 0
14.07.2004, 11:03
    #32603221
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по CheckListBox и DataSet.
А что означает drMarc.Item(tblItem) = ChListBox.CheckedItems(i)(0) этот (0)?
Столбец?

Да столбец

а вот
ChListBox.CheckedItems.Item(i)(0) работает.
Как правильнее?

Совершенно одинаково.

Что вы имели ввиду под наличием проблемного проекта?

В контексте данной темы, это маленький проект (solution) с формой, checkedlistbox. И кодом который не работает.
...
Рейтинг: 0 / 0
14.07.2004, 11:16
    #32603274
vladgrig
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по CheckListBox и DataSet.
авторvladgrig,спасибо ChListBox.CheckedItems.Item(i) не работает это я пробовал, а вот
ChListBox.CheckedItems.Item(i)(0) работает.
Как правильнее?

Правильней, так как работает
...
Рейтинг: 0 / 0
14.07.2004, 11:44
    #32603387
dencat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по CheckListBox и DataSet.
Понял, еще раз спасибо за советы.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Вопрос по CheckListBox и DataSet. / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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