2013-03-13 6 views
0

Я работаю в приложении формы Windows C#, и я хочу изменить цвет строки, которую я показываю в сетке.Измените цвет строки C# при отображении в ячейке DataTable

//dtRList is a DataTable 
dtRList.Rows.Add(something + "This should be red"); 

В принципе, мне нужно изменить цвет строки, которую я добавляю здесь. Нечто подобное,

String str = "This should be red"; 

Теперь изменить цвет ул к красному и

dtReconList.Rows.Add(something + str); 

Я не думаю, что это можно сделать, как это, может быть мне придется пойти на этикетке или что нибудь. Любая помощь приветствуется.

Спасибо.

+4

Как вы задаете вопрос, я склонен отвечать, что вы не можете изменить цвет строки; он вообще не имеет цвета. Если вы хотите отобразить его другим цветом, вам необходимо установить свойства элемента управления, который вы используете для его отображения. В случае «DataGridView» вы можете использовать для этого параметр «DataGridViewCell.Style», но вам нужно определить, какой цвет должен отображать строка, анализируя его содержимое самостоятельно (создавайте/подчиняйтесь правилам форматирования). –

+0

Я согласен с Джоном. Может быть, вы должны восстановить свой вопрос. Даже программист младшего уровня знает, что переменная типа string или любого типа не имеет цвета. Окраска можно увидеть в пользовательском интерфейсе –

ответ

2

Вы не можете изменить цвет строки. Поскольку он не имеет цвета для начала, то, как вы сказали, нужно изменить цвет компонента, который представляет ваше строковое значение.

Один быстрый код, чтобы дать вам общее представление о том, вот как вы бы установить цвет DataGridViewCell

DataGridViewCellStyle style = new DataGridViewCellStyle(); 
style.ForeColor = Color.Red; 

dgVenta.Rows[0].Cells[0].Style = style; 

Конечно, вы должны стиль ячейки вы хотите, и не обязательно первый один. Это зависит от вас. Имейте в виду, что если выбранная вами строка выбрана, она может не отображать цвет, который вы установили, чтобы решить, что выглядит свойство SelectionForeColor.

Все, что вы можете, конечно, изменить все, что вам нужно, и сделать любую условную логику, например, использовать зеленый или красный цвет, если это значение положительное или отрицательное, например.

3

DataTable не имеет отношения к пользовательскому интерфейсу. Это не контроль. Это просто держатель данных. Вопрос будет иметь смысл, если вы спросите о DataGridView или о каком-либо другом способе , отображающем данных. Но строка - это последовательность символов. Строка содержит текст и ничего больше. Строка не знает, как вы ее используете (например, строка отображения).