void ProcessEvent (string eventName, string param, bool causesValidation)
{
switch (eventName)
{
case DataControlCommands.PageCommandName:
int newIndex = -1;
switch (param) {
case DataControlCommands.FirstPageCommandArgument:
newIndex = 0;
break;
case DataControlCommands.LastPageCommandArgument:
newIndex = PageCount - 1;
break;
case DataControlCommands.NextPageCommandArgument:
newIndex = PageIndex + 1;
break;
case DataControlCommands.PreviousPageCommandArgument:
newIndex = PageIndex - 1;
break;
default:
int paramIndex = 0;
int.TryParse (param, out paramIndex);
newIndex = paramIndex - 1;
break;
}
ShowPage (newIndex);
break;
case DataControlCommands.FirstPageCommandArgument:
ShowPage (0);
break;
case DataControlCommands.LastPageCommandArgument:
ShowPage (PageCount - 1);
break;
case DataControlCommands.NextPageCommandArgument:
if (PageIndex < PageCount - 1)
ShowPage (PageIndex + 1);
break;
case DataControlCommands.PreviousPageCommandArgument:
if (PageIndex > 0)
ShowPage (PageIndex - 1);
break;
case DataControlCommands.EditCommandName:
ProcessChangeMode (FormViewMode.Edit, false);
break;
case DataControlCommands.NewCommandName:
ProcessChangeMode (FormViewMode.Insert, false);
break;
case DataControlCommands.UpdateCommandName:
UpdateItem (param, causesValidation);
break;
case DataControlCommands.CancelCommandName:
CancelEdit ();
break;
case DataControlCommands.DeleteCommandName:
DeleteItem ();
break;
case DataControlCommands.InsertCommandName:
InsertItem (causesValidation);
break;
}
}