XAF 如何实现ListView单元格批量更改?

XAF 如何实现ListView单元格批量更改?

   public partial class GridViewCellsValueUpdateViewController : ViewController
    {
        
public GridViewCellsValueUpdateViewController()
        {
            InitializeComponent();
            RegisterActions(components);
        }
        
protected override void OnActivated()
        {
            
base.OnActivated();
            
//this.paUpdateCellsValue.Enabled.SetItemValue("ObjectType", SecuritySystem.IsGranted(new ActionAccessPermission(this.paUpdateCellsValue.Id, DevExpress.ExpressApp.Security.ObjectAccessModifier.Allow)));
         
}
        
private GridView gridView = null;
        
private void GridViewCellsValueUpdateViewController_ViewControlsCreated(object sender, EventArgs e)
        {
            gridView 
= ((View as ListView).Editor as GridListEditor).GridView;
            gridView.OptionsSelection.MultiSelect 
= true;
            gridView.OptionsSelection.MultiSelectMode 
= GridMultiSelectMode.CellSelect;
        }

        
private void paUpdateCellsValue_Execute(object sender, ParametrizedActionExecuteEventArgs e)
        {
            
if (e.ParameterCurrentValue == nullreturn;
            gridView.ClearSorting();

            DevExpress.XtraGrid.Views.Base.GridCell[] selectedCells 
= gridView.GetSelectedCells();
            
object obj = null;
            
foreach (var item in selectedCells)
            {
                
string typeName = item.Column.ColumnType.Name;
                
if (typeName == "String" || typeName == "Double" || typeName == "DateTime" || typeName == "Int32")
                {
                    
if (item.Column.FieldName == "Create_Date" || item.Column.FieldName == "Write_Date")
                    { obj 
= null; }
                    
else
                    {obj 
= e.ParameterCurrentValue;  }
                }
                
else
                {
                    obj 
= ((ObjectSpace)View.ObjectSpace).Session.FindObject(item.Column.ColumnType, new BinaryOperator

                        (
"Name", e.ParameterCurrentValue, BinaryOperatorType.Equal));
                }
                
if (obj != null)
                { gridView.SetRowCellValue(item.RowHandle, item.Column, obj); }
                obj 
= null;
            }
        }
    }
原文地址:https://www.cnblogs.com/Tonyyang/p/1985087.html