Kuldeep B Ответов: 3

Как создать счет в crystal report


Привет, Друзья...
Я делаю один проект, который мне нужен, чтобы создать Билл в crystal report...

Кому: Имя Клиента................................Счет№: 100
Адрес Клиента.....................................Дата : 10/10/2012
Контакт : 9850******
.....................................................................................
Детали |Кол-Во / Ставка / Всего |
Ручка / 5/5/25
Тетрадь 5 | 20/100
Мобильная Крышка | 5/30/150



Так как же я могу создать этот законопроект, потому что проблема заключается именно в этом..
1) Таблица 1 имеет только одну строку (имя клиента, адрес, контакт, номер счета,Дата)
2) Таблица 2 имеет более двух строк.

Пожалуйста, сделайте все необходимое......

3 Ответов

Рейтинг:
28

AmitGajjar

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

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

надеюсь, вы сможете сделать это легко

удача


Kuldeep B

Анит: Спасибо за решение

Я попробовал с вашей идеей, но я получаю только вторые значения таблицы в суботчете.
И никакой ценности в основном отчете....

Ниже приведен мой код, который я пробовал:
SqlDataAdapter da = q. fillbill(счет);
da. Fill(ds1, " billtable");

//ст1.Понятно();
//да.Заполнить(ст1);
если (ДТ.Строк.Граф > 0)
{
// Назначение данных первичному отчету
// CrystalReport1 RptDoc = новый CrystalReport1();
Документе RptDoc = новая документе();
RptDoc.Нагрузки("C:\\Users\\Sunlogic\\Documents\\Visual Студия 2008\\\Проекты\Мой\\Мой\\CrystalReport1.РПТ");
RptDoc.SetDataSource(бс1);


SqlDataAdapter da1 = q. fillcurrentsale();
da1. Fill(ds2, " saletable");
//ст2.Понятно();
//да.Заполнить(ст2);
вопрос.отсоединить();
//Получить вложенный отчет и назначить datatable1 этому отчету
по каждому элементу (ReportObject repOp в RptDoc.Его.ReportObjects)
{
if (repOp.Kind = = ReportObjectKind.SubreportObject)
{
строка SubRepName = ((SubreportObject)repOp).SubreportName;
ReportDocument subRepDoc = RptDoc. Subreports[SubRepName];
subRepDoc. SetDataSource(ds2);
}
}
//Назначение отчета для средства просмотра отчетов Crystal
billp. crystalReportViewer1. ReportSource = RptDoc;
// billp.crystalReportViewer1.Привязку();

}

AmitGajjar

проверьте, печатает ли ваш основной отчет что-нибудь ? добавьте одну простую метку и проверьте, отображается ли там метка?

Kuldeep B

Основной отчет печатает только имя столбца.... не печатает данные....Отображаются только столбцы

AmitGajjar

правильно ли ваш источник данных имеет данные ?

Kuldeep B

да ... у источника данных есть данные....
Я получаю данные от ds2, но не от ds1...Теперь проблема только с основным отчетом...
... Мой метод назначения правильный или какие-либо изменения требуются...пожалуйста, пройдите через код, если у вас есть свободное время...Пожалуйста..
Спасибо, что уделили мне время..

AmitGajjar

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

Kuldeep B

Да, он показывает данные в основном отчете, когда я отключаю вложенный отчет.

AmitGajjar

проверка http://www.dotnetspider.com/resources/43691-How-create-sub-reports-crystal-report.aspx линк, возможно, ты что-то упустил.

Kuldeep B

Проблема Амита решена .Теперь я получаю данные из обеих таблиц.
Я делаю то, что ты говоришь.
1) удалить вложенный отчет
2) вставляет поля из полей базы данных в основной отчет
3)Отладка Проекта
4)вставить вложенный отчет
5) дважды щелкните на подотчете ..В проводнике полей я щелкаю правой кнопкой мыши по полям базы данных ..затем выбираю эксперта базы данных ...И следующие шаги те же..

Большое вам спасибо Амит:)

AmitGajjar

Кстати меня зовут Амит :)

AmitGajjar

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

Рейтинг:
2

Kschuler

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

Похоже, что вы, возможно, захотите сначала изучить основные отчеты crystal reports. Может быть, сначала сделайте какой-нибудь примерный проект или учебники, чтобы освоиться.
Вы могли бы начать здесь:
Результаты Google[^]


Рейтинг:
1

Member 13016224

Привет, Друзья...
Я делаю один проект, который мне нужен, чтобы создать Билл в crystal report...

Кому: Имя Клиента................................Счет№: 100
Дата : 10/10/2012
Контакт : 9850******
.....................................................................................
Детали |Кол-Во / Ставка / Всего |
Ручка / 5/5/25
Тетрадь 5 | 20/100
Мобильная Крышка | 5/30/150



Так как же я могу создать этот законопроект, потому что проблема заключается именно в этом..
1)имя столбца Table1 (имя клиента, номер счета-фактуры, номер заказа, дата,)
2)имя столбца Table2.(наименование товара, количество, сумма за товар, общая сумма)