Ciao. Di solito utilizzo due opzioni:
1) nell'evento _RowDataBound controllola lungheza della mia cella (dipende se utilizzi un BoundFiled o un controllolo asp annidato, tipo label o textbox). Questo è un esempio, anche se non è mai consigliato utilizzare l'indice di una cella della riga
2) Mi creo un controllo che eredita dalla classe Label e faccio l'override del metodo MaxtextLength:
Poi, lato client, quando inserisco la label personalizzata, posso settare la massima lunghezza del testo:
<MyLabel MaxTextLength="10" runat="server" ID="lblFile"></MyLabel>
Vedi se ti può servire.
Ciao,
PV