Hallo!
Ich benutze die Version LL13 und das VS 2005 und habe folgendes Problem.
In meinem Programm gebe ich den Benutzer die Möglichkeit einen Report zu drucken (Print) und zu bearbeiten (Design). Das klappt auch alles bis jetzt.
Die Print-Methode habe ich in eine try-catch-Anweisung gepackt, da er mir einen Fehler brachte, sobald keine Daten da waren nach denen vorher gefiltert wurde. Sobald er also keine Daten findet und man danach einen Report bearbeiten möchte, bekomme ich folgende Fehlermeldung:
IndexOutRangeException wurde nicht behandelt.
Der Index 0 ist entweder negativ oder über der Gesamtzahl der Zeilen.
Hier mal mein Code zum Drucken und Bearbeiten eines Reports:
// Drucken
try
{
// Filter setzen
_SetFilter(sFilterExpr, ds, sTableName, sFilterVon, sFilterBis);
// DataSet an den Report binden
listlabel.DataSource = ds;
// Falls keine Daten gefunden wurden, wird eine Meldung angezeigt
try
{
// Start Vorschau
listlabel.Print(LlProject.List, sPath, false, LlPrintMode.Preview, LlBoxType.StandardWait, "Vorschau", false, sRootDir + sRepDir);
}
catch
{
MessageBox.Show("Es wurden keine zutreffenden Daten gefunden", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
catch (ListLabelException LlException)
{
MessageBox.Show("Information: " + LlException.Message, “Information”, MessageBoxButtons.OK, MessageBoxIcon.Information);
}
// Bearbeiten
try
{
// Set Databinding
listlabel.DataSource = ds;
// Projekt-Assistenten ausschalten
listlabel.Core.LlSetOptionString(LlOptionString.LLXPathList, "^cmll13pw.llx");
// Start Designer und hier TRITT DER FEHLER AUF!!!
listlabel.Design(0, fDrucken.ActiveForm.Handle, "Designer", LlProject.List, sPath, false);
}
catch (ListLabelException LlException)
{
// Catch Exceptions
MessageBox.Show("Information: " + LlException.Message, “Information”, MessageBoxButtons.OK, MessageBoxIcon.Information);
}
Vielen Dank!
Gruß
Thorsten Peters