2011-02-03 1 views
0

J'ai plusieurs tâches listées dans une grille de données, avec leur nom de tâche et leur date. Je montre toutes les tâches en fonction de la priorité de l'ordre. Si l'utilisateur doit ajouter une tâche au milieu de la grille de données, je lis le numéro de précédence de la tâche sélectionnée, l'incrémente et le définit comme numéro de priorité de la nouvelle tâche. Ensuite, j'augmente le numéro de priorité de toutes les tâches listées après la nouvelle tâche.Comment maintenir la priorité d'ordre

Je lis toutes les tâches de la base de données et les conserve dans un ObservableCollection .Avant d'afficher les tâches, je trier en fonction de la priorité de l'ordre. Ici, si une nouvelle tâche est ajoutée à la collection, j'ai besoin de mettre à jour toutes les autres précisions de la tâche. Existe-t-il un bon moyen de gérer la priorité d'ordre sans mettre à jour les numéros de préséance d'autres tâches?

+0

Je ne comprends pas l'utilisation du mot «non» dans votre question, mais cela ressemble à une question sur les listes liées. –

+0

sa précédence Numéro basé sur ce que je suis en train de trier une collection montrant dans la grille – Hukam

+1

Qu'allez-vous faire avec la structure de données que vous devez maintenir? Il suffit d'insérer et d'itérer 1 à n? Ou aurez-vous besoin d'accéder à une tâche par sa commande? Ou peut-être simplement choisir la tâche la plus «haute»? –

Répondre

1

Au lieu de maintenir une commande, pourriez-vous avoir une priorité de tâche? Similaire à Windows Task Priority. c'est-à-dire que toutes les tâches prioritaires "hautes" seraient exécutées avant les tâches prioritaires "normales". Et si deux tâches ont la même priorité, celle avec le plus tôt DueDate s'exécutera en premier.

+0

Je pense que c'est plus proche de la bonne réponse. Il est inutile d'enregistrer une valeur dérivée logiquement de toutes les autres valeurs. –