Hirdetés

Új hozzászólás Aktív témák

  • MrSealRD

    veterán

    (#3504) amargo
    (#3505) martonx

    Az lett volna a cél, hogy 0 C# kóddal tisztán a Binding segítségével jöjjön létre a felület...
    A dolog kicsit más irányból lett megközelítve és így már elfogadható az eredmény.

    A lényeg, hogy kell a két DDS, DE ők egy közös Context instance-on osztoznak. Ez szükséges mindenképpen. A megoldás meg végül az lett, hogy a fel lett téve a felületre egy datagrid és annak a SelectedItem.ProductCategory-ja lett Binding-olva a Combobox SelectedItem-hez.

    Így:
    <ComboBox Height="23" HorizontalAlignment="Left" ItemsSource="{Binding
    ElementName=pRODUCTCATEGORYDomainDataSource, Path=Data}" DisplayMemberPath="NAME" Margin="664,223,0,0"
    Name="pRODUCTCATEGORYComboBox" VerticalAlignment="Top" Width="224" SelectedItem="{Binding Path=SelectedItem.PRODUCTCATEGORY, Mode=TwoWay,
    ElementName=pRODUCTDataGrid}"
    SelectionChanged="pRODUCTCATEGORYComboBox_SelectionChanged"
    Loaded="pRODUCTCATEGORYComboBox_Loaded">
    <ComboBox.ItemsPanel>
    <ItemsPanelTemplate>
    <VirtualizingStackPanel />
    </ItemsPanelTemplate>
    </ComboBox.ItemsPanel>
    </ComboBox>

    A működés most úgy néz ki, hogy a DataGrid-en kiválasztok egy rekordot és ekkor a Combobox-ban a kiválasztott elem a rekordhoz tartozó ProductCategory lesz.
    Lenyitom és az értékkészletként az összes kategória megjelenik. Kiválasztok egy másikat kategóriát(Mert szeretném módosítani.)
    Ekkor (mivel Binding Mode=TwoWay ) ezért a Datagridbe visszaíródik az új kategória és a grid DDS-ére meghívom a SubmitChanges metódust(A példa kedvéért egy gombbal) ami pedig visszaírja az adatbázisba.

Új hozzászólás Aktív témák