Jun 16, 2011, 9:01 AM
FormPanel.getForm().isValid() only apply elements in <Items> ?
Hi..
I put a panel in <Items> then put some htmls & ext.net controls into <Content> and everything is right (even checkedItems of radiogroup).
But it seems not go into content of panel when I use #{Formpanel11}.getForm().isValid() ?
the validation result is always true.
Dose it not support this usage ? just valiid element in <Items> ?
the sample code as following:
ASPX
I put a panel in <Items> then put some htmls & ext.net controls into <Content> and everything is right (even checkedItems of radiogroup).
But it seems not go into content of panel when I use #{Formpanel11}.getForm().isValid() ?
the validation result is always true.
Dose it not support this usage ? just valiid element in <Items> ?
the sample code as following:
ASPX
<%@ Page Language="C#" CodeFile="OnlyTest.aspx.cs" Inherits="OnlyTest" %>
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<html>
<head id="Head1" runat="server">
<title>Ext.NET Example</title>
</head>
<body>
<form id="testForm" runat="server">
<div>
<ext:ResourceManager ID="ResourceManager1" runat="server">
</ext:ResourceManager>
<ext:FormPanel ID="FormPanel1" runat="server" Title="" Border="false" HideBorders="true" MonitorValid="True" BodyBorder="False">
<Items>
<ext:Panel ID="Panel1" runat="server" Border="false" HideBorders="true" IsFormField="true">
<Content>
<ext:ComboBox ID="ComboBox1" runat="server" AllowBlank="false">
<DirectEvents>
<Select OnEvent="ComboBox1_OnSelected">
<EventMask ShowMask="true" MinDelay="100" />
</Select>
</DirectEvents>
</ext:ComboBox>
<ext:RadioGroup ID="RadioGroup1" runat="server" AllowBlank="false">
<DirectEvents>
<Change OnEvent="RadioGroup1_OnChanged">
<EventMask ShowMask="true" MinDelay="100" />
</Change>
</DirectEvents>
</ext:RadioGroup>
<ext:Label ID="Label1" runat="server"></ext:Label>
<ext:Button ID="btnSubmit" runat="server" FormBind="true" CausesValidation="true" Text="Submit Test" OnClientClick="alert(#{FormPanel1}.getForm().isValid())"></ext:Button>
</Content>
</ext:Panel>
</Items>
</ext:FormPanel>
</div>
</form>
</body>
</html>
C# Code:public partial class OnlyTest : System.Web.UI.Page
{
private IList<TestDataItem> DemoSource { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
DemoSource = getDemoData();
initFormElemet();
}
private void initFormElemet()
{
foreach (TestDataItem item in DemoSource)
{
ComboBox1.Items.Add(new Ext.Net.ListItem(item.ItemText, item.ItemValue));
Ext.Net.Radio radioItem = new Ext.Net.Radio(new Ext.Net.Radio.Config()
{
Checked = false
});
radioItem.InputValue = item.ItemValue;
radioItem.BoxLabel = item.ItemText;
RadioGroup1.Items.Add(radioItem);
}
ComboBox1.FieldLabel = BasePage.GetTitle("BtnSelectProj");
ComboBox1.AllowBlank = false;
RadioGroup1.ColumnsNumber = 1;
RadioGroup1.Vertical = true;
RadioGroup1.FieldLabel = BasePage.GetTitle("BtnSelProj");
}
protected void ComboBox1_OnSelected(object sender, Ext.Net.DirectEventArgs args)
{
Label1.Text = ComboBox1.SelectedIndex.ToString();
if (ComboBox1.SelectedIndex >= 0)
{
Label1.Text = ComboBox1.SelectedItem.Text;
}
}
protected void RadioGroup1_OnChanged(object sender, Ext.Net.DirectEventArgs args)
{
Label1.Text = RadioGroup1.CheckedItems.Count.ToString();
if (RadioGroup1.CheckedItems.Count > 0)
{
Label1.Text = RadioGroup1.CheckedItems[0].BoxLabel;
}
}
// for test
private IList<TestDataItem> getDemoData()
{
IList<TestDataItem> demoDataList = new List<TestDataItem>();
demoDataList.Add(new TestDataItem("XXXX", "0"));
demoDataList.Add(new TestDataItem("YYYY", "3"));
demoDataList.Add(new TestDataItem("ZZZZ", "4"));
return demoDataList;
}
}
public class TestDataItem
{
public string ItemValue { get; set; }
public string ItemText { get; set; }
public TestDataItem(string text, string value)
{
ItemValue = value;
ItemText = text;
}
}