/// <summary> /// Called when <see cref="TrackingModesProperty"/> is changed. /// </summary> /// <param name="d">The dependency object that was changed.</param> /// <param name="e">The <see cref="DependencyPropertyChangedEventArgs"/> instance containing the event data.</param> private static void OnTrackingModesPropertyValueChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { DataGridControl datagrid = d as DataGridControl; if (null == datagrid) { return; } FocusTrackingModes trackingModes = (FocusTrackingModes)e.NewValue; if (FocusTrackingModes.None != trackingModes) { datagrid.AddHandler(UIElement.GotFocusEvent, (RoutedEventHandler)OnDataGridGotFocus, true); datagrid.AddHandler(UIElement.LostFocusEvent, (RoutedEventHandler)OnDataGridLostFocus, true); } else { datagrid.RemoveHandler(UIElement.GotFocusEvent, (RoutedEventHandler)OnDataGridGotFocus); datagrid.RemoveHandler(UIElement.LostFocusEvent, (RoutedEventHandler)OnDataGridLostFocus); } UpdateFocusedHeader(datagrid); }
private async Task<FrameworkElement> BuildChildRecordDataGrid(IReferenceDataSource dataSource, object[] keyValues, CancellationToken cancellationToken) { var executionModel = dataSource.CreateExecutionModel(keyValues); var executionResult = await _outputViewer.ConnectionAdapter.ExecuteChildStatementAsync(executionModel, cancellationToken); var childReferenceDataSources = await _outputViewer.StatementValidator.ApplyReferenceConstraintsAsync(executionResult, _outputViewer.ConnectionAdapter.DatabaseModel, cancellationToken); var resultInfo = executionResult.ResultInfoColumnHeaders.Keys.Last(); var resultSet = await _outputViewer.ConnectionAdapter.FetchRecordsAsync(resultInfo, ConfigurationProvider.Configuration.ResultGrid.FetchRowsBatchSize, cancellationToken); var childRecordDataGrid = new DataGrid { RowHeaderWidth = 0, Style = (Style)Application.Current.Resources["ResultSetDataGrid"], ItemsSource = new ObservableCollection<object[]>(resultSet) }; childRecordDataGrid.AddHandler(VirtualizingStackPanel.CleanUpVirtualizedItemEvent, (CleanUpVirtualizedItemEventHandler)CleanUpVirtualizedItemHandler); childRecordDataGrid.BeginningEdit += App.DataGridBeginningEditCancelTextInputHandlerImplementation; childRecordDataGrid.RowStyle = (Style)Resources["DataGridRowStyle"]; var columnHeaders = executionResult.ResultInfoColumnHeaders.Values.Last(); DataGridHelper.InitializeDataGridColumns(childRecordDataGrid, columnHeaders, _outputViewer.StatementValidator, _outputViewer.ConnectionAdapter); AddChildReferenceColumns(childRecordDataGrid, childReferenceDataSources); foreach (var columnTemplate in childRecordDataGrid.Columns) { columnTemplate.HeaderStyle = (Style)Application.Current.Resources["ColumnHeaderClickBubbleCancelation"]; } return childRecordDataGrid; }
public void FillConnections (DataGrid ConnectedAttributesDataGrid) { ConnectedAttributesDataGrid.ItemsSource = null; ConnectedAttributesDataGrid.RemoveHandler (DataGrid.MouseDoubleClickEvent, ConnectedAttributesListBox_MouseDoubleClickHandler); ConnectedAttributesDataGrid.AddHandler (DataGrid.MouseDoubleClickEvent, ConnectedAttributesListBox_MouseDoubleClickHandler); // ConnectedAttributesDataGrid.MouseDoubleClick += new MouseButtonEventHandler (ConnectedAttributesListBox_MouseDoubleClick); DataView SortedConnectorRows = new DataView (ConnectorTable, "", ConnectorSortFieldDBNameInConnectorTable, DataViewRowState.CurrentRows); //DataView AttributeDataView = new DataView (); //AttributeTable.Columns. //foreach (DataRowView Zugeordnet in SortedConnectorRows) // { // DataRow [] RowsToAdd = AttributeTable.Select (IDDBNameinAttributeTable + " = '" // + Zugeordnet.Row [ConnectorAttributeIDDBNameInConnectorTable].ToString () + "'"); // if (RowsToAdd.Length == 1) // { // DataRowView NewDataRowView = AttributeDataView.AddNew (); // NewDataRowView. // } // } if (ItemsToDisplayInDataGrid != null) ConnectedAttributesDataGrid.AutoGeneratedColumns += new EventHandler (ConnectedAttributesDataGrid_AutoGeneratedColumns); ConnectedAttributesDataGrid.ItemsSource = SortedConnectorRows; ConnectedAttributesDataGrid.ContextMenu = m_SelectAttributeMenu; }