首页 > 代码库 > [原] XAF How to Edit multiple objects in a ListViewAndDetailView

[原] XAF How to Edit multiple objects in a ListViewAndDetailView

 

2014年好久没有更新Blog了,工作调换了,很少用XAF,但还是很关注XAF的发展和学习,对中国的中小企业数据管理软件开发真的太实用了!!

功能比较简单,但很实用,直接上图和代码!

ListView處於ListViewAndDetailView編輯模式

using System;using System.Linq;using System.Text;using DevExpress.ExpressApp;using DevExpress.Data.Filtering;using System.Collections.Generic;using DevExpress.Persistent.Base;using DevExpress.ExpressApp.Utils;using DevExpress.ExpressApp.Layout;using DevExpress.ExpressApp.Actions;using DevExpress.ExpressApp.Editors;using DevExpress.ExpressApp.Templates;using DevExpress.Persistent.Validation;using DevExpress.ExpressApp.SystemModule;using DevExpress.ExpressApp.Model.NodeGenerators;using DevExpress.Xpo;using DevExpress.XtraEditors;using DevExpress.ExpressApp.Win.Templates;namespace SimpleProjectManager.Module.Controllers{    // For more typical usage scenarios, be sure to check out http://documentation.devexpress.com/#Xaf/clsDevExpressExpressAppViewControllertopic.    public partial class EditerPlusieursLignesListViewController : ViewController<ListView>    {        public EditerPlusieursLignesListViewController()        {            InitializeComponent();            RegisterActions(components);            // Target required Views (via the TargetXXX properties) and create their Actions.        }        protected override void OnActivated()        {            base.OnActivated();            if (View == null)                return;            if(((ListView)View).EditView == null)               return;            if( ((ListView)View).EditView.Items==null)                return;            foreach (ViewItem item in ((ListView)View).EditView.Items)            {                item.ControlCreated += item_ControlCreated;            }        }        void item_ControlCreated(object sender, EventArgs e)        {            ViewItem item = (ViewItem)sender;            if (item.Control.GetType() == typeof(NestedFrameTemplate)) return;            ((BaseEdit)item.Control).EditValueChanged += (sender2, e2) =>            {                if (View != null && View.SelectedObjects.Count > 1)                {                    foreach (XPBaseObject xpo in View.SelectedObjects)                    {                        xpo.SetMemberValue(item.Id, ((BaseEdit)sender2).EditValue);                    }                }            };        }           }}

 

[原] XAF How to Edit multiple objects in a ListViewAndDetailView