Back to Devexpress

View.AllowNew Property

expressappframework-devexpress-dot-expressapp-dot-view-a7f93745.md

latest4.1 KB
Original Source

View.AllowNew Property

Provides access to a collection of reason/value pairs used to allow or prohibit creation of new objects via a View.

Namespace : DevExpress.ExpressApp

Assembly : DevExpress.ExpressApp.v25.2.dll

NuGet Package : DevExpress.ExpressApp

Declaration

csharp
public BoolList AllowNew { get; }
vb
Public ReadOnly Property AllowNew As BoolList

Property Value

TypeDescription
BoolList

A BoolList object that represents a collection of key/value elements.

|

Remarks

There can be various reasons to allow or prohibit creation of new objects via a View. So, a View has the AllowNew collection, whose elements represent a pair of string and Boolean values. The string value specifies a reason and the Boolean value specifies whether to allow creation of new objects. New objects cannot be created if at least one of the AllowNew collection elements contains a false value.

When creation of new objects is prohibited, the New Action is not available. To determine whether object creation is allowed for a View, use the AllowNew property in a conditional expression. Alternatively, use the BoolList.ResultValue property of the object returned by AllowNew.

csharp
View myView;
//...
BoolList creatableList = myView.AllowNew;
if (creatableList) {
    //...
}

To prohibit creation of new objects, use the BoolList.SetItemValue method of the BoolList object returned by this property. Pass the prohibition reason as the first parameter, and false , or a Boolean expression as the second parameter. Alternatively, you can use the [key] operator of the BoolList object returned by the AllowNew property, to get or set the specified key’s value.

csharp
View myView;
//...
BoolList creatableList = myView.AllowNew;
creatableList["myKey"] = false;

To allow new objects to be created, use the BoolList.RemoveItem method of the BoolList object returned by this property. Pass the key (reason) of the item with the false value. Call this method as many times as there are items with the false value. Alternatively, you can call the BoolList.SetItemValue method by passing the key, which has false as a value, and true as a new value for it.

csharp
View myView;
//...
BoolList creatableList = myView.AllowNew;
creatableList["disablingKey"] = true;
csharp
public class MyController : ViewController {
   private void UpdateViewStateEventHandler(object sender, EventArgs e) {
      View.AllowNew.SetItemValue("CurrentUser", SecuritySystem.CurrentUser.FirstName == "Sam");
   }
   protected override void OnActivated() {
      base.OnActivated();
      View.CurrentObjectChanged += UpdateViewStateEventHandler;
   }
}

When a View’s AllowNew state is changed, the View.AllowNewChanged event is raised.

See Also

View Class

View Members

DevExpress.ExpressApp Namespace