powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Значения ячеек строки datagrid wpf
5 сообщений из 5, страница 1 из 1
Значения ячеек строки datagrid wpf
    #38390708
talja
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
всем доброго времени суток!
Все, на могу больше сама колупать wpf- прошу помощи :(
Есть Datagrid, в котором 3 combo-колонки и одна текстовая. Источниками данных для combo являются enum'ы. И тут все нормально- выпадающий список отображается, как надо.
Источником данных для самого grid'а является ObservableCollection, содержащая экземпляры определенного класса Condition (класс, описывающий определенное условие). При загрузке формы ObservableCollection пустая, соответственно datagrid- тоже.
Добавляю в datagrid строки, выбираю из combo-колонок значения, а потом в цикле по item'ам грида вывожу, значения соответствующих колонок. НО значения выдаются не те, что я выбирала, а всегда одно первое значение из списка combo-колонки....
Почему так?????
Кто-нить пытался организовать что-нить подобное? Если да, поделитесь примером, пожалуйста.
...
Рейтинг: 0 / 0
Значения ячеек строки datagrid wpf
    #38391046
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
talja,

xaml нужен этого window.
...
Рейтинг: 0 / 0
Значения ячеек строки datagrid wpf
    #38391639
talja
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexeiK,

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
<Window x:Class="PhoneCallRegistrator.Filter"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Фильтр" Height="221" Width="645" WindowStartupLocation="CenterScreen" WindowStyle="ToolWindow" Topmost="True"
        xmlns:System="clr-namespace:System;assembly=mscorlib" xmlns:local="clr-namespace:PhoneCallRegistrator" 
        xmlns:scm="clr-namespace:System.ComponentModel;assembly=WindowsBase">
    <Window.Resources>
        <ObjectDataProvider x:Key="dataFromEnum" MethodName="GetValues" ObjectType="{x:Type System:Enum}">
            <ObjectDataProvider.MethodParameters>
                <x:Type TypeName="local:Logic"/>
            </ObjectDataProvider.MethodParameters>
        </ObjectDataProvider>
        <ObjectDataProvider x:Key="dataFromEnumUslovie" MethodName="GetValues" ObjectType="{x:Type System:Enum}">
            <ObjectDataProvider.MethodParameters>
                <x:Type TypeName="local:Uslovie"/>
            </ObjectDataProvider.MethodParameters>
        </ObjectDataProvider>
        <local:Conditions x:Key="conditions" />
    </Window.Resources>
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition/>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="*"/>
            <RowDefinition Height="30"                           />
        </Grid.RowDefinitions>
        <DataGrid AutoGenerateColumns="False" HorizontalAlignment="Stretch" Name="dataGrid1" VerticalAlignment="Stretch" CanUserResizeRows="True" ItemsSource="{Binding Source={StaticResource conditions}}" SelectionMode="Single" SelectionChanged="dataGrid1_SelectionChanged">
            <DataGrid.Columns>
                <DataGridComboBoxColumn CanUserResize="False" Header="Критерий" Width="*"/>
                <DataGridComboBoxColumn CanUserResize="False" Header="Условие" Width="*"  ItemsSource="{Binding Source={StaticResource dataFromEnumUslovie}, Mode=OneWay}" SelectedValueBinding="{Binding Mode}"/>
                <DataGridTextColumn Header="Значение" Width="*" />
                <DataGridComboBoxColumn Header="Логика" Width="*" ItemsSource="{Binding Source={StaticResource dataFromEnum}, Mode=OneWay}" SelectedValueBinding="{Binding Mode}"/>
            </DataGrid.Columns>            
        </DataGrid>
        <Grid Grid.Row="2"  HorizontalAlignment="Stretch" Name="grid1" VerticalAlignment="Stretch" Grid.ColumnSpan="3">
            <Grid.ColumnDefinitions>
                <ColumnDefinition />
                <ColumnDefinition />
                <ColumnDefinition />
                <ColumnDefinition />
                <ColumnDefinition />
            </Grid.ColumnDefinitions>            
            <Button Content="Снять фильтр" HorizontalAlignment="Stretch" Name="button1" VerticalAlignment="Stretch" />
            <Button Content="Добавить условие" HorizontalAlignment="Stretch" Name="button2" VerticalAlignment="Stretch" Grid.Column="1" Click="button2_Click" />
            <Button Content="Удалить условие" HorizontalAlignment="Stretch" Name="button3" VerticalAlignment="Stretch" Grid.Column="2" />
            <Button Content="Применить" HorizontalAlignment="Stretch" Name="button4" VerticalAlignment="Stretch" Grid.Column="3" Click="button4_Click" />
            <Button Content="Отмена" HorizontalAlignment="Stretch" Name="button5" VerticalAlignment="Stretch" Grid.Column="4" Click="button5_Click" />
        </Grid>
    </Grid>
</Window>
...
Рейтинг: 0 / 0
Значения ячеек строки datagrid wpf
    #38392048
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
talja,

http://stackoverflow.com/questions/2305179/wpf-mode-of-databinding

вот там про one way ,two way и т.п.
ошибка в one way
...
Рейтинг: 0 / 0
Значения ячеек строки datagrid wpf
    #38392139
talja
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlexeiK,
Спасибки, читаю.
Оказалось, дело вообще в простом: в секции SelectedValueBinding="{Binding Mode}" нужно добавить Path
Получается SelectedValueBinding="{Binding Mode,Path=Usl}". То есть указать свойство модели, соответсвующее выбранному значению...
А я полИнтернета переколупала, мозг сломала напрочь.... Потом внимательно посмотрела и вот...Капец, бывает же.....Пора ограничить привычку: чуть что- сразу лезь в Google.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Значения ячеек строки datagrid wpf
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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