Member 13421231 Ответов: 1

Изменение цвета ячейки по условию


i want to use this code at datagridview for cell 1,2 only

<pre lang="c#"><pre> 

double vmv = 8; double vbv = 6


if (string.IsNullOrWhiteSpace(textBox1.Text)) 
            {
                MessageBox.Show("Please Enter Number");
            }

            else
            {

                if (Convert.ToDouble(textBox1.Text) >= vmv )
                {

                    textBox1.BackColor = Color.Red;
                }

                else if (Convert.ToDouble(textBox1.Text) <= vbv)
                {
                    textBox1.BackColor = Color.Blue;

                }

                 else 
                {
                    textBox1.BackColor = Color.White;

                }

            }


Что я уже пробовал:

 <pre>so i try this one but didn't work

<pre lang="c#">double vmv = 8

double vbv = 6;

 <pre>if (Convert.ToDouble(dataGridView1.SelectedCells[2].Value) >= vmv )
            {

                dataGridView1.SelectedCells[2].Style.BackColor = Color.Red;
            }

         else if (Convert.ToDouble(dataGridView1.SelectedCells[2].Value) <= vbv)
            {
                dataGridView1.SelectedCells[2].Style.BackColor = Color.Blue;

            }








это показывает мне ошибку "индекс был вне диапазона. Должно быть неотрицательным и меньше размера коллекции."

1 Ответов

Рейтинг:
0

OriginalGriff

Индексы в C# начинаются с нуля: так что если у вас есть только "ячейка 1,2", то индекс будет равен 1, а не 2.

Но я подозреваю, что вам нужно посмотреть, сколько клеток есть в коллекции SelectedCells: я подозреваю, что это вовсе не три.
Используйте отладчик, чтобы точно определить, какие данные вы передаете: мы не можем сделать это за вас, у нас нет доступа к вашему DGV, его данным или ячейкам, выбранным вашим пользователем!