private static OrderDetailGridInfo GetOrderGrid(XElement xe) { OrderDetailGridInfo og = new OrderDetailGridInfo(); XMLHelper.SetValue(og, xe); if (xe.Attribute("OrderDetailEntity") != null) { string name = xe.Attribute("OrderDetailEntity").Value; og.OrderDetailEntityInfo = XMLHelper.RuntimeOrder.RegisterOrderDetailEntity(name); } XElement xeRowDetail = xe.Element("RowDetailTemplate"); if (xeRowDetail != null) { XElement xpanel = xeRowDetail.Element("DataPanel"); IDataPanel panel = GetIDataPanel(xpanel); og.RowDetailDataPanel = panel; } og.GridItems = GetGridItem(xe); og.Parameters = GetParameters(xe); return(og); }
public void TransferItem(ItemType itemType, int itemId, IDataPanel view) { var transfer = new Transfer(); transfer.ItemType = itemType; transfer.ItemId = itemId; using (var dlg = new TransferEditDlg()) { dlg.SetContext(fModel, transfer); if (dlg.ShowModal()) { fModel.AddRecord(transfer); view.UpdateContent(); } } }
private void SetRowDetailTemplate() { if (this.orderDetailGridInfo.RowDetailDataPanel != null) { #region RowDetailTemplate DataTemplate dt = DataTemplateHelper.GetEmptyGrid(); this.ADGrid.RowDetailsTemplate = dt; this.ADGrid.LoadingRowDetails += (o, e) => { IDataPanel panel = this.orderDetailGridInfo.RowDetailDataPanel; IControlAction control = panel.GetUIElement(); Grid grid = e.DetailsElement as Grid; grid.Background = e.Row.Background; if (grid.Children.Count == 0) { Border border = new Border(); border.Style = (Style)Application.Current.Resources["DetailShow_1"]; grid.Children.Add(border); if (control.GetType() == typeof(DetailGrid)) { DetailGrid dgrid = control as DetailGrid; border.Child = dgrid; // dgrid.Margin = new Thickness(80, 0, 0, 0); control.InitControl(this.operationType); } else { border.Child = (control as UIElement); OperationTypes cOpType = this.operationType; if (this.operationType == OperationTypes.Audit) { cOpType = OperationTypes.Edit; } control.InitControl(cOpType); } } DependencyObject dObj = VisualTreeHelper.GetChild(e.DetailsElement,0); UIElement curControl = (dObj as Border).Child; if (curControl.GetType() == typeof(DetailGrid)) { DetailGrid dgrid = curControl as DetailGrid; string entityType = dgrid.OrderDetailGridInfo.OrderDetailEntityInfo.Entity.Type; FBEntity source = e.Row.DataContext as FBEntity; ; if (source != null) { ObservableCollection<FBEntity> list = source.GetRelationFBEntities(entityType); if (list.Count > 0) { dgrid.ItemsSource = list; } else { dgrid.Visibility = Visibility.Collapsed; } } } if (LoadRowDetailComplete != null) { ActionCompletedEventArgs<UIElement> args = new ActionCompletedEventArgs<UIElement>(curControl); LoadRowDetailComplete(o, args); } }; #endregion } }