2009-05-05 7 views
1

Il ya quelques années, j'ai décidé de créer mon propre DataGrid car je n'aimais pas le standard fourni par Microsoft. C'est une fonction très simple qui prend un DataTable comme un paramètre d'entrée et qui renvoie une chaîne (le code html pour afficher une table sur une page Web).grille personnalisée asp.net vs GridView/ListView

C'est très flexible (il y a des paramètres optionnels pour faire la pagination, le tri et le formatage de chaque colonne comme je veux) et rapide (seuls les enregistrements utilisés sont récupérés de la base de données). La fonction elle-même est très courte (environ 20 lignes de code). Je l'utilise depuis au moins 4 ans maintenant.

En supposant que vous avez un PlaceHolder sur votre page Web, voici comment vous appelez la fonction personnalisée:

MyPlaceHolder.Controls.Add(new LiteralControl(CreateCustomGrid(MyDataTable))) 

CreateCustomGrid (MyDataTable))) retourne quelque chose comme ça (si MyDataTable dispose de 2 colonnes et 2 lignes):

<table class="MyClass" rules="all"> 
    <tr> 
     <th>Column1</th> 
     <th>Column2</th> 
    </tr> 
    <tr> 
     <td align="center">Value1</td> 
     <td align="center">Value2</td> 
    </tr> 
    <tr> 
     <td align="center">Value3</td> 
     <td align="center"><a href=’MyLink’>Value4</a></td> 
    </tr> 
    </table> 

en interne, la fonction sait comment formater chaque colonne (cette fonction est uniquement utilisée sur un site Web), mais il est également possible de le changer pour chaque colonne individuelle en utilisant des paramètres facultatifs. Idem pour la pagination et le tri. Dans l'ensemble, il est très flexible et très facile à utiliser.

Maintenant, les choses ont changé et le DataGrid a été remplacé par GridView et/ou ListView. Je les ai regardés mais je ne vois rien qu'ils fassent que ma fonction ne soit pas si je serais tenté de continuer à utiliser ma fonction, mais je pourrais négliger quelque chose. Dans le même temps, il semble un peu étrange de continuer à utiliser une fonction personnalisée pour générer une table html. Quelle est votre opinion à ce sujet?

Répondre

0

Je dirais que vous devriez examiner le GridView/ListView pour voir ce qu'ils peuvent faire mais, finalement, si vous et vos clients êtes heureux avec votre propre code et cela fonctionne pour vous, fait tout ce dont vous avez besoin alors il n'y a pas besoin de changer juste parce qu'il y a autre chose.

1

Si votre code fonctionne et est assaisonné, je ne changerais aucun code existant. Pour plus de fonctionnalités, vous pouvez envisager de l'encapsuler dans un WebControl personnalisé lié aux données. De cette façon, vous pouvez utiliser des sources de données, etc.

+0

+1 Mes pensées exactement. Bien déclaré! –

Questions connexes