Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / C# Цикл в DataGridView по первой колонке и закраска ячейки цветом / 18 сообщений из 18, страница 1 из 1
15.02.2013, 05:17
    #38152200
haungan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Цикл в DataGridView по первой колонке и закраска ячейки цветом
Здравствуйте!
на Форме есть DataGridView1 - отражает данные из таблицы. Первая колонка - содержит в себе либо true либо NULL
Помогите кодом Цикла - который бы пробегал по первой колонке и там где встречается true закрашивал бы ячейку цветом.
Я тут накидал кое что - но не работает правильно.. Вернее не работает вообще..
Код: c#
1.
2.
3.
4.
5.
6.
7.
for (int i = 0; i < dataGridView1.RowCount; i++)
            {
                if ((bool)dataGridView1.Rows[i].Cells["Repair"].Value == true)
                {
                    dataGridView1.Rows[i].Cells["Repair"].Style.BackColor = Color.Red;
                }
            }
...
Рейтинг: 0 / 0
15.02.2013, 06:53
    #38152220
Владимир СА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Цикл в DataGridView по первой колонке и закраска ячейки цветом
Отладчиком-то пробегал, смотрел, что именно дает в цикле
Код: c#
1.
dataGridView1.Rows[i].Cells["Repair"].Value

???
...
Рейтинг: 0 / 0
15.02.2013, 07:17
    #38152227
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Цикл в DataGridView по первой колонке и закраска ячейки цветом
haungan,

Раскрашивайте в событии CellFormatting.
...
Рейтинг: 0 / 0
15.02.2013, 08:01
    #38152241
haungan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Цикл в DataGridView по первой колонке и закраска ячейки цветом
Владимир САОтладчиком-то пробегал, смотрел, что именно дает в цикле
Код: c#
1.
dataGridView1.Rows[i].Cells["Repair"].Value

???
Исключение выходит сразу же Заданное приведение является недопустимым.

Cat2
можно подробней?
...
Рейтинг: 0 / 0
15.02.2013, 08:16
    #38152250
haungan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Цикл в DataGridView по первой колонке и закраска ячейки цветом
Как то так получилось - не уверен что верно..
Код: c#
1.
2.
3.
4.
5.
6.
7.
            for (int i = 0; i < dataGridView1.RowCount; i++)
            {
                if (Convert.ToBoolean(dataGridView1.Rows[i].Cells["Repair"].Value.ToString() == "True"))
                {
                    dataGridView1.Rows[i].Cells["Repair"].Style.BackColor = Color.Red;
                }
            }
...
Рейтинг: 0 / 0
15.02.2013, 08:26
    #38152256
beg-in-er
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Цикл в DataGridView по первой колонке и закраска ячейки цветом
haungan
Код: c#
1.
2.
                if (Convert.ToBoolean(dataGridView1.Rows[i].Cells["Repair"].
                Value.ToString() == "True")) // <====!!!


за это полагается ВМН
...
Рейтинг: 0 / 0
15.02.2013, 08:34
    #38152260
haungan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Цикл в DataGridView по первой колонке и закраска ячейки цветом
beg-in-er,

Вы меня не лосите.. я же новичок в этом деле - помогите разобраться вот и все...
...
Рейтинг: 0 / 0
15.02.2013, 08:38
    #38152263
haungan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Цикл в DataGridView по первой колонке и закраска ячейки цветом
понимаю что я там порезаконвертировался - все намного проще можно сделать
Код: c#
1.
if(dataGridView1.Rows[i].Cells["Repair"].Value.ToString() == "True")



или то же ВМН?
...
Рейтинг: 0 / 0
15.02.2013, 08:46
    #38152272
Владимир СА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Цикл в DataGridView по первой колонке и закраска ячейки цветом
haungan !

dataGridView1 как заполняешь?
...
Рейтинг: 0 / 0
15.02.2013, 08:52
    #38152279
sld
sld
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Цикл в DataGridView по первой колонке и закраска ячейки цветом
Код: c#
1.
 if (Convert.ToBoolean(dataGridView1.Rows[i].Cells["Repair"].Value))
...
Рейтинг: 0 / 0
15.02.2013, 08:56
    #38152281
Владимир СА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Цикл в DataGridView по первой колонке и закраска ячейки цветом
haunganпонимаю что я там порезаконвертировался - все намного проще можно сделать
Код: c#
1.
if(dataGridView1.Rows[i].Cells["Repair"].Value.ToString() == "True")



или то же ВМН?Это нормально...
Но у тебя чередуются... True и Null...
Не хорошо это...
Поэтому я и спросил:
dataGridView1 как заполняешь?

Если через запрос, то лучше конкретное что-то подставлять, типа:
Если True, то 1 иначе 0...
И будешь конкретно знать...

Но на само деле я не знаю твою задачу... Конкретика всегда есть...
...
Рейтинг: 0 / 0
15.02.2013, 09:05
    #38152287
haungan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Цикл в DataGridView по первой колонке и закраска ячейки цветом
Владимир СА,
В DataGridView данные с таблицы из БД на SQL там тип поля Repair - bit. По умолчанию вся колонка заполнена NULL в другой программе есть возможность изменять колонку Repair на true
след образом
Код: sql
1.
update users set Repair=1 where id=@id


Убрать true в NULL
Код: sql
1.
update users set Repair=NULL where id=@id


В моем DataGridView - отображается только данные из таблицы. Необходимо сделать так, что бы пробегая по таблице, натыкаясь на True закрашивалась бы ячейка - вот и все..
Понимаю что я работаю как со строкой и это наверно не правильно..
...
Рейтинг: 0 / 0
15.02.2013, 09:13
    #38152294
Владимир СА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Цикл в DataGridView по первой колонке и закраска ячейки цветом
haungan !
Ну дык, если у тебя сейчас цикл работает... Тебя вроде все устраивает... теперь посмотри, событие DataGridView.CellFormatting, что советует Cat2...
...
Рейтинг: 0 / 0
15.02.2013, 19:37
    #38153452
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Цикл в DataGridView по первой колонке и закраска ячейки цветом
haunganВладимир САОтладчиком-то пробегал, смотрел, что именно дает в цикле
Код: c#
1.
dataGridView1.Rows[i].Cells["Repair"].Value


???
Исключение выходит сразу же Заданное приведение является недопустимым.

Cat2
можно подробней?
Не надо цикла. Надо использовать событие. И все сразу становится простым.
...
Рейтинг: 0 / 0
18.02.2013, 15:06
    #38155757
Остап Ибрагимович
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Цикл в DataGridView по первой колонке и закраска ячейки цветом
haunganЗдравствуйте!
на Форме есть DataGridView1 - отражает данные из таблицы. Первая колонка - содержит в себе либо true либо NULL
Помогите кодом Цикла - который бы пробегал по первой колонке и там где встречается true закрашивал бы ячейку цветом.
Я тут накидал кое что - но не работает правильно.. Вернее не работает вообще..
Код: c#
1.
2.
3.
4.
5.
6.
7.
for (int i = 0; i < dataGridView1.RowCount; i++)
            {
                if ((bool)dataGridView1.Rows[i].Cells["Repair"].Value == true)
                {
                    dataGridView1.Rows[i].Cells["Repair"].Style.BackColor = Color.Red;
                }
            }



Не отрабатывает, потому что:

Код: c#
1.
2.
3.
4.
5.
6.
7.
for (int i = 0; i < dataGridView1.RowCount; i++)
            {
                if ((bool)dataGridView1.Rows[i].Cells["Repair"].Value == true) // Потому что тут ексепшен!
                {
                    dataGridView1.Rows[i].Cells["Repair"].Style.BackColor = Color.Red;
                }
            }



Возьми этот код в тру\катч и посмотри. А потом сделай по тупому

Код: c#
1.
2.
3.
4.
5.
6.
7.
for (int i = 0; i < dataGridView1.RowCount; i++)
                {
                    if (dataGridView1.Rows[i].Cells[0].Value == "true")
                    {
                        dataGridView1.Rows[i].Cells[0].Style.BackColor = Color.Red;
                    }
                }
...
Рейтинг: 0 / 0
18.02.2013, 16:53
    #38156042
Varcom
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Цикл в DataGridView по первой колонке и закраска ячейки цветом
haunganЗдравствуйте!
на Форме есть DataGridView1 - отражает данные из таблицы. Первая колонка - содержит в себе либо true либо NULL
Помогите кодом Цикла - который бы пробегал по первой колонке и там где встречается true закрашивал бы ячейку цветом.
Я тут накидал кое что - но не работает правильно.. Вернее не работает вообще..
Код: c#
1.
2.
3.
4.
5.
6.
7.
for (int i = 0; i < dataGridView1.RowCount; i++)
            {
                if ((bool)dataGridView1.Rows[i].Cells["Repair"].Value == true)
                {
                    dataGridView1.Rows[i].Cells["Repair"].Style.BackColor = Color.Red;
                }
            }


Возможно проблема в том, что приводишь к типу (bool), а надо к типу (bool?)
...
Рейтинг: 0 / 0
18.02.2013, 17:14
    #38156116
Остап Ибрагимович
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Цикл в DataGridView по первой колонке и закраска ячейки цветом
VarcomВозможно проблема в том, что приводишь к типу (bool), а надо к типу (bool?)

а может и не к типу (bool) или к типу (bool)?
...
Рейтинг: 0 / 0
18.02.2013, 17:30
    #38156154
Varcom
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C# Цикл в DataGridView по первой колонке и закраска ячейки цветом
Остап ИбрагимовичVarcomВозможно проблема в том, что приводишь к типу (bool), а надо к типу (bool?)

а может и не к типу (bool) или к типу (bool)?
авторВ DataGridView данные с таблицы из БД на SQL там тип поля Repair - bit. По умолчанию вся колонка заполнена NULL
Nullable<bool>
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / C# Цикл в DataGridView по первой колонке и закраска ячейки цветом / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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