Member 11525501 Ответов: 2

Создайте мастер-деталь между 2 формами в VB winforms (visual basic)


Здравствуйте, поскольку я относительный новый программист, я решаю проблему, в которой мне нужна ваша помощь. У меня есть две формы. Форма 1 называется "Projectnameform" и содержит адресные данные в виде сетки. Form2 называется "ProjectDetailsForm", где я показал projectDetails.

Все данные хранятся в базе данных MS Sql externaly. Я использую Tableadapter, Dataset и Bindingsource в обеих формах, чтобы заполнить их данными.

Не могли бы вы показать мне, как я могу выбрать строку в "Projectname" (form1) и с помощью события buttonClick показать только связанные детали выбранной строки в form1 с помощью projectnameid, который я создал в обеих формах.

Ваша помощь очень ценится, так как я борюсь с этим уже в течение последних 5 дней.

С уважением
Марк

Что я уже пробовал:

Я попытался выбрать строку в form1 и передать ее в невидимую метку, а затем прочитать labeltext, чтобы идентифицировать выбранную строку form1. Я попытался связать bindingsource и передать значение.

2 Ответов

Рейтинг:
2

CHill60

Здесь есть ряд советов по CodeProject от OriginalGriff, которые должны помочь вам передавать информацию между формами.

Вот первый из них - Передача информации между двумя формами, Часть 1: Родитель-Ребенок[^]- ссылки на другие находятся в этой статье.


Maciej Los

5ед!

Рейтинг:
2

Maciej Los

В дополнение к решению 1 от CHill60 я хотел бы привести еще одну интересную статью: Передача данных между формами - VB.NET учебники | сон.В.Код[^]


Member 11525501

Спасибо, но это не то, чего я пытаюсь достичь. Я ищу способ прочитать значение PrimairyKey выбранной строки (не видимое в сетке) в форме 1 и увидеть связанные строки в форме 2 в качестве формы сведений. Я продолжаю читать о привязке bindingsource, но понятия не имею, как начать это делать. Tnx снова за вашу помощь.

CHill60

Другими словами, у вас есть две проблемы. Задача 1-Как получить данные из строки в элементе управления, которая не видна. Вам нужно обновить свой вопрос с подробной информацией о том, какую платформу вы используете (WinForm, WPF, ASP) и какую сетку вы используете.
Проблема 2: Как передать эту информацию между формами.
Предлагаемые решения (1 и 2) решают проблему 2 за вас.
Мы не можем предложить вам решение проблемы 1, пока вы не предоставите недостающую информацию. Вы можете использовать Улучшить вопрос ссылка для получения дополнительной информации в вашем вопросе, и если вы ответите на этот комментарий (используя  Ответить  кнопка) затем мы будем уведомлены, чтобы вернуться и посмотреть еще раз

Maciej Los

Хорошо сказано!

CHill60

5-й, кстати. Тот факт, что ОП не понимает, что им нужна ваша ссылка, не умаляет того факта, что она более актуальна, чем моя ссылка :-)

Maciej Los

Спасибо, Кэролайн. Нам не нужно вдаваться в хвастливый матч, в котором ссылка более актуальна, чем другая. Оба стоят 5 ;)
Овации,
Мацей