2016-05-23 4 views
-1
string prodcode = dataGridView1.CurrentRow.Cells["productUniqueCode"].Value.ToString(); 
string prodCateogry = dataGridView1.CurrentRow.Cells["productCategory"].Value.ToString(); 


if (prodCateogry.Equals("Diamond")) 
{     

} 

Я хочу сравнить значение prodCategory, если оно содержит строку, равную «Diamond» или нет. в столбце productCategory имеет значение «Diamond». Но оператор «if» показывает сравнение false. Как тогда сравнивать?сравнение строки из значения ячейки сетки данных

+0

Может быть, у вас есть пробелы в конце. Попробуйте 'if (prodCateogry.Trim(). Equals (" Diamond "))' – Pikoh

+0

Используете ли вы отладчик? –

+0

Используйте точку прерывания отладчика, чтобы найти проблемы. https://support.microsoft.com/en-us/kb/815788 – mohsen

ответ

1

Строка, которую вы сравниваете, может содержать слово в верхнем или нижнем регистре, чтобы оно не соответствовало строке. Используйте StringComparison.OrdinalIgnoreCase, чтобы соответствовать случаю слов.

if (prodCateogry.Trim().Equals("Diamond",StringComparison.OrdinalIgnoreCase)) 
{ 

} 
+0

Ничего не случилось. :( –

+0

@SaeedurRehman проверить редактирование Я добавил 'Trim()' функцию для удаления лишних пробелов – Mairaj

+0

@SaeedurRehman Что такое значение 'prodCateogry' при отладке? – Mairaj

1
for (int i = 0; i < dataGridView1.Rows.Count - 1;i++) 
      { 
       if (dataGridView1.CurrentRow .Cells["ProductName"].Value.Equals ("Diamond")) 
       { 
        MessageBox.Show(dataGridView1.Rows [i].Cells [1].Value .ToString()); 
       } 
      } 
+0

его решение, я не знаю, что произошло, но я перезапустил визуальную студию, и все работает отлично. Однако спасибо за ваше время. –

+0

хорошо спасибо Саид – SK2185

Смежные вопросы