Problema con EnableViewState datagrid

lunedì 07 maggio 2007 - 10.19

Gemini Profilo | Expert

Ciao a tutti
ho un problema con un datagrid.
Se metto EnableViewState="False" non mi fa vedere tutte le pagini, se metto EnableViewState="True" non mi esegue il codice dell'evento ItemCommand.
Perchè?

Inoltre, quando se dico di visualizzare 20 elementi per pagina e clicco per esempio sul 25° elemento, invece di prendere l'id del 25° elemento, prende l'id del 5° elemento.
Perchè?


private void dgIn_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{

if ((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem))
{
DataRowView row = (DataRowView)e.Item.DataItem;
ImageButton imgSentGenerated = (ImageButton)e.Item.FindControl("imgSent");
imgSentGenerated.Attributes.Add("onclick","return deleteThis()");
imgSentGenerated.CommandName = "DeleteRow";
imgSentGenerated.CommandArgument = row["id_insegnamento"].ToString();
}
}

private void dgIn_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
if (e.CommandName == "DeleteRow")
{
QuerySystem qs = new QuerySystem();
string Result = qs.DeleteInsegnamento(e.CommandArgument.ToString());
qs.Disconnect();
if(Result != "-1")
{
ConstSystem cs = new ConstSystem();
lblResult.Text=cs.ERR_DESC_TITLE_GENERIC_ERROR;
lblError.Text=cs.ERR_DESC_LOGIN_ERROR;
}
else
{
LoadInsegnamenti();
}
}
}

Grazie mille

squilibrium Profilo | Junior Member

come gestisci il currentpageindex del datagrid?

Gemini Profilo | Expert

Ciao
allora non ho capito cosa vuoi sapere, quindi di allego un pò di codice:
<asp:datagrid id="dgInsegnamenti" CssClass="testo" runat="server" AllowSorting="True" PageSize="20" AllowPaging="True" Width="90%" HorizontalAlign="Center" EnableViewState="False" autogeneratecolumns="False">

private void Page_Load(object sender, System.EventArgs e)
{
if (!Page.IsPostBack)
{
dgInsegnamenti.CurrentPageIndex = 0;
}
LoadInsegnamenti();
}

private void dgInsegnamenti_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
dgInsegnamenti.CurrentPageIndex = e.NewPageIndex;
LoadInsegnamenti();
}

Grazie
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