in meinem alten List-Report (LL11) habe ich die Kopfdaten als Variables mithilfe LLDefineField folgendermaßen definiert: Invoice.Number, Invoice.Date, Customer.Number, Customer.Name usw. Im (alten) Designer konte ich dabei mehrere Root-Elemente beobachten:
[-]Variablen
[+]Invoice
[+]Customer
[+]LL
Ich versuche nun den alten Report aus .NET-Program zuzugreifen und verwende dazu eine Klasse:
class Invoice
{
[DisplayName(“Invoice.Number”)]
public string Num { get; set; }
[DisplayName(“Invoice.Date”)]
public DateTime Date { get; set; }
[DisplayName(“Customer.Number”)]
public string CustomerNum { get; set; }
[DisplayName(“Customer.Name”)]
public DateTime CustomerName { get; set; }
public List<InvoiceItem> Items { get; set; }
und binde diese Klasse an einen Report:
c.DataSource = new ObjectDataProvider(new Invoice());
c.AutoMasterMode = LlAutoMasterMode.AsVariables;
c.DataMember = “Invoice”;
Nun erscheint meine Datenstruktur unterm Element “Invoice” (offensichtlich aus DataMember-Property übernommen):
[-]Variablen
[-]Invoice
[+]Invoice
[+]Customer
[+]LL
Wie kann man diese neue Ebene unterdrucken? Die Felder unter Customer heißen nun “Invoice.Customer.Number” und nicht wie gewünscht “Customer.Number”! Das gleiche gilt für die Items - die tauchen nun als “Items.ItemField” auf.
Wie sonst kann ich die Feld-/Variablenamen für die bestehende Reports definieren?