Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Событие DataGridView в другой форме Добавлено: 13.04.11 17:09  

Автор вопроса:  Калина
Здравствуйте.
Есть две формы: в первой по щелчку на кнопке открывается вторая форма. На второй есть DataGridView. Как обработать событие(например двойной клик на ячейке грида) в первой форме(например, передать значения ячейки в текстовое поле на первой форме. Заранее спасибо.

Ответить

  Ответы Всего ответов: 10  

Номер ответа: 1
Автор ответа:
 Калина



Вопросов: 2
Ответов: 5
 Профиль | | #1 Добавлено: 13.04.11 17:12
Да,забыл сказать. Пишу в VS 2008, на VB.

Ответить

Номер ответа: 2
Автор ответа:
 СанСаныч



Вопросов: 3
Ответов: 118
 Профиль | | #2 Добавлено: 13.04.11 19:52
Потребность в такой конструкции выдает абсолютно неверный подход к разработке. Ты пытаешься работать с данными другого потока, что не есть гуд. Вспомни о такой вещи как инкапсуляция и перепиши программу сейчас. Или придется переписывать ее через неделю (месяц-два).
По сабжу: Если будет твердое обоснование необходимости такого подхода, готов набросать пример на шарпе.

Ответить

Номер ответа: 3
Автор ответа:
 Калина



Вопросов: 2
Ответов: 5
 Профиль | | #3 Добавлено: 13.04.11 20:27
Согласен... Увы, я пока не ас))). Почему возникла такая мысль...
Ранее, по щелчку на кнопке в первой форме, открывалась вторая форма:
  1. Private Sub btAddCl_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btAddCl.Click
  2.         Dim myForm = New form2
  3.         myForm.Text = "Новый клиент"
  4.         AddHandler CF.Closed, AddressOf UpdateDG1
  5.         myForm.Show


То есть, добавил обработчик события Closed второй формы. В обработчике соответственно анализировал, допустим значение текстового поля во второй форме:
  1. Sub AddOtv(ByVal sen As Object, ByVal ea As EventArgs)
  2.            Dim myForm2 As form2 = CType(sen, form2)
  3.            Label1.Text = myForm2.TextBox1.Text
  4.         End Sub

Потом и подумал, очевидно так же можно написать обработчик щелчка на гриде второй формы, чтобы в первую передать значения ячейки, по которой был двойной клик.

Ответить

Номер ответа: 4
Автор ответа:
 Калина



Вопросов: 2
Ответов: 5
 Профиль | | #4 Добавлено: 13.04.11 20:30
Сорри, в первом коде:
  1.  
  2. AddHandler myForm.Closed, AddressOf AddOtv


Копировал с разных мест)))

Ответить

Номер ответа: 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
Тебе бы сценарии к порно фильмам писать. А заменить эти пляски с бубном на комбобокс с названиями отделов?

Ответить

Номер ответа: 8
Автор ответа:
 Калина



Вопросов: 2
Ответов: 5
 Профиль | | #8 Добавлено: 15.04.11 16:17
а вам бы критиком быть). Можно, но это частный случай. Например, есть некое кол-во счетов. При добавление нового счета(применимо к вышеописанному), нужно выбрать сотрудника, ответственного за этот счет(их ID и ФИО в некой таблице). Сотрудников этих в таблице человек 300. Комбобоксы неудобно использовать.

Ответить

Номер ответа: 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 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам