![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Farkhod |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 23.4.2003 Где: Ташкент Репутация: нет Всего: нет |
Доброе время суток !
Я тока начинаю програмить в VB .Net и поэтому прошу не ругаться за этот вопрос. Поставил на одну форму CrystalReport Viewer. Из второй формы пишу Form1.CrystalReportViewer1.ReportSource = rpt и мне выдается ошибка - Reference to a non-shared member requires an object reference. Как быть ? Я хочу сделать так чтобы в одной форме юзер ввёл Connection String и вдругой открывается отчет. |
|||
|
||||
| Kurt |
|
|||
|
Увлеченный ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1662 Регистрация: 22.8.2003 Где: Краснодар Репутация: 20 Всего: 36 |
Нууу.. Так, в лоб, приходят 3 решения:
1) объявить соотв. контрол с Form1 (имеется ввиду CrystalReportViewer1) как public. Он же, небось, как private или как protected (как это правильно в VB.NET называется) объявлен? Но эт плохой путь - считается, что это плохой стиль программирования, хотя тож подходит. 2) Написать для соотв. контрола Property (вроде так это в VB?). Ну, т.е. описать все эти get, set. Лично мне этот вариант больше всего нравится.. 3) Написать функции, к-е возвращают или устанавливают контрол. Что-то типа Form1.GetCrystalReport(), к-й вернет ссылку на нужный нам объект, SetCrystalReport(<входной параметр типа CrystalReportViewer>). Если объявить их public - можно обращаться через эти ф-ции. Что-то типа Form1.GetCrystalReport().ReportSource = .. (походу я полностью прешел на C# Но, ИМХО, это извращение. Это этакий Java-подход. В принципе, property делают тоже самое. Все. Ели не разберешься - рассказывай. -------------------- Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед) ... Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн) |
|||
|
||||
| Farkhod |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 23.4.2003 Где: Ташкент Репутация: нет Всего: нет |
А я по другому решил. Оказывается надо просто написать:
Dim frm1 as Form1 и обращение к frm1 будет к form1 и ко всем её элементам. Всем Спасибо. |
|||
|
||||
| Kurt |
|
|||
|
Увлеченный ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1662 Регистрация: 22.8.2003 Где: Краснодар Репутация: 20 Всего: 36 |
Хм.. Лопухнулся..
Я думал, что Form1 - это имя переменной, а не класса.. -------------------- Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед) ... Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн) |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |