Страница: 1 |
|
Вопрос: Событие DataGridView в другой форме
|
Добавлено: 13.04.11 17:09
|
|
Автор вопроса: Калина
|
Здравствуйте.
Есть две формы: в первой по щелчку на кнопке открывается вторая форма. На второй есть DataGridView. Как обработать событие(например двойной клик на ячейке грида) в первой форме(например, передать значения ячейки в текстовое поле на первой форме. Заранее спасибо.
Ответить
|
Номер ответа: 2 Автор ответа: СанСаныч
Вопросов: 3 Ответов: 118
|
Профиль | | #2
|
Добавлено: 13.04.11 19:52
|
Потребность в такой конструкции выдает абсолютно неверный подход к разработке. Ты пытаешься работать с данными другого потока, что не есть гуд. Вспомни о такой вещи как инкапсуляция и перепиши программу сейчас. Или придется переписывать ее через неделю (месяц-два).
По сабжу: Если будет твердое обоснование необходимости такого подхода, готов набросать пример на шарпе.
Ответить
|
Номер ответа: 3 Автор ответа: Калина
Вопросов: 2 Ответов: 5
|
Профиль | | #3
|
Добавлено: 13.04.11 20:27
|
Согласен... Увы, я пока не ас))). Почему возникла такая мысль...
Ранее, по щелчку на кнопке в первой форме, открывалась вторая форма:
- Private Sub btAddCl_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btAddCl.Click
- Dim myForm = New form2
- myForm.Text = "Новый клиент"
- AddHandler CF.Closed, AddressOf UpdateDG1
- myForm.Show
То есть, добавил обработчик события Closed второй формы. В обработчике соответственно анализировал, допустим значение текстового поля во второй форме:
- Sub AddOtv(ByVal sen As Object, ByVal ea As EventArgs)
- Dim myForm2 As form2 = CType(sen, form2)
- Label1.Text = myForm2.TextBox1.Text
- End Sub
Потом и подумал, очевидно так же можно написать обработчик щелчка на гриде второй формы, чтобы в первую передать значения ячейки, по которой был двойной клик.
Ответить
|
Номер ответа: 5 Автор ответа: СанСаныч
Вопросов: 3 Ответов: 118
|
Профиль | | #5
|
Добавлено: 14.04.11 08:45
|
Вопрос: что ты хочешь сделать?
Ответить
|
Номер ответа: 6 Автор ответа: Калина
Вопросов: 2 Ответов: 5
|
Профиль | | #6
|
Добавлено: 14.04.11 19:13
|
Есть некая база сотрудников с их некоторыми характеристиками. Одна из характеристик, допустим, ID или идентификатор отдела. Эти ID хранятся в таблице1(два поля-ID и наимеование отдела).
Далее, при добавлении нового сотрудника в БД открывается форма(1), на которой вводятся необходимые характеристики сотрудника. На этой же форме есть кнопка, клик на которой должен открыть форму(2). Эта форма содержит грид, в который подгружаются данные из таблицы1. И теперь, щелкнув дважды на строке грида, необходимо передать значения ячейки(ек) на контрол в форме(1)(например в textbox). При нажатии Сохранить на форме(1), данные сохраняются в БД, в том числе и ID отдела.
Ответить
|
Номер ответа: 7 Автор ответа: СанСаныч
Вопросов: 3 Ответов: 118
|
Профиль | | #7
|
Добавлено: 14.04.11 22:39
|
Тебе бы сценарии к порно фильмам писать. А заменить эти пляски с бубном на комбобокс с названиями отделов?
Ответить
|
Номер ответа: 9 Автор ответа: СанСаныч
Вопросов: 3 Ответов: 118
|
Профиль | | #9
|
Добавлено: 15.04.11 20:30
|
Именно комбобоксы и нужно бы. Вот пример взаимодействия. http://rghost.ru/5201748
Ответить
|
Номер ответа: 10 Автор ответа: СанСаныч
Вопросов: 3 Ответов: 118
|
Профиль | | #10
|
Добавлено: 15.04.11 20:37
|
Вообще подобный подход с формами оправдывается только в случае использования адресных классификаторов. Но, как говориться, хозяин барин.
Прошу учитывать, что пример на C# 4.0 (vs2010 или sharpDevelop 4.0). 2008 студии просто нет.
Ответить
|
Страница: 1 |
Поиск по форуму