/// <summary> /// Loads grid layout. /// </summary> private void _InitDataGridLayout() { if (_collectionSource == null) _collectionSource = (DataGridCollectionViewSource)LayoutRoot.FindResource(COLLECTION_SOURCE_KEY); GridStructureInitializer structureInitializer = new GridStructureInitializer(GridSettingsProvider.ZonesGridStructure); structureInitializer.BuildGridStructure(_collectionSource, XceedGrid); // Load grid layout. GridLayoutLoader layoutLoader = new GridLayoutLoader(GridSettingsProvider.ZonesSettingsRepositoryName, _collectionSource.ItemProperties); layoutLoader.LoadLayout(XceedGrid); _isDataGridLayoutLoaded = true; }
/// <summary> /// Prepare data grid control to work. /// </summary> private void _InitDataGridControl() { _collectionSource = (DataGridCollectionViewSource)LayoutRoot.FindResource(COLLECTION_SOURCE_KEY); // Initialize grid structure. GridStructureInitializer structureInitializer = new GridStructureInitializer(GridSettingsProvider.FleetGeocodableGridStructure); structureInitializer.BuildGridStructure(_collectionSource, DataGridControl); // Find index for first non-Name field to determine it as Address Field. int columnIndex = 0; for (int i = 0; i < DataGridControl.Columns.Count; i++) { if (DataGridControl.Columns[i].FieldName != NAME_COLUMN) { columnIndex = i; break; // Work done: first non-Name field found. } } // Set special content template to show "Add location" string. ColumnBase addressColumn = DataGridControl.Columns[columnIndex]; addressColumn.CellContentTemplate = (DataTemplate)App.Current.FindResource(ADDRESSLINE_CONTENT_TEMPLATE_NAME); CommonHelpers.HidePostalCode2Column(DataGridControl); // Load grid layout. GridLayoutLoader layoutLoader = new GridLayoutLoader(GridSettingsProvider.FleetLocationsSettingsRepositoryName, _collectionSource.ItemProperties); layoutLoader.LoadLayout(DataGridControl); }
/// <summary> /// Inits data grid layout /// </summary> protected void _InitDataGridLayout() { DataGridCollectionViewSource collectionSource = (DataGridCollectionViewSource)LayoutRoot.FindResource(COLLECTION_SOURCE_KEY); Debug.Assert(!string.IsNullOrEmpty(GridStructureName)); GridStructureInitializer gridStructureInitializer = new GridStructureInitializer(GridStructureName); gridStructureInitializer.BuildGridStructure(collectionSource, XceedGrid); // load grid layout Debug.Assert(!string.IsNullOrEmpty(SettingsRepositoryName)); GridLayoutLoader vehicleLayoutLoader = new GridLayoutLoader(SettingsRepositoryName, collectionSource.ItemProperties); vehicleLayoutLoader.LoadLayout(XceedGrid); _isDataGridLayoutLoaded = true; }
protected void _InitDataGridLayout() { DataGridCollectionViewSource collectionSource = (DataGridCollectionViewSource)LayoutRoot.FindResource(COLLECTION_SOURCE_KEY); GridStructureInitializer structureInitializer = new GridStructureInitializer(GridSettingsProvider.DriversGridStructure); structureInitializer.BuildGridStructure(collectionSource, XceedGrid); // load grid layout GridLayoutLoader layoutLoader = new GridLayoutLoader(GridSettingsProvider.DriversSettingsRepositoryName, collectionSource.ItemProperties); layoutLoader.LoadLayout(XceedGrid); _isDataGridLayoutLoaded = true; }
/// <summary> /// Method inits all xceed data grid controls (sets collection source and columns structure foreach of them). /// </summary> private void _InitGridControl() { _isNewItemCreated = false; // init grid structure if (_collectionSource == null) _collectionSource = (DataGridCollectionViewSource)LayoutRoot.FindResource(ROUTES_COLLECTION_SOURCE_NAME); // Set collection source to null to refresh items collection. _collectionSource.Source = null; GridStructureInitializer initializer = new GridStructureInitializer(GridSettingsProvider.RoutesGridStructure); initializer.BuildGridStructure(_collectionSource, RoutesGrid); // init detail structure DetailConfiguration orders = (DetailConfiguration)LayoutRoot.FindResource(ROUTES_DETAIL_CONFIGURATION_NAME); GridStructureInitializer detailInitializer = new GridStructureInitializer(GridSettingsProvider.StopsGridStructure); detailInitializer.BuildDetailStructure(_collectionSource, RoutesGrid, orders); // load grid layout GridLayoutLoader layoutLoader = new GridLayoutLoader(GridSettingsProvider.RoutesSettingsRepositoryName, _collectionSource.ItemProperties, _collectionSource.DetailDescriptions[0].ItemProperties); layoutLoader.LoadLayout(RoutesGrid); }
/// <summary> /// Method loads grid layout /// </summary> private void _InitQuantitiesDataGridLayout() { DataGridCollectionViewSource collectionSource = (DataGridCollectionViewSource)LayoutRoot.FindResource("quantityCollection"); collectionSource.Source = SymbologyManager.OrderQuantities; GridStructureInitializer structureInitializer = new GridStructureInitializer("ESRI.ArcLogistics.App.GridHelpers.QuantitySymbologyGridStructure.xaml"); structureInitializer.BuildGridStructure(collectionSource, QuantityXceedGrid); // load grid layout GridLayoutLoader layoutLoader = new GridLayoutLoader("QuantitiesGridSettings", collectionSource.ItemProperties); layoutLoader.LoadLayout(QuantityXceedGrid); QuantityValidationRule valuesValidationRule = new QuantityValidationRule(); QuantityXceedGrid.Columns[MINVALUE_COLUMN_INDEX].CellValidationRules.Add(valuesValidationRule); QuantityXceedGrid.Columns[MAXVALUE_COLUMN_INDEX].CellValidationRules.Add(valuesValidationRule); }
private void _InitDataGridLayout() { DataGridCollectionViewSource fuelsCollection = (DataGridCollectionViewSource)LayoutRoot.FindResource(COLLECTION_SOURCE_KEY); GridStructureInitializer structureInitializer = new GridStructureInitializer(GridSettingsProvider.FuelTypesGridStructure); structureInitializer.BuildGridStructure(fuelsCollection, XceedGrid); // load grid layout GridLayoutLoader layoutLoader = new GridLayoutLoader(GridSettingsProvider.FuelTypesSettingsRepositoryName, fuelsCollection.ItemProperties); layoutLoader.LoadLayout(XceedGrid); _isDataGridLayoutLoaded = true; }
/// <summary> /// Loads grid layout. /// </summary> private void _InitDataGridLayout() { if (_collectionSource == null) { _collectionSource = (DataGridCollectionViewSource)LayoutRoot.FindResource(COLLECTION_SOURCE_KEY); } var structureInitializer = new GridStructureInitializer(GridSettingsProvider.BarriersGridStructure); structureInitializer.BuildGridStructure(_collectionSource, XceedGrid); // load grid layout var layoutLoader = new GridLayoutLoader(GridSettingsProvider.BarriersSettingsRepositoryName, _collectionSource.ItemProperties); layoutLoader.LoadLayout(XceedGrid); // Find geometry field and... foreach (Column column in XceedGrid.Columns) { if (column.FieldName == GEOMETRY_FIELD_NAME) { // ...set field width to default one, // to let users know about this fields is exists. ColumnBase geometryColumn = XceedGrid.Columns[GEOMETRY_FIELD_NAME]; if (geometryColumn.Width == 0) geometryColumn.Width = DEFAULT_COLUMN_WIDTH; break; // Work done. } } _isLayoutLoaded = true; }
/// <summary> /// Init grid structure for Grid. /// </summary> /// <param name="gridStructure">Structure of the grid.</param> /// <param name="gridSettingsRepositoryName">Repository with grid settings.</param> /// <param name="grid">Grid.</param> /// <param name="collectionSource">Grid's collection source.</param> private void _InitGridStructure(string gridStructure, string gridSettingsRepositoryName, DataGridControlEx grid, DataGridCollectionViewSource collectionSource) { // Initializing gridstructure and gridlayout. GridStructureInitializer structureInitializer = new GridStructureInitializer (gridStructure); structureInitializer.BuildGridStructure(collectionSource, grid); GridLayoutLoader layoutLoader = new GridLayoutLoader(gridSettingsRepositoryName, collectionSource.ItemProperties); layoutLoader.LoadLayout(grid); }
/// <summary> /// React on page loaded. /// </summary> /// <param name="sender">Ignored.</param> /// <param name="e">Ignored.</param> private void _FleetSetupWizardUngeocodedOrdersPageLoaded(object sender, RoutedEventArgs e) { // Init page if not inited yet. if (!_inited) { _isParentFleetWizard = DataKeeper != null; // Set row height. ContentGrid.RowDefinitions[DATA_GRID_ROW_DEFINITION_INDEX].Height = new System.Windows.GridLength(DEFAULT_ROW_HEIGHT * ROW_COUNT + DataGridControl.Margin.Top + DataGridControl.Margin.Bottom + ROW_COUNT); // Create subpages. string typeName = (string)App.Current.FindResource(ORDER_RESOURCE_NAME); typeName = typeName.ToLower(); _matchFoundSubPage = new MatchFoundSubPage(typeName); _candidatesNotFoundSubPage = new CandidatesNotFoundSubPage(typeName); _candidatesFoundSubPage = new CandidatesFoundSubPage(typeName); _SetSubPage(null); // Init orders collection. _collectionSource = (DataGridCollectionViewSource)LayoutRoot.FindResource(COLLECTION_SOURCE_KEY); _CreateOrdersLayer(); // Create and init geocodable page. _geocodablePage = new GeocodablePage(typeof(Order), mapCtrl, candidateSelect, controlsGrid, DataGridControl, splitter, _ordersLayer); _geocodablePage.MatchFound += new EventHandler(_MatchFound); _geocodablePage.CandidatesFound += new EventHandler(_CandidatesFound); _geocodablePage.CandidatesNotFound += new EventHandler(_CandidatesNotFound); // Datakeeper is not null in fleetwizard. _geocodablePage.ParentIsFleetWisard = _isParentFleetWizard; mapCtrl.AddTool(new EditingTool(), null); _collectionSource = (DataGridCollectionViewSource)LayoutRoot.FindResource(COLLECTION_SOURCE_KEY); GridStructureInitializer structureInitializer = new GridStructureInitializer(GridSettingsProvider.FleetGeocodableGridStructure); structureInitializer.BuildGridStructure(_collectionSource, DataGridControl); CommonHelpers.HidePostalCode2Column(DataGridControl); // Load grid layout. GridLayoutLoader layoutLoader = new GridLayoutLoader(GridSettingsProvider.FleetLocationsSettingsRepositoryName, _collectionSource.ItemProperties); layoutLoader.LoadLayout(DataGridControl); if (!_isParentFleetWizard) _RemoveRedundantElements(); _inited = true; } // Get orders collection from datakeeper if it is not null. Otherwise - from current project. if (_isParentFleetWizard) { // Fill ungeocoded orders list. _FillUngeocodedOrders(DataKeeper.AddedOrders); } else { // Do nothing. Ungeocoded order already set by constructor. } _collectionSource.Source = _ungeocodedOrders; _ordersLayer.Collection = _ungeocodedOrders; _selectionBinding.UnregisterAllCollections(); _selectionBinding.RegisterCollection(DataGridControl); _selectionBinding.RegisterCollection(mapCtrl.SelectedItems); ButtonFinish.IsEnabled = _IsFinishButtonEnabled(_ungeocodedOrders); }
/// <summary> /// Method inits all xceed data grid controls (sets collection source and columns structure foreach of them). /// </summary> private void _InitGridControl() { _isNewItemCreated = false; _collectionSource = (DataGridCollectionViewSource)LayoutRoot.FindResource(ORDERS_COLLECTION_SOURCE_NAME); GridStructureInitializer initializer = new GridStructureInitializer(GridSettingsProvider.OrdersGridStructure); initializer.BuildGridStructure(_collectionSource, OrdersGrid); // load grid layout GridLayoutLoader layoutLoader = new GridLayoutLoader(GridSettingsProvider.OrdersSettingsRepositoryName, _collectionSource.ItemProperties); layoutLoader.LoadLayout(OrdersGrid); }
/// <summary> /// Method loads layout of Custom order properties data grid. /// </summary> private void _InitDataGridLayout() { // Get Data grid collection view source. DataGridCollectionViewSource gridCollectionViewSource = (DataGridCollectionViewSource)LayoutRoot.FindResource(CUSTOM_ORDER_PROPERTIES_COLLECTION_SOURCE_KEY); // Bind collection of custom order properties to Xceed DataGrid. gridCollectionViewSource.Source = _customOrderProperties; //Grid structure file name. string gridStructureFileName = GridSettingsProvider.CustomOrderPropertiesGridStructure; // Grid structure initializer. GridStructureInitializer gridStructureInitializer = new GridStructureInitializer(gridStructureFileName); // Build structure of Xceed DataGrid. gridStructureInitializer.BuildGridStructure(gridCollectionViewSource, _customOrderPropertiesXceedGrid); // Grid settings repository name. string gridSettingsRepositoryName = GridSettingsProvider.CustomOrderPropertiesSettingsRepositoryName; // Grid layout loader. GridLayoutLoader gridLayoutLoader = new GridLayoutLoader(gridSettingsRepositoryName, gridCollectionViewSource.ItemProperties); // Load grid layout. gridLayoutLoader.LoadLayout(_customOrderPropertiesXceedGrid); }