Question

J'ai gridview dans mon asp.net formulaire en ligne.

i lie ma base de données à gridview comme ceci:

SQL = "SELECT id,Fname,Lname FROM MEN";
dsView = new DataSet();
adp = new SqlDataAdapter(SQL, Conn);
adp.Fill(dsView, "MEN");
adp.Dispose();
GridView1.DataSource = dsView.Tables[0].DefaultView;
GridView1.DataBind();

et ce que je mets dans le gridview: allowPaging = true

son spectacle les données dans la grille, mais si je presse à la page 2..3 ..

et je suis arrivé cette erreur:

The GridView 'GridView1' fired event PageIndexChanging which wasn't handled. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Web.HttpException: The GridView 'GridView1' fired event PageIndexChanging which wasn't handled.

Merci à l'avance

Était-ce utile?

La solution

Vous devez gérer la PageIndexChanging événement, si vous cliquez sur la grille sur le concepteur et regarder les événements, cliquez deux fois sur l'événement PageIndexChanging, si vous n'avez pas besoin d'annuler ou tout simplement redéfinissez faire quelque chose de spécial, les données dans le gestionnaire

Autres conseils

Vous devriez simplement ajouter l'espace de noms

en utilisant System.Collections.Generic;

et d'écrire ce code uniquement

public void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    GridView1.PageIndex = e.NewPageIndex;
    BindGridview();
}

il fonctionne à 100% de l'essayer ......

Vous devez fournir un gestionnaire d'événements pour PageIndexChanging, qui est l'endroit où vous fournissez la logique d'échange.

écriture comme celui-ci en cas de GridView1_PageIndexChanging:

GridView1.PageIndex = e.NewPageIndex;

alors se lier à nouveau la grille. ur prob résoudra.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top