OVH Cloud OVH Cloud

Pagination sur DataList possible ?

6 réponses
Avatar
Delf
Bonjour.

Je souhaiterais utiliser le système de pagination sur un contrôle DataList.

En effet, j'utilise ce contrôle pour afficher de façon totalement
personnalisée le résultat d'une requête SQL sous la forme de bandelettes
colorisées selon certaines valeurs contenues dans les champs ;
j'utilise donc les attributs ItemTemplates, etc... attributs qui ne sont
pas proposés par DataGrid.

Apparemment, seul le contrôle DataGrid propose la pagination.

Même problème avec le contrôle Repeater :\ Pas de pagination proposée.

Comment faire de la pagination avec un DataList (j'utilise ASP.NET 2.0).
Ou bien est-il possible de personnaliser entièrement DataGrid pour un
affichage 100% personnalisé (layout, couleurs des bandelettes, etc).

Merci d'avance.

--
Delf, in a lose, lose situation...

6 réponses

Avatar
Paul Bacelar
Exemple de customisation de DataGrid

http://msdn.microsoft.com/msdnmag/issues/05/03/CuttingEdge/default.aspx
--
Paul Bacelar

"Delf" wrote in message
news:431beb98$0$3677$
Bonjour.

Je souhaiterais utiliser le système de pagination sur un contrôle


DataList.

En effet, j'utilise ce contrôle pour afficher de façon totalement
personnalisée le résultat d'une requête SQL sous la forme de bandelettes
colorisées selon certaines valeurs contenues dans les champs ;
j'utilise donc les attributs ItemTemplates, etc... attributs qui ne sont
pas proposés par DataGrid.

Apparemment, seul le contrôle DataGrid propose la pagination.

Même problème avec le contrôle Repeater : Pas de pagination proposée.

Comment faire de la pagination avec un DataList (j'utilise ASP.NET 2.0).
Ou bien est-il possible de personnaliser entièrement DataGrid pour un
affichage 100% personnalisé (layout, couleurs des bandelettes, etc).

Merci d'avance.

--
Delf, in a lose, lose situation...


Avatar
Delf
Paul Bacelar wrote:

Exemple de customisation de DataGrid

http://msdn.microsoft.com/msdnmag/issues/05/03/CuttingEdge/default.aspx



Merci mais je ne suis pas sûr que ça puisse le faire.

En fait, l'intérêt du DataList dans mon cas précis est de pouvoir
afficher de façon totalement personnalisée (colonnes, userControl,
bandelettes, etc) un ArrayList contenant des objets de type X via la
balise <%# Container.DataItem %> et de pouvoir y appliquer des fonctions
dessus.

Exemple quelconque :

# CSHARP :

public struct MonTypeX
{
public string Name;
public string Address;
...
}

Page_Load()
{
// Connexion à un SGBD

foreach (element in dbFields)
{
myArrayList.add(new MonTypeX);
}

dl.DataSource = myArrayList;
dl.DataBind();
}

# ASP.NET

<asp:DataList ID="dl" ...>
<ItemTemplate>
<table>
<tr>
<td>
<%# MaFonctionUne(((MonTypeX)Container.DataItem).Name) %>
</td>
</tr>
</table>
</ItemTemplate>
<AlternativeTemplate>
<table>
<tr>
<td>
<%# MaFonctionDeux(((MonTypeX)Container.DataItem).Address) %>
</td>
</tr>
</table>
</AlternativeTemplate>
</asp:DataList>

Dans cet exemple, on affiche un coup sur deux le nom et l'adresse après
y avoir appliqué MaFonctionUne() ou MaFonctionDeux() dans des tables
séparées.

C'est ce que je voudrais faire mais avec le mécanisme de pagination.

Peut-on faire un tel traitement avec un DataGrid ? d'après les exemples
que j'ai pu voir, non.

Merci.

--
Delf
Avatar
Paul Bacelar
"Delf" wrote in message
news:431d6491$0$4677$
Paul Bacelar wrote:

> Exemple de customisation de DataGrid
>
> http://msdn.microsoft.com/msdnmag/issues/05/03/CuttingEdge/default.aspx

Merci mais je ne suis pas sûr que ça puisse le faire.

En fait, l'intérêt du DataList dans mon cas précis est de pouvoir
afficher de façon totalement personnalisée (colonnes, userControl,
bandelettes, etc) un ArrayList contenant des objets de type X via la
balise <%# Container.DataItem %> et de pouvoir y appliquer des fonctions
dessus.

Exemple quelconque :

# CSHARP :

public struct MonTypeX
{
public string Name;
public string Address;
...
}

Page_Load()
{
// Connexion à un SGBD

foreach (element in dbFields)
{
myArrayList.add(new MonTypeX);
}

dl.DataSource = myArrayList;
dl.DataBind();
}

# ASP.NET

<asp:DataList ID="dl" ...>
<ItemTemplate>
<table>
<tr>
<td>
<%# MaFonctionUne(((MonTypeX)Container.DataItem).Name) %>
</td>
</tr>
</table>
</ItemTemplate>
<AlternativeTemplate>
<table>
<tr>
<td>
<%# MaFonctionDeux(((MonTypeX)Container.DataItem).Address) %>
</td>
</tr>
</table>
</AlternativeTemplate>
</asp:DataList>

Dans cet exemple, on affiche un coup sur deux le nom et l'adresse après
y avoir appliqué MaFonctionUne() ou MaFonctionDeux() dans des tables
séparées.

C'est ce que je voudrais faire mais avec le mécanisme de pagination.

Peut-on faire un tel traitement avec un DataGrid ? d'après les exemples
que j'ai pu voir, non.

Merci.

--
Delf



L'exemple montre comment réordonné les lignes d'un DataGrid et utiliser la
sélection.

Il montre comment modifier l'HTML généré par le DataGrid.
--
Paul Bacelar
Avatar
Delf
Paul Bacelar wrote:

L'exemple montre comment réordonné les lignes d'un DataGrid et utiliser la
sélection.



Il montre comment modifier l'HTML généré par le DataGrid.



Ok, je vais regarder ça, merci.

--
Delf
Avatar
Delf
Delf wrote:

[...]



Finalement, je me suis fait mon propre contrôle de pagination basé sur
DataList.

--
Delf
Avatar
Paul Bacelar
"Delf" wrote in message
news:43252900$0$24772$
Delf wrote:

> [...]

Finalement, je me suis fait mon propre contrôle de pagination basé sur
DataList.

--
Delf



Un Max de taf, non ?

--
Paul Bacelar