Как использовать ReportViewerControl для настольного приложения Windows?

Я новичок в разработке настольных приложений для Windows.

У меня есть две таблицы в базе данных Access 2007.

Первый - "Bill Master", а второй - "Bill Detail".

Я хочу распечатать счет из своего приложения с помощью средства просмотра отчетов.

Как мне этого добиться?

Пожалуйста помоги.


person Mohemmad K    schedule 05.03.2013    source источник
comment
Я взял форму окна. Поместите средство просмотра отчетов, а также поместите кнопку, содержащую опцию печати. Но, сэр, я не знаю, как настраивать и отображать данные. Много искал учебник, но не мог найти правильный способ научиться с нуля @Stephen Bauer   -  person Mohemmad K    schedule 05.03.2013


Ответы (2)


Посмотрите это видео, чтобы узнать, как создать элемент управления для просмотра отчетов. Кроме того, вам нужно будет привязать свои данные из базы данных доступа, например, эта функция

 public void LoadDatabase()
 {
     string connectionString = String.Format(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};", yourDatabaseName);

     using (OleDbConnection con = new OleDbConnection(connectionString))
     {
        try
        {
            con.Open();

            var data = new DataSet();

            OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * FROM A", con);
            adapter.Fill(data, "a");

            adapter = new OleDbDataAdapter("SELECT * FROM B", con);
            adapter.Fill(data, "b");

            // TODO: bind the control's data source to dataset
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
    }
}
person alex555    schedule 05.03.2013
comment
спасибо за ответ, сэр. Но есть проблема в том, что я использую Visual-Studio 2010, и видео отображает разработку Visual-Studio 2008. VS 2010 содержит различные шаблоны проектирования. Поэтому я не могу решить эту проблему. @ alex555 - person Mohemmad K; 05.03.2013
comment
Я использую VS2012, и мастер дизайна почти такой же. Единственное, что вам нужно сделать, это выбрать в мастере базу данных (источник данных Microsoft Access Database File для вашего mdb-файла) вместо объекта. Или вы можете вызвать LoadDatabase() в своей OnButtonClick-функции. Не бойся, просто попробуй! ;) - person alex555; 05.03.2013
comment
Я выбрал базу данных в мастере создания отчетов. В базе данных есть две таблицы. Билл Мастер и детали счета. Основные сведения должны отображаться один раз, а сведения о счете, которые я хочу отобразить в табличном формате. Но при расстановке полей я могу видеть только поля одной таблицы. И мастер обязательно требует поле Values. Я не могу понять, для чего это нужно. - person Mohemmad K; 05.03.2013
comment
Извините, но я плохо разбираюсь в управлении средством просмотра отчетов. Вот некоторая информация (http://msdn.microsoft.com/en-us/library/ms251724%28v=vs.100%29.aspx) о том, как выполнить привязку к базе данных. - person alex555; 05.03.2013

Может быть, эти ссылки вам помогут:

person Stephan Bauer    schedule 05.03.2013