Пример #1
0
		private void OnTargetComboItemChanged(FieldComboItem selectedItem)
		{
			if (TargetComboSelectedIndexChanged == null)
				return;
			m_expectedListItemsClassId = GetExpectedListItemsClassFromSelectedItem(selectedItem);
			if (m_expectedListItemsClassId != 0)
			{
				TargetColumnChangedEventArgs args =
					new TargetColumnChangedEventArgs(new TargetFieldItem(selectedItem.ToString(), selectedItem.ColumnIndex,
																		 m_expectedListItemsClassId));
				m_bv.BulkEditTargetComboSelectedIndexChanged(args); // may set ForceReload flag on args.
				if (TargetComboSelectedIndexChanged != null)
					TargetComboSelectedIndexChanged(this, args);
			}
		}
Пример #2
0
		private void OnTargetComboItemChanged(FieldComboItem selectedItem)
		{
			if (TargetComboSelectedIndexChanged == null)
				return;
			int flid;
			m_expectedListItemsClassId = GetExpectedListItemsClassAndTargetFieldFromSelectedItem(selectedItem, out flid);
			if (m_expectedListItemsClassId != 0)
			{
				using (var targetFieldItem = new TargetFieldItem(selectedItem.ToString(),
					selectedItem.ColumnIndex, m_expectedListItemsClassId, flid))
				{
					var args = new TargetColumnChangedEventArgs(targetFieldItem);
					//REFACTOR: the BrowseView should not know about BulkEdit - They appear to be too highly coupled.
					m_bv.BulkEditTargetComboSelectedIndexChanged(args); // may set ForceReload flag on args.
					if (TargetComboSelectedIndexChanged != null)
						TargetComboSelectedIndexChanged(this, args);
				}
			}
		}
Пример #3
0
		private void TargetColumnChanged(object sender, TargetColumnChangedEventArgs e)
		{
			if (e.ExpectedListItemsClass == 0)
				return;	// no target column selected, so it shouldn't matter what the class of the clerk's list items are.
			using (new WaitCursorHelper(this))
			{
				// we're changing the class of our list items.
				// use ListUpdateHelper to suspend reloading the list until we've changed the class
				// and recomputed the columns. Otherwise, we'll try to reload the list and redraw the display
				// with columns that may not have all their parts in place (e.g. for generated custom fields)
				using (new RecordClerk.ListUpdateHelper(ExistingClerk))
				{
					// change the list items class, but don't do the reload && refresh display
					// until after we've recomputed our columns to allow regenerating custom field parts
					// for that new class.
					ExistingClerk.OnChangeListItemsClass(e.ExpectedListItemsClass, e.ForceReload);
					CheckExpectedListItemsClassInSync();
					// Recompute the possible columns, so the layout/parts system
					// can generate parts for custom fields based upon a new root object class.
					// this should not actually change the column specs themselves since
					// they refer to those parts through "layout" references.
					m_browseViewer.BrowseView.Vc.ComputePossibleColumns();
				}
			}
		}