2010-09-06 8 views
0

J'ai un DataGrid qui contient des données sensibles, c'est-à-dire qui permet seulement à l'utilisateur de lire, rien de plus (pas de modification, pas de copie, ...). Comment puis-je l'archiver? Datagrid a la propriété Readonly, mais je pense que cela n'empêche pas l'utilisateur de copier des données.Comment protéger les données sur datagrid?

EDIT: Je n'ai pas besoin d'empêcher complètement l'utilisateur de copier des données, mais je ne lui permets pas de copier facilement des données de masse.

+0

I ajouté tag, WinForm :) – Vimvq1987

+0

L'utilisateur peut toujours imprimer écran. –

Répondre

2

Vous pouvez essayer de désactiver les fonctions de copie. Peut-être que vous pourriez prendre en charge Ctrl-C dans une application de bureau, et même Print-Screen - ils pourrait être «désactivé» pour une application de bureau. Cela ne garantit pas que l'utilisateur ne dispose pas d'un autre processus logiciel pour prendre sa place.

Il y a vraiment beaucoup d'efforts, vous pouvez aller, mais il existe d'autres procédures de « copie » que vous ne seriez pas en mesure d'arrêter:

  • copie manuelle (utilisateur visualisant & tapant des données dans le Bloc-notes)
  • écran grattoirs
  • appareils photo numériques

Utilisez-vous un DataGridView en WinForms? Il semble que vous cherchiez quelque chose sur la grille pour détecter + empêcher la copie. Vous pouvez essayer la propriété Enabled, définie sur false. Cela permettrait au moins d'interdire la sélection de la masse en utilisant le bouton en haut à gauche.

alt text

+0

Je veux juste empêcher l'utilisateur de masse et de copie facile. En fait, l'application surcharge Ctrl + C, mais je pense qu'il y aurait un moyen plus simple :) – Vimvq1987

1

Je suis d'accord avec Campbell et tous ses commnets sont tout à fait vrai. Cependant, si vous définissez la propriété Enabled sur False, vous ne pouvez pas faire défiler les différentes parties de la Datagrid si elle contient plusieurs lignes et colonnes.

Ainsi, l'une des meilleures façons de protéger les données en vue Datagrid est:

1) Définir propriété MultiSelect à false. 2) Définissez ClipboardCopyMode sur Disable.

Si vous avez besoin de plus de sécurité, vous pouvez changer le mode d'édition en EditProgramatically.

Meilleures salutations Ranjan Poudel Katmandou, Népal

Questions connexes