none
Utilisation du GRIDVIEW RRS feed

  • Question

  • Bonjour,

    J'ai utlisé un GRIDVIW dans Visual Studio 2010 en activant la pagination et le tri ainsi que la modification mais ça ne marche pas malgré que j'ai testé avec plusieurs sources de données. A propos, j'ai Windows 7 sur ma machine. Merci par avance pour votre aide.

    lundi 17 janvier 2011 18:39

Réponses

  • Bonjour,

    Je pense avoir une réponse au problème que j'ai.

    Il s'agirait, selon plusieurs internautes, de la non prise en charge des options de pagination, de tri, de modifications et de suppression du GRIDVIEW dans les applications MVC 2. J'ai refait le test avec une application ASP simple et ça marche.

     

    Merci pour tout ceux qui ont accordé un intérêt pour ma question.

    lundi 24 janvier 2011 11:12

Toutes les réponses

  • Bonjour,

     

    Est-ce que vous recevez des erreurs à l’exécution ? Si c’est le cas, je vous remercie de nous donner le message d’erreur. Sinon, pouvez-vous nous expliquer ce que vous avez fait et quelle partie ne marche pas ?

     

    Cordialement,

    Alex

    ________________

    Publiez un article sur MSDN !

    Windows Phone 7

    Astuces pour Visual Studio 2010

    XNA – Développement jeux vidéo

    Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, SharePoint, WPF

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

     

     


    Suivez MSDN sur Twitter 

    mardi 18 janvier 2011 15:05
  • Peux tu créer une webform classique et y mettre le code ci-dessous.

    C'est une tout petit exemple en 2008 mais qui devrait fonctionner sur 2010. Je n'y ai mis que la pagination et le tri pour commencer. De là compare à ton propre code.

    <%

    @ Page Language="C#" %>

    <%

    @ Import Namespace="System.Data" %>

    <!

     

    DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <

     

    html xmlns="http://www.w3.org/1999/xhtml">

    <

     

    head runat="server">

     

    <title>Untitled Page</title>

     

    <script runat="server" language="CS">

     

     

    protected void Page_Load(object sender, EventArgs e)

    {

     

    if (!IsPostBack)

    {

    System.Data.

    DataTable dt = new DataTable();

    dt.Columns.Add(

    new DataColumn("Id", typeof(int)));

    dt.Columns.Add(

    new DataColumn("Value"));

     

    for (int i = 0; i < 10; i++)

    {

     

    DataRow row = dt.NewRow();

    row[

    "Id"] = i.ToString();

    row[

    "Value"] = (50 - i).ToString();

    dt.Rows.Add(row);

    }

    GridView1.DataSource = dt;

    Session[

    "table"] = dt;

    GridView1.DataBind();

    }

    }

     

    protected void pageChanging(Object sender, GridViewPageEventArgs e)

    {

    GridView1.PageIndex=e.NewPageIndex;

    GridView1.DataSource = (

    DataTable)Session["table"];

    GridView1.DataBind();

    }

     

    protected void pageSorting(object sender, GridViewSortEventArgs e)

    {

     

    DataTable dt = Session["table"] as DataTable;

     

    if (dt != null)

    {

     

    //Sort the data.

    dt.DefaultView.Sort = e.SortExpression +

    " " + GetSortDirection(e.SortExpression);

    GridView1.DataSource = Session[

    "table"];

    GridView1.DataBind();

    }

    }

     

    private string GetSortDirection(string column)

    {

     

    string sortDirection = "ASC";

     

    string sortExpression = ViewState["SortExpression"] as string;

     

    if (sortExpression != null)

    {

     

    if (sortExpression == column)

    {

     

    string lastDirection = ViewState["SortDirection"] as string;

     

    if ((lastDirection != null) && (lastDirection == "ASC"))

    {

    sortDirection =

    "DESC";

    }

    }

    }

    ViewState[

    "SortDirection"] = sortDirection;

    ViewState[

    "SortExpression"] = column;

     

    return sortDirection;

    }

     

     

    </script>

    </

     

    head>

    <

     

    body>

     

    <form id="form1" runat="server">

     

    <div>

     

    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="true" AllowPaging="true" AllowSorting="true" PageSize="5"

     

    OnPageIndexChanging="pageChanging" OnSorting="pageSorting">

     

    </asp:GridView>

     

    </div>

     

    </form>

    </

     

    body>

    </

     

    html>


    MangakaCodeur
    mardi 18 janvier 2011 15:58
  • Bonjour et merci pour votre réponse.

    En fait je ne reçois aucun message d'erreur. J'ai suivi à la lettre le guide disponible à l'adresse http://msdn.microsoft.com/en-us/library/dd548005.aspx

    Tout semble marcher sans problème, mais à l'exécution, quand je clique sur les liens pour trier, paginer ou modifier rien ne se passe, juste la page qui se réaffiche. Un ami a eu le même problème (lui aussi utilise Visual Studio 2010 Premium et Windows 7, c'est pourquoi je l'ai précisé au cas où ça peut être utile). Quand il a vérifié le même exemple avec une version antérieure de Visual Sutdio ça a marché.

    J'espère que mes précisions seront suffisantes pour illucider ce problème.

    Merci encore une fois pour votre aide

    mercredi 19 janvier 2011 09:29
  • Bonjour Radric.

    Merci pour ta réponse.

    Toutefois, comme je suis débutant dans le développement web j'aurai du mal à comparer ton exemple avec le mien. Et comme je l'ai signalé dans ma réponse à Alex, le même exemple marche sur une version antérieure à 2010 de Visual Studio, ce qui me laisse supposer que c'est plus du à une configuration de compatibilité que je dois modifier pour que ça passe.

    Débutant du net  

    mercredi 19 janvier 2011 09:41
  • Bonjour

    Sous VS2005 ou 2008 tu trouve dans la définition des champs du Gridview le paramétre "SortExpression" qui doit normalement avoir le nom du champs de la colone. Je ne sais pas si c'est encore comme ça en 2010 mais essaye de voir.

    mercredi 19 janvier 2011 11:29
  • Bonjour,

     

    Est-ce que vous pouvez nous montrer le code de votre page aspx et C# ?


    Cordialement,

    Alex

    ________________

    Publiez un article sur MSDN !

    Windows Phone 7

    Astuces pour Visual Studio 2010

    XNA – Développement jeux vidéo

    Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, SharePoint, WPF

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

     

     


    Suivez MSDN sur Twitter 

    jeudi 20 janvier 2011 10:04
  • Bonjour Alex

     

    Voici le code C#

     

    using

     

     

    System;

    using

     

     

    System.Collections.Generic;

    using

     

     

    System.Linq;

    using

     

     

    System.Web;

    using

     

     

    System.Web.Mvc;

    using

     

     

    FIN.Models;

    namespace

     

     

    FIN.Controllers

    {

     

     

    public class MAJ_JRNController : Controller

    {

     

     

    //

     

     

    // GET: /MAJ_JRN/

     

     

    public ActionResult Index()

    {

     

     

    return View();

    }

    }

    }

    jeudi 20 janvier 2011 20:41
  • Bonjour Alex

    Le code la page contenant le GRIDVIEW est le suivant (j'ai pas réussi à envoyer tout d'un seul coup, désolé)

    <%

     

    @ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<FIN.Models.JRN>" %>

    <%

     

    @ Register assembly="System.Web.Entity, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" namespace="System.Web.UI.WebControls" tagprefix="asp" %>

    <

     

     

    script runat="server">

     

     

    protected void EntityDataSource1_Selecting(object sender, EntityDataSourceSelectingEventArgs e)

    {

    }

     

     

    protected void EntityDataSource2_Selecting(object sender, EntityDataSourceSelectingEventArgs e)

    {

    }

    </

     

     

    script>

    <

     

     

    asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">

    Index

    </

     

     

    asp:Content>

    <

     

     

    asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

     

     

    <form id="form1" runat="server">

    jeudi 20 janvier 2011 20:45
  • Bonjour Alex.

    Suite du code la page

     

    <h2>Mise à jour des journaux</h2>

     

     

    <h2>

     

     

    <asp:GridView ID="GridView1" runat="server" AllowSorting="True"

     

     

    BackColor="LightGoldenrodYellow" BorderColor="Tan"

     

     

    BorderWidth="1px" CellPadding="2" DataKeyNames="COD_JRN"

     

     

    DataSourceID="EntityDataSource2" EnableModelValidation="True" ForeColor="Black"

     

     

    GridLines="None" AutoGenerateColumns="False" AllowPaging="True">

     

     

    <AlternatingRowStyle BackColor="PaleGoldenrod" />

     

     

    <Columns>

     

     

    <asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />

     

     

    <asp:BoundField DataField="LIB_JRN" HeaderText="LIB_JRN"

     

     

    SortExpression="LIB_JRN" />

     

     

    <asp:BoundField DataField="COD_JRN" HeaderText="COD_JRN" ReadOnly="True"

     

     

    SortExpression="COD_JRN" />

     

     

    </Columns>

     

     

    <FooterStyle BackColor="Tan" />

     

     

    <HeaderStyle BackColor="Tan" Font-Bold="True" />

     

     

    <PagerStyle BackColor="PaleGoldenrod" ForeColor="DarkSlateBlue"

     

     

    HorizontalAlign="Center" />

     

     

    <SelectedRowStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" />

     

     

    </asp:GridView>

     

     

    <asp:EntityDataSource ID="EntityDataSource2" runat="server"

     

     

    ConnectionString="name=FINEntities" DefaultContainerName="FINEntities"

     

     

    EnableDelete="True" EnableInsert="True" EnableUpdate="True"

     

     

    EntitySetName="JRN" EntityTypeFilter="JRN"

     

     

    onselecting="EntityDataSource2_Selecting">

     

     

    </asp:EntityDataSource>

     

     

    </h2>

     

     

    </form>

    </

     

     

    asp:Content>

    jeudi 20 janvier 2011 20:47
  • Bonjour,

    Je pense avoir une réponse au problème que j'ai.

    Il s'agirait, selon plusieurs internautes, de la non prise en charge des options de pagination, de tri, de modifications et de suppression du GRIDVIEW dans les applications MVC 2. J'ai refait le test avec une application ASP simple et ça marche.

     

    Merci pour tout ceux qui ont accordé un intérêt pour ma question.

    lundi 24 janvier 2011 11:12