|
Изменение оформления строк DataGrid в зависимости от содержания
|
|||
---|---|---|---|
#18+
Есть 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. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2012, 15:29 |
|
Изменение оформления строк DataGrid в зависимости от содержания
|
|||
---|---|---|---|
#18+
walterwest, тогда скажи, что у тебя есть. содержание это какой тип у тебя? или это строка из БД не привязанная к типу .net ? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2012, 15:34 |
|
Изменение оформления строк DataGrid в зависимости от содержания
|
|||
---|---|---|---|
#18+
<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> ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2012, 17:00 |
|
Изменение оформления строк DataGrid в зависимости от содержания
|
|||
---|---|---|---|
#18+
Это вы имеете в виду? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2012, 17:02 |
|
Изменение оформления строк DataGrid в зависимости от содержания
|
|||
---|---|---|---|
#18+
walterwest, Так, эти поля от какого класса, к которым ты биндишься. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2012, 17:06 |
|
Изменение оформления строк DataGrid в зависимости от содержания
|
|||
---|---|---|---|
#18+
Дата грид находится в одной из вкладок Tabcontrol, привязка данных делается здесь как я понимаю - tabItem2.DataContext = dataset.orp.DefaultView; Сорри за тупость, только учусь. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2012, 17:17 |
|
Изменение оформления строк DataGrid в зависимости от содержания
|
|||
---|---|---|---|
#18+
AlexeiK, Binding Path соответствует имени колонки в таблице БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2012, 17:22 |
|
Изменение оформления строк DataGrid в зависимости от содержания
|
|||
---|---|---|---|
#18+
walterwest, пример дай, какой нито. суть в том, тебе надо просто убрать тот product,так как у тебя нету класса. Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
в product скорее всего будет itemarray и обращаться к нему product[0]. пробуй. доделаешь в процессе. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2012, 17:31 |
|
Изменение оформления строк DataGrid в зависимости от содержания
|
|||
---|---|---|---|
#18+
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 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2012, 17:57 |
|
Изменение оформления строк DataGrid в зависимости от содержания
|
|||
---|---|---|---|
#18+
walterwest, эх ну почитай книгу тогда, о приведение типов. мне не хочется это объяснять. жди следующего :) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2012, 18:01 |
|
Изменение оформления строк DataGrid в зависимости от содержания
|
|||
---|---|---|---|
#18+
AlexeiK, object dr =(object) e.Row.DataContext; dr имеет тип object {System.Data.DataRowView}, не понятно к чему его надо привести. DataRow в wpf я так понял отсутствует. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2012, 18:30 |
|
|
start [/forum/topic.php?fid=21&msg=37745515&tid=1441855]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
95ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 316ms |
total: | 503ms |
0 / 0 |