DataGrid, scrollbar e posizione prima e dopo il postback

venerdì 24 settembre 2004 - 15.29

FrancescoGuadagno Profilo | Senior Member

Ciao a tutti.

Penso che il mio problema sia tutto sommato abbastanza comune.
In una pagina aspx creo dei DataGrid in cui non voglio utilizzare il Paging, e creo delle colonne di tipo Select. Se il DataGrid ospita molti dati, nella finestra di Explorer compaiono le scroll bar.
A questo punto una selezione per esempio sull'ultima riga del DataGrid genera un PostBack, la pagina viene ricaricata, il datagrid viene rigenerato ma la scroll bar si posiziona in alto. In parole povere, non è visibile la riga che ho selezionato. Mi sono chiesto come sia possibile risolvere questo problema è l'ho risolto al 90%.

Nell'evento:

private void MyDG_ItemDataBound(object sender,......)
{
..
if (e.Item.ItemType == ListItemType.SelectedItem)
((Label)(e.Item.FindControl("lSelected"))).Text = '<.a name='selected'.><./a.>';
..
}

(p.s. ho messo i punti (<.a name = ....) perchè mi va in errore il post in questo forum)
In pratica inserisco una anchor in una Label in una colonna template del DG.

Nell'evento:

private void MyDG_SelectedIndexChanged(object sender, System.EventArgs e)
{
..
Literal1.Text="<.script>location.href=\"mypage.aspx?myvar=valore#selected\";<./script>";
..
}

In questo modo ricarico la pagina passando anche la anchor.
(la variabile passata nel querystring mi serve per altri scopi)

Questo metodo funziona ma mi provoca il fastidioso effetto che funziona dalla seconda selezione in poi.

Secondo me è lo script che non è adatto e cercavo un modo in C# per generare il postback quando voglio io, in particolare alla fine dell'evento SelectedIndexChanged.

Come posso fare ciò?

Qualche consigliio?
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5