mercoledì 9 marzo 2011

TextBox Auto Height in Grid view.

In molti casi siamo costretti a utilizzare una textbox con multi line in una grid view, tuttavia questa non ha modo di sapere quante righe conterrà... e all'interno della griglia ci appaiono
delle simpatiche barre che rischiano di coprire il testo.

Con questo sistema un filino brutale.. il problema è risolto.

protected void grvMyGrid_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row != null && e.Row.RowType == DataControlRowType.DataRow)
{
TextBox b = (TextBox)e.Row.Cells[3].Controls[1];
int cRows = b.Text.Count(c => c.Equals('\n'));

b.Rows = cRows == 0 ? 1 : cRows;
}
}

Posto che nella cella [3] vi sia il controllo di cui noi dobbiamo estendere l'altezza.

Nessun commento: