Question

Dans Excel je peux utiliser une expression comme « = C16 + C17 » pour une cellule pour afficher les valeurs des autres cellules.

Dans ma demande j'ai besoin quelque chose de similaire. L'utilisateur doit être en mesure de sélectionner une plage de cellules d'une mouture databound et afficher la somme dans une autre cellule (pas en bas de page!). Alors, que j'ai besoin est la possibilité d'attribuer quelque chose comme « prendre les valeurs de xyz colonne des enregistrements identifiés par ids 7, 23, 42 et les résumer » à une cellule arbitraire.

Quelqu'un sait-il un composant qui offre un tel « langage d'expression »?

Était-ce utile?

La solution 2

Je vais aller avec cet article CodeProject: « La mise en œuvre d'un type Excel moteur formule ». Il dispose d'un analyseur, l'évaluation de la formule et il est très facile de se connecter avec un DataGrid.

Autres conseils

Il n'y a rien construit dans le DataGridView qui peut vous aider à le faire. Votre option est évidemment des contrôles personnalisés. Je suis sûr que Infragistics UltraGrid a quelque chose comme ça, mais si vous ne voulez pas dépenser l'argent, vous pourriez rouler votre propre. Il pourrait en fait ne pas être difficile. Voici la façon simple de le faire.

BIND votre datagridview à un DataTable, et puis quand vous voulez ajouter l'expression, vous ajoutez un nouveau DataColumn et définissez la propriété d'expression. Voici quelques informations sur la propriété d'expression du DataColumn. De MSDN

Nous avons fait quelque chose de similaire à ce que au travail et il fonctionne très bien. Bonne chance!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top