Quisiera saber si hay alguna propiedad en los datagrid que evite que, cuando una celda tiene asignada una cadena de texto muy larga, se extienda en dos o más filas. Tengo unos controles de paginación inferiores y en algunas páginas el datagrid crece hasta quedar superpuestos a aquellos.
La solución que estoy aplicando es truncar la cadena de las columnas conflictivas en el evento ItemDataBound, colocando el texto completo como atributo "title" de la celda. Uso esta rutina:
Shared sub TruncarCeldaGrid(ByRef oFila As System.Web.UI.WebControls.DataGridItem, _
ByVal iIndiceCelda As Integer, _
ByVal iMaxCaracteres As Short, _
Optional ByVal sCoda As String = "...")
Dim sTemp As String
Dim sTooltip As String
sTemp = oFila.Cells(iIndiceCelda).Text
If sTemp.Length > iMaxCaracteres Then
sTooltip = sTemp
sTemp = sTemp.Substring(0, iMaxCaracteres - 3) & "..."
oFila.Cells(iIndiceCelda).Text = sTemp.Replace(" ", " ")
oFila.Cells(iIndiceCelda).Attributes.Add("title", sTooltip)
End If
End Sub
Pero quisiera saber si hay alguna forma "más limpia" de conseguir lo mismo".