umarbeyoglu
umarbeyoglu

Reputation: 450

XAF Adding Items to View.CurrentObject does not work

I want to add some objects related to CurrentObject inside DetailView but it does not reflect. .

 public partial class ViewControllerItemsRelated : ViewController<DetailView>
 {
     public ViewControllerItemsRelated()
     {
         //Step 1
         InitializeComponent();
         TargetObjectType = typeof(mamüller);
         TargetViewType = ViewType.DetailView;
         SimpleAction showNotesAction = new SimpleAction(this, "AltMalzemeRelation2", PredefinedCategory.Edit);
         showNotesAction.Execute += ShowNotesAction_Execute;

     }
 //step 2
     private void ShowNotesAction_Execute(object sender, SimpleActionExecuteEventArgs e)
     {
       //step 3
         IList tasks2 = new List<altMamüller>();
         mamüller currentObject = View.CurrentObject as mamüller;
         IObjectSpace objectSpace = View.ObjectSpace;
         string itemid = currentObject.ID.ToString();
         IList tasks = objectSpace.GetObjects(typeof(LG_124_ITEMSUBS), CriteriaOperator.Parse(@"[MAINITEMREF] = " + itemid + " ", TaskStatus.Running));
         foreach (LG_124_ITEMSUBS task in tasks)
         {
             string itemid2 = task.SUBITEMREF.ToString();
             IObjectSpace objectSpace2 = Application.CreateObjectSpace(typeof(altMamüller));
             tasks2 = objectSpace2.GetObjects(typeof(altMamüller), CriteriaOperator.Parse(@"[ID] = " + itemid2 + " ", TaskStatus.Running));
             
         }
         if (tasks2 == null) { MessageBox.Show("Alt Malzeme Yok,Lütfen Alt Malzeme Ekleyiniz!"); return;}

         if (tasks2 != null)
         {
      //step 4
      foreach (altMamüller subitem in tasks2) {currentObject.altMalzemeler.Add(subitem); }
         }
      
         View.Refresh(true);
     }

     protected override void OnActivated(){ base.OnActivated(); }
     protected override void OnViewControlsCreated(){base.OnViewControlsCreated();}
     protected override void OnDeactivated(){base.OnDeactivated();}

 }
//AltMalzemeler for last step
        List<altMamüller> faltMalzemeler;
        [NonPersistent]
        [XafDisplayName("Alt Malzemeler")]
        public List<altMamüller> altMalzemeler
        {
            get { return new List<altMamüller>(); }
            set { SetPropertyValue<List<altMamüller>>(nameof(altMalzemeler), ref faltMalzemeler, value); }
        }

What I am trying to do is simply this:

Step 1-Open Up Detail View

Step 2-Trigger Simple Action

Step 3-Fetch and Filter Datas only to get specific ones

Step 4-Reflect them into DetailView

Until Step 3,everything works fine. But when it is in Step 4, I can't get it to work, added items to currentObject.altMalzemeler (Shown in second code pile) does not reflect.

How can I solve this problem?

Upvotes: 0

Views: 24

Answers (0)

Related Questions