powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Изменение оформления строк DataGrid в зависимости от содержания
11 сообщений из 11, страница 1 из 1
Изменение оформления строк DataGrid в зависимости от содержания
    #37745284
walterwest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть DataGrid, который выводит данные из БД:

public xmDataSetTableAdapters.orpTableAdapter adapter = new xmDataSetTableAdapters.orpTableAdapter();
adapter.Fill(dataset.orp);
tabItem2.DataContext = dataset.orp.DefaultView;

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

private SolidColorBrush hb = new SolidColorBrush(Colors.Orange);
private SolidColorBrush nb = new SolidColorBrush(Colors.White);
private void gridProducts_LoadingRow(object sender, DataGridRowEventArgs e)
{
Product product = (Product)e.Row.DataContext;
if (product.UnitCost > 100)
e.Row.Background = hb;
else
e.Row.Background = nb;
}

Подскажите пожалуйста, как это будет применительно к моему случаю, у меня нет класса Product.
...
Рейтинг: 0 / 0
Изменение оформления строк DataGrid в зависимости от содержания
    #37745300
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
walterwest,

тогда скажи, что у тебя есть.
содержание это какой тип у тебя? или это строка из БД не привязанная к типу .net ?
...
Рейтинг: 0 / 0
Изменение оформления строк DataGrid в зависимости от содержания
    #37745479
walterwest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
<dg:DataGrid Name="dg1" Margin="0" ItemsSource="{Binding}" AutoGenerateColumns="False" Width="1084" FontSize="16" FontWeight="Bold" Height="638" CanUserSortColumns="True">

<dg:DataGrid.Columns >
<dg:DataGridTextColumn Header="Арт" Binding="{Binding Path=artikul}" IsReadOnly="True" Width="40"></dg:DataGridTextColumn>
<dg:DataGridTextColumn Header="Номенклатура" Binding="{Binding Path=name}" IsReadOnly="True" Width="250"></dg:DataGridTextColumn>
<dg:DataGridTextColumn Header="Цена" Binding="{Binding Path=price}" IsReadOnly="True" Width="60"></dg:DataGridTextColumn>
<dg:DataGridTextColumn Header="Нач" Binding="{Binding Path=ostkol}" IsReadOnly="True" Width="60"></dg:DataGridTextColumn>
<dg:DataGridTextColumn Header="Сум" Binding="{Binding Path=sum1}" IsReadOnly="True" Width="60"></dg:DataGridTextColumn>
<dg:DataGridTextColumn Header="Раз1" Binding="{Binding Path=raz1kol}" Width="60"></dg:DataGridTextColumn>
<dg:DataGridTextColumn Header="Раз2" Binding="{Binding Path=raz2kol}" Width="60"></dg:DataGridTextColumn>
<dg:DataGridTextColumn Header="Раз3" Binding="{Binding Path=raz3kol}" Width="60"></dg:DataGridTextColumn>
<dg:DataGridTextColumn Header="Возвр" Binding="{Binding Path=vozkol}" Width="60"></dg:DataGridTextColumn>
<dg:DataGridTextColumn Header="Ост" Binding="{Binding Path=ost2kol}" Width="60" ></dg:DataGridTextColumn>
<dg:DataGridTextColumn Header="Сум" Binding="{Binding Path=sum2}" IsReadOnly="True" Width="60"></dg:DataGridTextColumn>
<dg:DataGridTextColumn Header="Прод" Binding="{Binding Path=prodkol}" IsReadOnly="True" Width="60"></dg:DataGridTextColumn>
<dg:DataGridTextColumn Header="Сум" Binding="{Binding Path=sum3}" IsReadOnly="True" Width="60"></dg:DataGridTextColumn>

</dg:DataGrid.Columns>
...
Рейтинг: 0 / 0
Изменение оформления строк DataGrid в зависимости от содержания
    #37745485
walterwest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это вы имеете в виду?
...
Рейтинг: 0 / 0
Изменение оформления строк DataGrid в зависимости от содержания
    #37745493
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
walterwest,

Так, эти поля от какого класса, к которым ты биндишься.
...
Рейтинг: 0 / 0
Изменение оформления строк DataGrid в зависимости от содержания
    #37745515
walterwest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дата грид находится в одной из вкладок Tabcontrol, привязка данных делается здесь как я понимаю - tabItem2.DataContext = dataset.orp.DefaultView;


Сорри за тупость, только учусь.
...
Рейтинг: 0 / 0
Изменение оформления строк DataGrid в зависимости от содержания
    #37745523
walterwest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexeiK,

Binding Path соответствует имени колонки в таблице БД.
...
Рейтинг: 0 / 0
Изменение оформления строк DataGrid в зависимости от содержания
    #37745547
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
walterwest,

пример дай, какой нито.
суть в том, тебе надо просто убрать тот product,так как у тебя нету класса.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
private void gridProducts_LoadingRow(object sender, DataGridRowEventArgs e)
{
object product = e.Row.DataContext;
if (product[0].value > 100)
e.Row.Background = hb;
else
e.Row.Background = nb;
}




в product скорее всего будет itemarray и обращаться к нему product[0]. пробуй.
доделаешь в процессе.
...
Рейтинг: 0 / 0
Изменение оформления строк DataGrid в зависимости от содержания
    #37745588
walterwest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexeiK, какой пример? Вроде всё расписал что есть.

Если через object то:
void dg1_LoadingRow(object sender, Microsoft.Windows.Controls.DataGridRowEventArgs e)
{
object dr =(object) e.Row.DataContext;
string fff =(string) dr[0];

}

Ошибка 2 Невозможно применить индексирование через [] к выражению типа "object" C:\documents\visual studio 2010\Projects\WpfApplication1\WpfApplication1\MainWindow.xaml.cs 93 33 WpfApplication1
...
Рейтинг: 0 / 0
Изменение оформления строк DataGrid в зависимости от содержания
    #37745598
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
walterwest,

эх
ну почитай книгу тогда, о приведение типов. мне не хочется это объяснять.
жди следующего :)
...
Рейтинг: 0 / 0
Изменение оформления строк DataGrid в зависимости от содержания
    #37745645
walterwest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexeiK,
object dr =(object) e.Row.DataContext;
dr имеет тип object {System.Data.DataRowView}, не понятно к чему его надо привести.
DataRow в wpf я так понял отсутствует.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Изменение оформления строк DataGrid в зависимости от содержания
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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