2010-04-30 16 views
0

Je voudrais faire quelque chose de similaire à ce que nous faisons dans ASP.NET où nous analysons toutes les lignes d'un GridView et assignons une valeur particulière à une cellule particulière dans une rangée qui a un TaskId correspondant à l'Id actuel.Problème lors de l'analyse de GridViewRows dans un Telerik RadGridView

Cela doit se produire dans une fonction Tick d'un objet Dispatcher Timer. Depuis que j'ai une colonne de début de minuterie pour chaque ligne dans un GridView. Lors du clic sur le bouton Start Timer d'une ligne particulière, je dois démarrer sa minuterie et l'afficher dans une cellule de cette rangée. De même, il peut y avoir plusieurs minuteurs fonctionnant en parallèle. Pour cela, je dois pouvoir vérifier la tâche Id de la tâche particulière et continuer à mettre à jour les valeurs de cellules avec l'heure mise à jour dans toutes les tâches qui ont un Timer Started.

TimeSpan TimeRemaining = une certaine valeur; chaîne CurrentTaskId = "100"; foreach (ligne GridViewRow à RadGridView1.Rows) // Ici, j'ai essayé RadGridView1.ChildrenOfType() aussi bien mais il a nulle { if ((row.DataContext comme tâche) .TaskId == currentTaskId) row.Cells [2 ] .Content = a.TaskTimeRemaining.ToString(); Quelqu'un peut-il s'il vous plaît laissez-moi savoir comment puis-je obtenir cette fonctionnalité en utilisant le Telerik RadGridView?

Cheers, Syed.

Répondre

0

cela fonctionne pour moi - en utilisant Telrik WinControls Q2 2009. Je l'ai dans l'événement tick d'une minuterie.

foreach (GridViewRowInfo row in this.radGridView1.MasterGridViewTemplate.Rows) 
{ 
    if (row.Cells["colId"].Value.ToString() == CurrentTaskId) 
    { 
     row.Cells["colTimerValue"].Value = a.TaskTimeRemaining.ToString(); 
    } 
} 
+0

Barry J'ai un problème ici. Mon minuteur a une valeur d'incrémenteur fixée à 1 seconde. Lorsque la minuterie est démarrée, si je défile vers la droite de mon GridView et que je repasse à l'extrémité gauche, elle vide ma cellule minuterie et rafraîchit la seconde suivante avec la prochaine valeur Tick. Mais le problème est lorsque j'ai arrêté mon minuteur, il affiche la valeur actuelle de la minuterie. Ici, si je le répète, le défilement vers la droite et à l'arrière, la cellule perd sa valeur et montre :(vide. Avez-vous eu le même problème? Si oui quelle solution ou raisonnement pourquoi il se trouve? Cheers, Syed – Syed

+0

Syed, je crains de ne pas avoir encore utilisé les contrôles Silverlight, donc je ne suis pas le mieux placé pour commenter.Je suppose que vous avez essayé le site Telerik? http://www.telerik.com/help/silverlight /radgridview-row-details-programming.html – codingbadger