2008-09-09 3 views
2

J'ai une liste de produits qui sont affichés dans un ordre particulier. L'administrateur du magasin peut réaffecter l'ordre d'affichage en déplaçant les éléments «chauds» en haut de la liste. Quelle est la meilleure façon d'implémenter la fonctionnalité d'administration? UI [asp.net C#]? La table Products a un [displayOrder (int)] qui détermine l'ordre d'affichage. Je cherche quelque chose d'intuitif et simple.Implémentation de l'ordre d'affichage défini par l'utilisateur UI

merci.

p.s. Je suppose que je n'ai pas été clair, je cherche des conseils d'assurance-chômage plus que tout.

SOLUTION: ReorderList a bien fonctionné, ce article aidé aussi. Assurez-vous également que OldValuesParameterFormatString = "{0}" dans votre DataSource.

Répondre

2

Vous avez besoin d'un champ Rang pour chaque produit (qui peut également être le champ DisplayOrder).
Lorsque l'administrateur augmente ou diminue un produit, mettez à jour la valeur de classement.
Lorsque vous devez répertorier les produits, effectuez une requête de sélection qui trie dans l'ordre de rang DESC.

0

J'implémente cela en utilisant la colonne/propriété 'Order' où les gens entrent des nombres comme 10, 20, 30 (j'ai l'ordre croissant). J'ai une liste d'éléments avec des zones de texte pour entrer l'ordre, et un bouton «appliquer une commande» qui enregistre de nouvelles valeurs dans la base de données et réordonne/recharge les éléments de la page avec la nouvelle commande appliquée. Je n'interdis pas d'entrer la même valeur pour deux items, je les classe par nom comme un second paramètre de tri, ou je laisse la base de données trier à volonté si cela n'a pas beaucoup d'importance. Je crois que c'est assez compréhensible pour le dire de cette façon, cela semble être une liste ordonnée que tout le monde comprend facilement.

0

Si vous pouvez modifier la base de données, ajoutez une colonne IsHot. Puis trier par IsHot et DisplayOrder (dans cet ordre). Cela permettra de garder les produits dans le bon ordre et les produits "chauds" vont monter en flèche jusqu'au sommet.

Questions connexes