2017-08-24 9 views
1

J'ai un MigraDoc Table pour mon document PDF. Il y a plusieurs objets avec un ID de personne, un nom, un prénom et ainsi de suite. Maintenant, je voudrais comparer la personne ID de la table avec une chaîne, comme:Comparer MigraDoc Table cellulaire avec chaîne

if (table.Rows[i][10].ToString() == Person.ID && table.Rows[i][10].ToString() != "") 
{ 
    //do something 
} 

Malheureusement, il ne va pas dans la requête parce que table.Rows[i][10].ToString() n'est pas le bon appel.
Existe-t-il un moyen d'appeler la valeur de la cellule?

+0

Avez-vous essayé '.Equals'? https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/strings/how-to-compare-strings –

+0

@dimmik Le message d'erreur « Argument spécifié était hors de la plage de valeurs valides » apparaît à la même méthode – Hadda

+0

Avez-vous suivi le lien que je vous ai donné? Pouvez-vous s'il vous plaît poster ce que vous avez essayé –

Répondre

1

Oui, mais il n'y a pas de manière simple. Une cellule peut contenir plusieurs éléments de document. Dans le cas le plus simple, vous avez un paragraphe avec un élément de texte. Vous pouvez obtenir le texte de ces éléments.

Votre code remplit la cellule afin que votre code sache ce qu'il contient. Peut-être garder un tableau où vous pouvez rechercher l'ID par exemple. ligne 5.

Solution de contournement simple: attribuez le texte que vous avez placé dans cette cellule au membre "Tag" de la cellule et utilisez-le pour la comparaison. Aucun tableau supplémentaire requis.

+0

Merci qui fonctionne pour moi :) – Hadda