2009-05-07 7 views
0

Je suis à la recherche d'une méthode ou d'un événement qui serait déclenché lors de l'accès à une ligne d'une datatable.Événement sur la zone de données en cours de lecture ou d'accès?

J'ai une datatable avec plusieurs milliers de lignes et une image dans au moins une des colonnes. Je veux charger dynamiquement et décharger l'image de la rangée quand elle est accédée.

Je n'ai vu aucune documentation qui suggère que c'est là, mais j'ai pensé que je posterais et voir si quelqu'un le sait.

Répondre

2

Le problème est que vous devez définir "accédé". Si vous parlez de "affiché" alors vous ne voulez probablement pas vraiment lier dans le DataTable mais plutôt la grille (ou la liste ou tout ce qui affiche le DataTable). Si vous voulez dire "touché" alors vous avez un problème plus délicat. Il n'y a aucun événement sur les objets DataTable ou DataRow auquel vous pouvez vous lier, mais les éléments d'un DataRow sont tous des objets. Ce qui signifie que vous pourriez probablement faire quelque chose au niveau de la "cellule", en particulier si vous utilisez WPF et que vous pouvez le remplacer dans un objet System.Windows.Controls.Image.

Je serais prudent, cependant. Cela semble être un cas d'optimisation prématurée.

+0

Je suis définitivement ouvert à une alternative à travailler avec le grand ensemble de données. Le vrai problème vient du fait que le datatable est un composite d'informations provenant de plusieurs sources de données. – JoelHess

+0

Les objets DataSet (au moins post .Net 1.1) sont relativement efficaces, de sorte que le seul véritable facteur limitant est probablement la mémoire. c'est-à-dire que la performance n'est pas susceptible d'être un problème, du moins pas d'une manière qui sera corrigée par un chargement tardif et une élimination précoce des images. Cela dit, je n'ai pas la peau dans le problème et cela fait quelques années que j'ai travaillé avec des ensembles de données aussi volumineux. –

Questions connexes