diff --git a/src/TcoData/src/TcoDataConnector/pex/IDataExchangeOperations.cs b/src/TcoData/src/TcoDataConnector/pex/IDataExchangeOperations.cs new file mode 100644 index 000000000..24f28fcb7 --- /dev/null +++ b/src/TcoData/src/TcoDataConnector/pex/IDataExchangeOperations.cs @@ -0,0 +1,13 @@ +namespace TcoData +{ + /// + /// An interaface which grants access to certain operations in DataExchange viewmodel, + /// like searching by id, invoking search or filling the searchbox + /// + public interface IDataExchangeOperations + { + object SelectedRecord { get; } + string FilterByID { get; set; } + void InvokeSearch(); + } +} \ No newline at end of file diff --git a/src/TcoData/src/TcoDataConnector/pex/TcoDataExchange/TcoDataExchange.cs b/src/TcoData/src/TcoDataConnector/pex/TcoDataExchange/TcoDataExchange.cs index 318f626f9..7427e8af0 100644 --- a/src/TcoData/src/TcoDataConnector/pex/TcoDataExchange/TcoDataExchange.cs +++ b/src/TcoData/src/TcoDataConnector/pex/TcoDataExchange/TcoDataExchange.cs @@ -8,6 +8,8 @@ namespace TcoData public partial class TcoDataExchange { + /// An interaface which grants access to certain operations in DataExchange viewmodel, like searching by id, invoking search or filling the searchbox + public IDataExchangeOperations DataExchangeOperations { get; set; } private dynamic _onliner; protected dynamic Onliner @@ -199,5 +201,7 @@ protected IVortexObject OnlinerVortex return _onlinerVortex; } } + + } } diff --git a/src/TcoData/src/Wpf/TcoData.Wpf/Data/Data/DataView.xaml b/src/TcoData/src/Wpf/TcoData.Wpf/Data/Data/DataView.xaml index 5b54be34a..431bd5cc1 100644 --- a/src/TcoData/src/Wpf/TcoData.Wpf/Data/Data/DataView.xaml +++ b/src/TcoData/src/Wpf/TcoData.Wpf/Data/Data/DataView.xaml @@ -26,7 +26,7 @@ - + @@ -38,82 +38,90 @@ Margin="0,5,0,5" Visibility="{Binding Mode, Mode=OneWay, Converter={wpf:ModeConverter}, ConverterParameter=Display}" HorizontalAlignment="Stretch" /> - - - - - - - + + + + + + + - - - + + + diff --git a/src/TcoData/tests/Sandbox.TcoData.Wpf/MainWindow.xaml.cs b/src/TcoData/tests/Sandbox.TcoData.Wpf/MainWindow.xaml.cs index 72dc13ccb..b0b55f087 100644 --- a/src/TcoData/tests/Sandbox.TcoData.Wpf/MainWindow.xaml.cs +++ b/src/TcoData/tests/Sandbox.TcoData.Wpf/MainWindow.xaml.cs @@ -24,5 +24,11 @@ public MainWindow() { InitializeComponent(); } + + private void Button_Click(object sender, RoutedEventArgs e) + { + var dataContext = this.DataContext as MainWindowViewModel; + dataContext.ExternalInvokeSearchTest(); + } } } diff --git a/src/TcoData/tests/Sandbox.TcoData.Wpf/MainWindowViewModel.cs b/src/TcoData/tests/Sandbox.TcoData.Wpf/MainWindowViewModel.cs index 3c402a88a..30577582c 100644 --- a/src/TcoData/tests/Sandbox.TcoData.Wpf/MainWindowViewModel.cs +++ b/src/TcoData/tests/Sandbox.TcoData.Wpf/MainWindowViewModel.cs @@ -9,9 +9,15 @@ public class MainWindowViewModel { public MainWindowViewModel() { - + + } + + public void ExternalInvokeSearchTest() + { + Plc.MAIN.sandbox.DataManager.DataExchangeOperations.FilterByID = "TEST"; + Plc.MAIN.sandbox.DataManager.DataExchangeOperations.InvokeSearch(); } public TcoDataTestsTwinController Plc { get; } = TcoDataTests.Entry.TcoDataTests;