views:

23

answers:

1

how can I compare value property of item to datatable column called Value? Please help me with the syntax

if ((String)item.Value.IndexOf((string)results("value") Stringcomparison.CurrentCultureIgnoreCase) > -1) { returnItems.Add(item); }

A: 

Your question and comment seem to be asking different things, but in both cases the answer is probably to unpick the big long line of code into explanatory variables:

string valueFromTable = currentRow["Value"].ToString();
bool itemValueContainsValueFromTable = item.Value.IndexOf(valueFromTable, StringComparison.CurrentCultureIgnoreCase) >= 0;
bool itemValueEqualsValueFromTable = item.Value.Equals(valueFromTable, StringComparison.CurrrentCultureIgnoreCase);
if (/* whichever of these you are interested in */)
{
  returnItems.Add(item);
}

(ignoring error cases here, specifically if item.Value is null)

Note that to get a value from the DataTable you will need to pick a row. If you want to see if the item matches any row, then iterate over the rows (foreach (var row in table.Rows)).

itowlson