Sélectionnez un DataRow à partir d'un DataRow [] collection
Mon code :
DataRow[] row = ByTotalTemplate.Select("TEMPLATE_ID=" + DisTemplateID);
Une ligne contient TEMPLATE_ID
,MIN_AMOUNT
,MAX_AMOUNT
et DISCOUNT
Maintenant, je veux sélectionner une ligne sur laquelle un montant est entre MIN_AMOUNT
et MAX_AMOUNT
J'ai essayé de faire ceci :
DataRow amountRow = row.Select("MIN_AMOUNT<" + quantity + " AND MAX_AMOUNT>" + quantity);
mais cela n'a pas fonctionné.
avez-vous obtenez une erreur ou que vous n'étiez pas en mesure d'obtenir la ligne de votre choix?
Est votre variable également orthographié qunatity plutôt que la quantité? Peut-être qu'il est le problème! 😀
Est votre variable également orthographié qunatity plutôt que la quantité? Peut-être qu'il est le problème! 😀
OriginalL'auteur Sora | 2013-07-10
Vous devez vous connecter pour publier un commentaire.
Au lieu de bidouiller avec la syntaxe de l'expression je voudrais utiliser Linq:
Si vous voulez un nouveau DataTable avec les résultats filtré:
Noter que
CopyToDataTable
lève une exception si il n'y a pas de lignes, car il faut tirer les colonnes de la lignes. Donc, vous avez à vérifier avant. Vous pouvez utiliser:Si vous voulez un tableau plutôt:
Si vous voulez juste la première ligne:
Btw, votre problème est que vous avez utilisé
DataTable.Select
sur unDataRow[]
Si "rangées" ne contient pas toutes les entrées, CopyToDataTable() donnera une exception, vérifiez les lignes.() avant d'utiliser la méthode pour être sûr qu'il a quelque chose à copier.
j'ai édité ma réponse à montrer comment vous pouvez éviter de l'exception.
dataTable.AsEnumerable() a été le seul dont j'avais besoin, merci.
OriginalL'auteur Rango
Vous devez sélectionner les lignes à partir de votre
DataTable
si vous souhaitez utiliserSelect()
méthodeOriginalL'auteur gzaxx
essayer cette
OriginalL'auteur sangram parmar