powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / ListView control
16 сообщений из 16, страница 1 из 1
ListView control
    #38638454
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня есть листвью с и три сабайтема как видно на первой картинке.
после прогона я хочу поменять цвет фона (шрифта) третьего сабайтема.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
 else
 {
      if (result_str.Contains("Error"))
      {
               item.SubItems[3].BackColor = Color.Red;
               item.SubItems[3].ForeColor = Color.Red;
               item.SubItems[3].Text = "FAIL";  
       }
       else
       {
               item.SubItems[3].BackColor = Color.Green;
               item.SubItems[3].ForeColor = Color.Green;
               item.SubItems[3].Text = "PASS";  
        }
}



но как видно на второй картинке цвет не меняется. что я делаю не так?
...
Рейтинг: 0 / 0
ListView control
    #38638455
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
ListView control
    #38638505
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7,

менять нужно не subitem а item
...
Рейтинг: 0 / 0
ListView control
    #38638570
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VIT2708jenya7,

менять нужно не subitem а item

item.BackColor = Color.Red; тоже не меняет цвет
...
Рейтинг: 0 / 0
ListView control
    #38638582
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7,

А вы так пробуете?

Код: c#
1.
2.
3.
4.
5.
6.
7.
foreach (ListViewItem item in ListView1.Items)
{
  if ( item.Text.Contains("Error")) // или другое условие
  {
      item.ForeColor = Color.Red;
  }
}
...
Рейтинг: 0 / 0
ListView control
    #38638609
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
все равно цвет не меняется.
...
Рейтинг: 0 / 0
ListView control
    #38638632
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7,

На скриншоте я не вижу error

Код: c#
1.
2.
3.
4.
5.
6.
7.
foreach (ListViewItem item in ListView1.Items)
{
  if ( item.SubItem[3].Text.Contains("error").ToLower()) // или другое условие
  {
      item.ForeColor = Color.Red;
  }
}



Кстати вместо Contains может проще ==, также проверьте регистр букв или используйте в примере

И еще одно, ради интереса отобразите список в виде таблицы listView1.View = Details, и посмотрите результат
...
Рейтинг: 0 / 0
ListView control
    #38638638
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VIT2708,

И еще одно, ради интереса отобразите список в виде таблицы listView1.View = Details, и посмотрите результат

на эту фразу не обращайте внимания
...
Рейтинг: 0 / 0
ListView control
    #38638649
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VIT2708jenya7,

На скриншоте я не вижу error

Код: c#
1.
2.
3.
4.
5.
6.
7.
foreach (ListViewItem item in ListView1.Items)
{
  if ( item.SubItem[3].Text.Contains("error").ToLower()) // или другое условие
  {
      item.ForeColor = Color.Red;
  }
}



Кстати вместо Contains может проще ==, также проверьте регистр букв или используйте в примере

И еще одно, ради интереса отобразите список в виде таблицы listView1.View = Details, и посмотрите результат

у меня вместо "error" "FAIL"

я не понимаю - почему это свойство сабайтема меняется item.SubItems[3].Text = "FAIL";
а это нет item.SubItems[3].BackColor = Color.Red;
...
Рейтинг: 0 / 0
ListView control
    #38638662
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да так работает
Код: c#
1.
2.
  if (item.SubItems[3].Text.Contains("FAIL"))
        item.ForeColor =  Color.Red;


но у меня вся строка закрасилась красным а мне надо только там где "FAIL"
...
Рейтинг: 0 / 0
ListView control
    #38638678
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7,

так не получится

Если вы хотите что бы закрасилась только ячейка вам немного нужно переделать существующий контрол (ListView) то есть расширить функционал существующего
...
Рейтинг: 0 / 0
ListView control
    #38638746
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VIT2708jenya7,

так не получится

Если вы хотите что бы закрасилась только ячейка вам немного нужно переделать существующий контрол (ListView) то есть расширить функционал существующего

спасибо за информацию. могли бы гады сделать нормальне контролы. эх куда детство дельфи ушел.
...
Рейтинг: 0 / 0
ListView control
    #38638770
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вместо:
Код: c#
1.
if ( item.SubItem[3].Text.Contains("error").ToLower()) 



это:
Код: c#
1.
if (item.SubItem[3].Text.ToLower().Contains("error")) 
...
Рейтинг: 0 / 0
ListView control
    #38638815
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
добавил вначале item.UseItemStyleForSubItems = false;
и вот результат
...
Рейтинг: 0 / 0
ListView control
    #38638847
VIT2708
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7,

Интересно, я и не думал что есть такая настройка!!!!.
...
Рейтинг: 0 / 0
ListView control
    #38638899
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VIT2708jenya7,

Интересно, я и не думал что есть такая настройка!!!!.

случайно наткнулся, дай думаю ткну авось повезет.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / ListView control
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]