Hallo,
unsere Kunden verwenden in Listen Formularen Berichtscontainer mit Spalten aus unterschiedlichen Tabellen.
Bsp. 2 Spalten aus dem Datasource des BerichtsContainers(Maindata.Text, Maindata.Nr) und 2 weitere Spalten aus einem anderen Table(Metric.Bezeichnung,Metric.Kurzbezeichnung).
Unsere LLPrintEngine erzeugt diese Tabellen zunächst strukturell aus einer logischen Struktur in einem
.net Dataset-Objekt, welches wir direkt über Datasource der LLPrint Engine zur Verfügung stellen.
Daten werden später für die im Formular verwendeten Tabellen geladen.
In diesem Beispiel werden in die Tabelle Metric über left outer join dann die entsprechend zu Maindata passenden Daten geladen.
Die Daten für die Felder aus der Tabelle Metric sind dann im Ausdruck falsch(hier wird der Row Index für Tabelle Metric nicht mitgezogen).
Beim Versuch statt .net.Dataset einen LLPrint.DataProvider zu verwenden, entstand dann die Notwendigkeit, diese Forum zu besuchen…warum:
Zitat Hilfe LLPrint
- leiten sie für individualisierte Dataset von DbConnectionDataProvider ab um in der Init Methode beispielsweise die beiden Tabellen aufzubauen und die Relation zwischen den Zeilen von Maindata und Metric abzubilden(hört sich machbar an).
protected override void Init()
{
string cmd = “select ‘kg’ as Kurzbezeichnug”;
SqlCommand h = new SqlCommand(cmd, new SQLConnetion(connectionstring));
Provider.AddCommand(h, “Metric”);
}
Das Objekt dieser Ableitung dann auf LLPrint.Datasource liefert dann beim verwenden die Exception
‘The passed object could not be converted into a data provider supported by List & Label…’
Ich erkenne hier erstmal keinen Fehler bei unserem kleinen Ansatz.
Mit dem SQLConnectionDataProvider bekommen wir zwar ‘rasend’ alle Tabbelen unserer Datenbank als Felder in den Designer, allerdings ist das Interafce ohne Schulung schlecht zu verstehen(sealed, restriktive method properties in der abstrakten Basis etc ).
Jeder Wink mit dem berümten Zaunpfal wäre hier sicherlich hilfreich.
Grüße aus dem viel zu kalten Weserbergland