Pregunta

Sé que esto es un error relativamente común, pero estoy trabajando en una aplicación que permite a los informes personalizados que se escriben utilizando vb.net o C # para scripting. El manejo de errores es muy pobre y no estoy lo suficientemente informado para agregar mi propia (si es que es posible).

Mi código simplemente recupera un valor que se almacena en un cuadro de texto en el informe formateado como apellido, nombre y trunca todos los caracteres después de la coma. Este valor Apellidos se coloca en un nuevo cuadro de texto en el informe. Aquí está mi código:

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

El error ocurre cuando uso lastNameCommaIndex para establecer el número de caracteres en mi subcadena. Si sustituyo con un número del informe se publica correctamente.

¿Fue útil?

Solución

Es posible que desee utilizar string.split que hará que este sea mucho más fácil

por ejemplo.

   If Not String.IsNullOrWhiteSpace(lastNameFirstName) Then

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

    End If

Aquí se explica cómo escribir IsNullOrWriteSpace si usted no tiene .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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top