Feb 13, 2010, 3:34 PM
[CLOSED] ValidationStatus Plugin in code-behind
I'm trying to transpose the StatusBar.Advanced example into code-behind as a excercise to better understand what is going on here, and I'm having trouble. Can you look at the following code and see what I'm missing.
Also, the DirectEvents.Overview example is broken too.
public partial class Example_AdvStatusBar_CodeBehind : System.Web.UI.Page
{
#region Members
Ext.Net.Panel _mainPanel = new Ext.Net.Panel
{
Title = "StatusBar with Integrated Form Validation",
Width = Unit.Pixel(350),
Height = Unit.Pixel(160),
Layout = "fit"
};
Ext.Net.Button _saveButton = new Ext.Net.Button
{
//ID = "Button1",
Text = "Save",
Icon = Ext.Net.Icon.Disk
};
Ext.Net.FormPanel _statusForm = new Ext.Net.FormPanel
{
ID = "StatusForm",
LabelWidth = 75,
ButtonAlign = Ext.Net.Alignment.Right,
Border = false,
PaddingSummary = "10px 10px 10px",
Defaults =
{
new Ext.Net.Parameter("Anchor" , "95%"),
new Ext.Net.Parameter("AllowBlank" , "false",Ext.Net.ParameterMode.Raw),
new Ext.Net.Parameter("SelectOnFocus" , "true", Ext.Net.ParameterMode.Raw),
new Ext.Net.Parameter("MsgTarget" , "side")
},
Items =
{
new Ext.Net.TextField{ID="TextField1", FieldLabel="Name", BlankText = "Name is required"},
new Ext.Net.DateField{ID="DateField1", FieldLabel="Birthdate", BlankText = "Birthdate is required"},
}
};
Ext.Net.StatusBar _statusBar = new Ext.Net.StatusBar
{
ID = "FormStatusBar",
DefaultText = "Ready"
};
Ext.Net.ValidationStatus _valStatus = new Ext.Net.ValidationStatus
{
FormPanelID = "StatusForm",
ValidIcon = Ext.Net.Icon.Accept,
ErrorIcon = Ext.Net.Icon.Exclamation
};
#endregion Members
protected void Page_Init(object sender, EventArgs e)
{
base.Form.Controls.Add(new Ext.Net.ResourceManager());
base.Form.Controls.Add(_mainPanel);
#region SaveButton
_saveButton.DirectEvents.Click.Event +=new Ext.Net.ComponentDirectEvent.DirectEventHandler(FormSave);
_saveButton.DirectEvents.Click.Before = "var valid= StatusForm.getForm().isValid(); if (valid) {FormStatusBar.showBusy('Saving form...');} return valid;";
_saveButton.DirectEvents.Click.EventMask.ShowMask = true;
_saveButton.DirectEvents.Click.EventMask.MinDelay = 1000;
_saveButton.DirectEvents.Click.EventMask.Target = Ext.Net.MaskTarget.CustomTarget;
_saveButton.DirectEvents.Click.EventMask.CustomTarget = "={StatusForm.getEl()}";
_statusForm.Buttons.Add(_saveButton);
#endregion SaveButton
_mainPanel.Items.Add (_statusForm);
_mainPanel.BottomBar.Add (_statusBar);
_statusForm.Plugins.Add(_valStatus);
}
protected void FormSave(object sender, Ext.Net.DirectEventArgs e)
{
_statusBar.SetStatus(new Ext.Net.StatusBarStatusConfig
{
Text = "Form saved!",
IconCls = " ",
Clear2 = true
});
}
}