Frage

Ich weiß, dass dies ein relativ häufiger Fehler ist, aber ich arbeite in einer Anwendung, mit der benutzerdefinierte Berichte mit VB.NET oder C# für das Skripten geschrieben werden können. Die Fehlerbehandlung ist sehr schlecht und ich bin nicht kenntnisreich genug, um meine eigenen hinzuzufügen (wenn es überhaupt möglich ist).

Mein Code ruft einfach einen Wert ab, der in einem Textfeld in der Berichtsformatierung als gespeichert ist Nachname Vorname und schneidet alle Charaktere nach dem Komma ab. Dieser Wert Nachname wird in einem neuen Textfeld im Bericht platziert. Hier ist mein Code:

Sub Detail1_Format

    Dim lastNameFirstName As String = ""
    Dim lastName As String = ""
    Dim lastNameCommaIndex As Integer=

'set lastNameFirstName value from data on report'
    lastNameFirstName = ReportUtilities.ReturnTextBoxValue(rpt,"Detail1","txtdtr_DTOOLS_CompanyName")

'find index of first comma in lastNameFirstName string'
    lastNameCommaIndex = lastNameFirstName.IndexOf(",")

'set contents of lastName using substring of lastNameFirstString'
    lastName = lastNameFirstName.SubString(0, lastNameCommaIndex)
'the error happens above when I use lastNameCommaIndex'
'to set the number of characters in my substring'

'set client name textbox value using lastName'
    ReportUtilities.SetTextBoxValue(rpt,"Detail1","txtdtr_CALC_ClientName",lastName)

End Sub

Der Fehler tritt auf, wenn ich LastnamecommaNDex verwende, um die Anzahl der Zeichen in meinem Substring festzulegen. Wenn ich es durch eine Nummer ersetze, wird der Bericht ordnungsgemäß veröffentlicht.

War es hilfreich?

Lösung

Sie möchten vielleicht verwenden String.Split Es wird das viel einfacher machen

z.B

   If Not String.IsNullOrWhiteSpace(lastNameFirstName) Then

        lastName = lastNameFirstName.Split(",".ToCharArray())(0)

    End If

So schreiben Sie isnullorWritespace, wenn Sie nicht .net 4.0 haben

Function IsNullOrWhiteSpace(ByVal s As String) As Boolean

    If s Is Nothing Then
        Return True
    End If

    Return s.Trim() = String.Empty

End Function
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top