Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Ошибка обращения к DataGridView, из дочерней формы

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

ServanteS87



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте, столкнулся с проблемой при редактировании значения DataGrid, находящегося в Form1 из Form 2
 
Form1 (sprbk):
 
Private Sub edtbtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles edtbtn.Click
        Dim edt As New edtbk()
        'Set the Parent Form of the Child window.
        edt.MdiParent = main
        'Внесение значений из датагрида в поля формы edtbk
        edt.nmtxtbx.Text = DirectCast(BooksDataGridView.CurrentRow.Cells(2).Value, String)
        edt.crtdttm.Value = DirectCast(BooksDataGridView.CurrentRow.Cells(1).Value, Date)
        'Display the new form.
        edt.Show()
    End Sub
Form2(edtbk):
 
Private Sub okbtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles okbtn.Click
       
        'Внесение изменений в таблицу
        sprbk.BooksDataGridView.CurrentRow.Cells(2).Value = nmtxtbx.Text
        sprbk.BooksDataGridView.CurrentRow.Cells(1).Value = crtdttm.Value
 
        'Проверка введенных данных и сохранение изменений
        Me.Validate()
        Me.BooksBindingSource.EndEdit()
        Me.TableAdapterManager.UpdateAll(Me.DipDataSet)
 
        'Закрытие формы
        Me.Close()
    End Sub
 
Компилируется, но при нажатии на ОК в форме редактирования (Form2) выдает ошибку "ссылка на объект не указывает на экземпляр объекта"
 
Проблема точно в 4 и 5 строках дочерней формы, но как сделать правильно, я не знаю.
 
 
PS: Простите быдлокодера, но очень нужно...

Всего записей: 6 | Зарегистр. 26-06-2011 | Отправлено: 19:27 29-04-2014
miwa

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
столкнулся с проблемой при редактировании значения DataGrid, находящегося в Form1 из Form 2

Я понимаю, что очень нужно, но... зачем?
 
Тем не менее, это наверное (визуалбейсик видел последний раз лет 15 назад) можно обойти, если в Fоrm1 написать процедуру типа MyProc(value1, value2), которая будет делать
 
        sprbk.BooksDataGridView.CurrentRow.Cells(2).Value = value1
        sprbk.BooksDataGridView.CurrentRow.Cells(1).Value = value2
 
а в Form2 сооветственно вызывать ее
        Form1.MyProc(nmtxtbx.Text, crtdttm.Value)
 

Всего записей: 455 | Зарегистр. 10-10-2004 | Отправлено: 13:23 30-04-2014
ServanteS87



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Да, спасибо, но возникла проблема.
 
В Form1 создал процедуру:
 
Public Sub Editbkpr(ByVal value1, ByVal value2)
        BooksDataGridView.CurrentRow.Cells(2).Value = value1
        BooksDataGridView.CurrentRow.Cells(1).Value = value2
    End Sub
 
В Form2, на кнопку "ОК" соответственно, вызов:
 
sprbk.Editbkpr(nmtxtbx.Text, crtdttm.Value)
 
Теперь при нажатии кнопки "ОК" окна редактирования выдает ту-же ошибку "ссылка на объект не указывает на экземпляр объекта"...
 
Процедура кнопки "ОК":
 
 Private Sub okbtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles okbtn.Click
        'Внесение изменений в таблицу
        sprbk.Editbkpr(nmtxtbx.Text, crtdttm.Value)
 
        'Проверка введенных данных и сохранение изменений
        Me.Validate()
        Me.BooksBindingSource.EndEdit()
        Me.TableAdapterManager.UpdateAll(Me.DipDataSet)
 
        'Закрытие формы
        Me.Close()
    End Sub
 
Добавлено:
Может мне подключить чего надо?

Всего записей: 6 | Зарегистр. 26-06-2011 | Отправлено: 17:07 30-04-2014
miwa

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nmtxtbx.Text, crtdttm.Value - здесь точно есть необходимые данные?
 
Если в процедуре Editbkpr обращения к гриду заменить на какой-то debug output - что выводится?

Всего записей: 455 | Зарегистр. 10-10-2004 | Отправлено: 09:26 01-05-2014
ServanteS87



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Честно говоря, не очень понял как заменить на Debug Output. Может выложить исходники, чтобы Вы могли глянуть?

Всего записей: 6 | Зарегистр. 26-06-2011 | Отправлено: 21:09 02-05-2014
miwa

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ServanteS87
Толку не будет. Как я уже писал, я с визуалбейсиком уже лет 10 не работал, а то и больше.  
 
Говоря про debug output, я имел в виду, что полученные процедурой Editbkpr значения не писать в грид, а вывести на екран, в консоль, еще куда-то куда позволяет бейсик и обстоятельства - чтобы посмотреть, что именно передается в эту процедуру.

Всего записей: 455 | Зарегистр. 10-10-2004 | Отправлено: 23:55 02-05-2014
miwa

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вот, вспомнилось наутро. Как вариант debug output можна использовать MsgBox.

Всего записей: 455 | Зарегистр. 10-10-2004 | Отправлено: 10:12 03-05-2014
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Ошибка обращения к DataGridView, из дочерней формы


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru