ICommandHandler.CanHandleCommand(ReportCommand, ref Boolean) Method
Indicates whether or not the specified End-User Designer command can be handled.
Namespace: DevExpress.XtraReports.UserDesigner
Assembly: DevExpress.XtraReports.v19.1.Extensions.dll
NuGet Package: DevExpress.Win.Reporting
Declaration
Parameters
Name | Type | Description |
---|---|---|
command | ReportCommand | A ReportCommand enumeration value that specifies the command. |
useNextHandler | Boolean | true to allow calling the next handler registered for this command; otherwise false. |
Returns
Type | Description |
---|---|
Boolean | true, if the command can be handled; otherwise, false. |
Remarks
The useNextHandler parameter determines whether or not to invoke the next handler for the current command. This allows you to define multiple command handlers for a single command, as well as to control which handlers to invoke.
When useNextHandler is disabled, the next handler (the default one, in the following example) is not invoked. And, because useNextHandler is always set to false (False in Visual Basic), with no regard to the command in question, this means that the default handler will not be invoked for any command.
The following code illustrates this behavior: the Delete command will always be handled, with no regard to the conditions specified in the ICommandHandler.HandleCommand method body. As a result, you are not permitted to delete report bands, for example.
public bool CanHandleCommand(ReportCommand command, ref bool useNextHandler) {
useNextHandler = command != ReportCommand.Delete;
return command == ReportCommand.Delete;
}
In turn, the ICommandHandler.HandleCommand method is called only when the CanHandleCommand method returns true (True in Visual Basic), which means that all logical conditions should be evaluated with the CanHandleCommand method body.