мой английский так себе я извиняюсь
Я использую fastreport с c #
Это моя форма быстрого отчета, имя файла = orderform.frx
<?xml version="1.0" encoding="utf-8"?>
<Report ScriptLanguage="CSharp" SmoothGraphics="true" ReportInfo.Name="ORDER FORM" ReportInfo.Author="HABIB" ReportInfo.Version="2018.09.11" ReportInfo.Description="GOKER" ReportInfo.CreatorVersion="2018.3.24.0">
<Dictionary/>
<ReportPage Name="Page1">
<ReportTitleBand Name="ReportTitle2"/>
<PageHeaderBand Name="PageHeader1" />
<DataBand Name="Data2"KeepTogether="true">
<TableObject Name="Table6" Left="9.45" Top="37.8" Width="678.73" Height="47.25" Border.Lines="All" Border.Color="25, 128, 128, 128" Border.Width="0.5">
<TableColumn Name="Column11" Width="338.62"/>
<TableColumn Name="Column12" Width="340.11"/>
<TableRow Name="Row23" Height="28.35">
<TableCell Name="Cell54" Text="Order ID" style=Bold"/>
<TableCell Name="Cell55" Text="Order Number" style=Bold"/>
</TableRow>
<TableRow Name="Row24">
<TableCell Name="Cell56" Text="[orderDetail.OrderID]"/>
<TableCell Name="Cell57" Text="[orderDetail.orderNumber]"/>
</TableRow>
</TableObject>
<TableObject Name="Table3">
<TableColumn Name="Column5" />
<TableColumn Name="Column6" />
<TableRow Name="Row12">
<TableCell Name="Cell32" Text="FULL ADDRESS"/>
<TableCell Name="Cell33" Text="[orderDetail.shippingAddress.FullAddress]"/>
</TableRow>
</TableObject>
</DataBand>
<PageFooterBand Name="PageFooter1"/>
</ReportPage>
</Report>
За моим кодом C #
public string OrderID { get; set; }
public System.Data.DataTable OrderDetailRapor = new System.Data.DataTable();
protected void Page_Load(object sender, EventArgs e)
{
WebReport1.ReportFile = @"C:\Users\habib\Desktop\order\orderform.frx";
}
private void RegisterData(Report FReport)
{
OrderService OrderService = new OrderService();
var OrderDetailData = OrderService .getOrderDetail(Convert.ToInt64(OrderID));
List<OrderDetailData> OrderDetailDataList = new List<OrderDetailData>();
OrderDetailDataList.Add(OrderDetailData);
OrderDetailRapor = Functions.LINQToDataTable<OrderDetailData>(OrderDetailDataList);
FReport.RegisterData(OrderDetailRapor, "orderDetail");
DataBand DataBndInfo = FReport.FindObject("Data2") as DataBand;
DataBndInfo.DataSource = FReport.GetDataSource("orderDetail");
WebReport1.Scripts();
WebReport1.Report = FReport;
}
protected void WebReport1_StartReport(object sender, EventArgs e)
{
Report FReport = (sender as WebReport).Report;
RegisterData(FReport);
}
это мой класс
public class OrderDetail {
public long OrderID { get; set; }
public string orderNumber { get; set; }
public AddressModel shippingAddress;
...
}
public class AddressModel {
public string FullAddress { get; set; }
public string city{ get; set; }
public string district{ get; set; }
...
}
Я использую его таким образом и пишу успешные данные
[orderDetail.orderNumber]
но когда я пишу это
[orderDetail.shippingAddress.FullAddress]
но каждый раз, когда я пишу это, я не могу добраться до данных, выдает ошибку
делать это только в параметрах класса
где я делаю не так?
Заранее жду вашей помощи, спасибо