2014-09-29 2 views
0

Im действительно застрял, пытаясь перебирать набор данных, чтобы проверить, совпадает ли имя компании, введенное в текстовое поле (TXTBXCustomerLookup), любой из записей в наборе данных в столбце «CompanyName», когда кнопка нажимаетсяforeach через набор данных для сравнения текста текстового поля C#

до сих пор у меня есть это:

private void BTNLookupCustomer_Click(object sender, EventArgs e) 
    { 

     if ((TXTBXCustomerLookup.Text != "") && (TXTBXCustomerLookup.Text != " ")) 
     { 
      foreach (DataTable table in ds.Tables) 
      { 
       foreach (DataRow row in table.Rows) 
       { 
        foreach (object item in row.ItemArray) 
        { 
         if (TXTBXCustomerLookup.Text = this.CompanyName.ToString()) 
         { 
          BTNUpdateCustomer.Enabled = true; 
          BTNDeleteCustomer.Enabled = true; 
         } 
        } 
       } 
      } 
     } 
    } 

и приходит с ошибкой «не удается неявно преобразовать тип„Строка“до«Bool»и" не удается преобразовать метод группы „ToString“ к не -delegate type 'string'. Вы намеревались вызвать метод «

Эти ошибки на линии ниже

if (TXTBXCustomerLookup.Text = this.CompanyName.ToString()) 

Я знаю, это должно быть что-то простое, что я делаю неправильно, но не могу думать, что и есть тратить больше часа, пытаясь понять его (используя старый испытанный Google)

+0

'=' должно быть '=='. Но разумнее поставить 'CompanyName.ToString()' вне цикла, как в первой строке вашего кода: 'string toCompareTo = this.CompanyName.ToString();', а затем внутри цикла выполните 'if (blah.Text == toCompareTo) ... ' –

+0

ваше сравнение this.CompanyName wth текст текстового поля. Уверен, что он не должен сравнивать значение текстового поля с элементом из последнего foreach? Если ваше сравнение правильное, вам действительно не нужны какие-либо заявления foreach, которые кажутся чем-то странным. – helgeheldre

ответ

0

Вам нужны два знака. В противном случае вы попытаетесь присвоить значение compannyname текстовому полю TXTBXCustormerLookup.

if (TXTBXCustomerLookup.Text == this.CompanyName.ToString()){ 
    BTNUpdateCustomer.Enabled = true; 
    BTNDeleteCustomer.Enabled = true; 
} 
Смежные вопросы