Domanda

So che questo è un errore relativamente comune, ma sto lavorando in un'applicazione che consente ai report personalizzati da scrivere utilizzando vb.net o C # per lo scripting. La gestione degli errori è molto povera e io non sono abbastanza informato per aggiungere la mia (se è ancora possibile).

Il mio codice recupera semplicemente un valore che viene memorizzato in una casella di testo sul rapporto formattato come Cognome, Nome e tronca tutti i caratteri dopo la virgola. Questo valore Cognome è collocato in un nuovo testo sulla relazione. Ecco il mio codice:

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

L'errore si verifica quando uso lastNameCommaIndex per impostare il numero di caratteri nella mia stringa. Se lo sostituisco con un numero il rapporto è pubblicato correttamente.

È stato utile?

Soluzione

Si potrebbe desiderare di utilizzare string.split si renderà questo molto più facile

per es.

   If Not String.IsNullOrWhiteSpace(lastNameFirstName) Then

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

    End If

Ecco come si scrive IsNullOrWriteSpace se non si dispone di .NET 4.0

Function IsNullOrWhiteSpace(ByVal s As String) As Boolean

    If s Is Nothing Then
        Return True
    End If

    Return s.Trim() = String.Empty

End Function
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top