В качестве бонуса к проекту, над которым я сейчас работаю, людям было бы интересно, если бы я мог изменить цвет фона отдельных ячеек таблицы в зависимости от их значения.Поэтому в обработчике событий RadGrid_ItemDataBound, который у меня есть, я пытаюсь установить BackColor ячейки, если текст ячейки равен определенному значению из набора данных в моей базе данных.Мой текущий код выглядит так:
For i As Integer = 0 To ds2.Tables(0).Rows.Count - 1 Step 1
If tc.Text = ds2.Tables(0).Rows(i)("LookupValue") Then
tc.BackColor = ds2.Tables(0).Rows(i)("Ref1")
Exit For
End If
Next
Проблема заключается в том, что при установке цвета в коде позади я, очевидно, должен установить его для объекта System.Drawing.Color - я не могупросто передайте ему строковое значение, как я могу в CSS.Поэтому в приведенном выше фрагменте кода мой код вызывает исключение времени выполнения на tc.BackColor = ds2.Tables(0).Rows(i)("Ref1")
.Я также обнаружил, что не могу использовать CType для преобразования строкового значения в эквивалентный объект System.Drawing.Color.
Я думал о решении, которое я COULD использовать.Я мог бы создать пользовательский объект, который имеет свойство Name и свойство System.Drawing.Color.Я мог бы создать несколько объектов в соответствии со всеми значениями цвета, доступными в базе данных, а затем сравнить текст ячейки со свойствами имени объекта, однако боюсь, что это будет довольно ресурсоемким (а производительность этого приложения уже падает, потому что этодолжен работать под IE7).
Так кто-нибудь знает, как я мог бы осуществить то, что мне нужно здесь, относительно простым, не ресурсоемким способом?