/// <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);
        }
Example #2
0
		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;
		}
Example #3
0
		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;
			}