你在這裏很好,但我注意到一些問題。
- 必須在Container級別設置.LabelAlign屬性。容器也必須使用FormLayout。不幸的是,.LabelAlign在字段級別不能呈現不同的效果。
- 將.FieldLabel屬性設置爲「CPF」應該不是必需的,除非您預計所有這些「CpfField」組件都被標記爲「CPF」。 .FieldLabel通常設置在字段配置級別,在標記或代碼隱藏時,實例化該字段。
您可以調查的另一個「全局」選項是使用.skin文件。下面的示例通過「全局」設置所有TextField組件的屬性來演示此選項。
以下示例演示了幾個選項,其中包括設置對象的OnInit事件中的屬性。
實施例(。皮膚)
<%@ Register assembly="Ext.Net" namespace="Ext.Net" tagprefix="ext" %>
<ext:TextField runat="server" Icon="Accept" />
實施例(的.aspx)
<%@ Page Language="C#" Theme="Skin1" %>
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
var form = new FormPanel
{
Height = 215,
Width = 350,
Title = "Example",
Padding = 5,
DefaultAnchor = "100%",
Items = {
new MyField
{
FieldLabel = "My Field"
},
new AnotherField
{
FieldLabel = "Another Field"
},
new TextField
{
FieldLabel = "A TextField"
}
}
};
this.Form.Controls.Add(form);
}
public class MyField : TextField
{
public MyField()
{
this.SelectOnFocus = true;
this.AllowBlank = false;
this.MaxLength = 14;
}
}
public class AnotherField : TextField
{
protected override void OnInit(EventArgs e)
{
this.SelectOnFocus = true;
this.AllowBlank = false;
this.MaxLength = 14;
base.OnInit(e);
}
}
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Ext.NET Example</title>
</head>
<body>
<form runat="server">
<ext:ResourceManager runat="server" />
</form>
</body>
</html>
希望這有助於。
但是如何設置LabelAlign = Container容器中的頂部並使所有的類都從它繼承? – BrunoSalvino 2011-04-29 02:15:53
我認爲你需要提供更多信息。我不完全確定如何回答。在容器中設置LabelAlign =「Top」將導致所有內部字段類型使用LabelAlign.Top進行渲染。這是默認功能。 –
2011-05-01 18:41:25