EXT.NET的布局方式

一、BorderLayout布局方式

BorderLayout布局方式:边框式布局方式,他是通过设置控件的Region属性来确定控件的布局

<ext:Window runat="server" ID="borderWin" Title="BorderLayout布局方式" Width="600" Height="400" Layout="BorderLayout">
                <Items>
                    <ext:Panel ID="panNorth" runat="server" Collapsible="true" Header="true" Title="北" HeaderPosition="Top" Region="North" Width="50" Height="100">
                        <Items>
                        </Items>
                    </ext:Panel>
                    <ext:Panel ID="panSourth" runat="server" Collapsible="true" Header="true" Title="南" HeaderPosition="Top" Region="South" Height="100">
                        <Items>
                        </Items>
                    </ext:Panel>
                    <ext:Panel ID="panWest" runat="server" Collapsible="true" Header="true" Title="西" HeaderPosition="Top" Region="West" Width="100">
                        <Items>
                        </Items>
                    </ext:Panel>
                    <ext:Panel ID="panEast" runat="server" Collapsible="true" Header="true" Title="东" HeaderPosition="Top" Region="East" Width="100">
                        <Items>
                        </Items>
                    </ext:Panel>
                    <ext:TabPanel ID="panCenter" runat="server" Collapsible="true" Header="true" Title="中" HeaderPosition="Top" Region="Center">
                        <Items>
                            <ext:Panel runat="server" Title="panel1">
                                <Items>
                                </Items>
                            </ext:Panel>
                            <ext:Panel runat="server" Title="panel2">
                                <Items>
                                </Items>
                            </ext:Panel>
                            <ext:Panel runat="server" Title="panel3">
                                <Items>
                                </Items>
                            </ext:Panel>
                        </Items>
                    </ext:TabPanel>
                </Items>
            </ext:Window>

二、AnchorLayout布局方式

AnchorLayout布局方式也称为锚布局方式,它只支持用AnchorHorizontal(锚水平)和AnchorVertical(锚垂直)进行布局的布局方式
<ext:Window runat="server" ID="anchorWin" Title="AnchorLayout布局方式" Width="600" Height="400" Layout="AnchorLayout"
                BodyPadding="5" ButtonAlign="Center" DefaultButton="btnSend">
                <Tpl runat="server">
                    
                </Tpl>
                <Items>
                    <ext:TextField runat="server" ID="txtRevName" FieldLabel="收件人" AnchorHorizontal="100%" />
                    <ext:TextField runat="server" ID="txtTheme" FieldLabel="主题" AnchorHorizontal="100%" />
                    <ext:TextArea runat="server" ID="txtContent" AnchorHorizontal="100%" AnchorVertical="-50" />
                </Items>
                <Buttons>
                    <ext:Button runat="server" ID="btnSend" Text="发送" Icon="Mail" />
                    <ext:Button runat="server" ID="btnCacel" Text="取消" Icon="Cancel" />
                </Buttons>
            </ext:Window>

三、AbsoluteLayout布局方式

AbsoluteLayout布局方式也称为绝对布局方式,它主要采用X,Y坐标进行布局,同时也支持AnchorHorizontal(锚水平)和AnchorVertical(锚垂直)进行布局
<ext:Viewport ID="Viewport1" runat="server" Layout="AbsoluteLayout">
                <Items>
                    <ext:Panel ID="Panel1" runat="server" Height="300" Title="Panel1">
                        <Items>
                        </Items>
                    </ext:Panel>
                    <ext:Panel ID="Panel2" runat="server" Height="300" Title="Panel2" X="50" Y="50" Layout="AbsoluteLayout" AnchorHorizontal="100%">
                        <Items>
                            <ext:Label ID="Label1" runat="server" Text="这是一个Lable">
                            </ext:Label>
                            <ext:TextField ID="TextField1" runat="server" Text="这是一个TextField" X="100" AnchorHorizontal="50%">
                            </ext:TextField>
                            <ext:Button ID="Button1" runat="server" Text="这是一个Button" X="200" Y="25">
                            </ext:Button>
                            <ext:TextArea ID="TextArea1" runat="server" Text="这是一个TextArea" Y="50" AnchorHorizontal="100%" AnchorVertical="100%">
                            </ext:TextArea>
                        </Items>
                    </ext:Panel>
                </Items>
            </ext:Viewport>

四、AccordionLayout布局方式

AccordionLayout布局方式也称为手风琴布局方式
<ext:Viewport ID="Viewport1" runat="server" Layout="ColumnLayout">
                <Items>
                    <ext:Panel ID="Panel1" runat="server" Height="300" Title="Panel1" X="50" Y="50" Layout="AccordionLayout"
                        AnchorHorizontal="-50">
                        <Items>
                            <ext:Panel ID="Panel2" runat="server" Height="300" Title="列表1">
                                <Items>
                                    <ext:TabPanel ID="TabPanel1" runat="server" Height="300">
                                        <Items>
                                            <ext:Panel ID="Panel4" runat="server" Title="Tab 1">
                                                <Items>
                                                </Items>
                                            </ext:Panel>
                                            <ext:Panel ID="Panel5" runat="server" Title="Tab 2">
                                                <Items>
                                                </Items>
                                            </ext:Panel>
                                            <ext:Panel ID="Panel6" runat="server" Title="Tab 3">
                                                <Items>
                                                </Items>
                                            </ext:Panel>
                                        </Items>
                                    </ext:TabPanel>
                                </Items>
                            </ext:Panel>
                            <ext:TreePanel ID="treePanel2" runat="server" RootVisible="false" Title="图书列表">
                                <Root>
                                    <ext:Node Text="root">
                                        <Children>
                                            <ext:Node Text="阅读类" Expanded="true">
                                                <Children>
                                                    <ext:Node Text="知音杂志" Icon="Book" Leaf="true" />
                                                    <ext:Node Text="粤西越美" Icon="Book" Leaf="true" />
                                                    <ext:Node Text="湛江日报" Icon="Book" Leaf="true" />
                                                </Children>
                                            </ext:Node>
                                            <ext:Node Text="工具类" Expanded="true">
                                                <Children>
                                                    <ext:Node Text="语文工具书" Icon="Book">
                                                        <Children>
                                                            <ext:Node Text="黄冈兵法" Icon="Book" Leaf="true" />
                                                            <ext:Node Text="语文宝典" Icon="Book" Leaf="true" />
                                                        </Children>
                                                    </ext:Node>
                                                    <ext:Node Text="数学工具书" Icon="Book" Leaf="true" />
                                                    <ext:Node Text="英语工具书" Icon="Book" Leaf="true" />
                                                </Children>
                                            </ext:Node>
                                        </Children>
                                    </ext:Node>
                                </Root>
                            </ext:TreePanel>
                        </Items>
                    </ext:Panel>
                </Items>
            </ext:Viewport>

五、CardLayout布局方式

CardLayout布局方式也称为卡片式布局方式
<ext:Panel ID="Panel1" runat="server" Height="300" Title="卡片式布局方式" Layout="CardLayout"
                Width="300" X="100" Y="100">
                <Items>
                    <ext:Panel ID="Panel2" runat="server" Height="300" Title="卡片1">
                        <Items>
                            <ext:Label ID="Label1" runat="server" Text="这是卡片1的内容">
                            </ext:Label>
                        </Items>
                    </ext:Panel>
                    <ext:Panel ID="Panel3" runat="server" Height="300" Title="卡片2">
                        <Items>
                            <ext:Label ID="Label2" runat="server" Text="这是卡片2的内容">
                            </ext:Label>
                        </Items>
                    </ext:Panel>
                    <ext:Panel ID="Panel4" runat="server" Height="300" Title="卡片3">
                        <Items>
                            <ext:Label ID="Label3" runat="server" Text="这是卡片3的内容">
                            </ext:Label>
                        </Items>
                    </ext:Panel>
                </Items>
                <Buttons>
                    <ext:Button ID="btnPrev" runat="server" Text="上一页">
                        <DirectEvents>
                            <Click OnEvent="Prev_Click">
                                <ExtraParams>
                                    <ext:Parameter Name="index" Value="#{Panel1}.items.indexOf(#{Panel1}.layout.activeItem)"
                                        Mode="Raw" />
                                </ExtraParams>
                                <EventMask ShowMask="true" Msg="正在处理" />
                                <Confirmation Message="确定要处理吗?" Title="提示" ConfirmRequest="true" />
                            </Click>
                        </DirectEvents>
                    </ext:Button>
                    <ext:Button ID="btnNext" runat="server" Text="下一页">
                        <DirectEvents>
                            <Click OnEvent="Next_Click">
                                <ExtraParams>
                                    <ext:Parameter Name="index" Value="#{Panel1}.items.indexOf(#{Panel1}.layout.activeItem)"
                                        Mode="Raw" />
                                </ExtraParams>
                            </Click>
                        </DirectEvents>
                    </ext:Button>
                </Buttons>
            </ext:Panel>

六、FitLayout布局方式

FitLayout布局方式,以自适应的方式进行布局
<ext:Viewport runat="server" ID="viewFit" Layout="FitLayout">
                <Items>
                    <ext:Panel runat="server" BodyPadding="15" Title="FitLayout布局" Html="该Panel将适应整个容器" />
                </Items>
            </ext:Viewport>

七、FormLayout布局模式

<ext:Window runat="server" ID="loginWin" Title="登陆" Icon="Lock" BodyPadding="20" Draggable ="false" Modal="true"
                Width="600" Height="400" Layout="FormLayout" ButtonAlign="Center" DefaultButton="btnSave" Frame="true">
                <Items>
                    <ext:TextField runat="server" ID="txtUserName" FieldLabel="用户名" AllowBlank="false" 
                        LabelStyle="color:red" LabelSeparator="-">
                        <CustomConfig>
                            <ext:ConfigItem Name="toolTip" Value="请输入用户名" />
                        </CustomConfig>
                        <AfterLabelTextTpl runat="server">
                            <Html>
                                <span style="color:red;font-weight:bold" data-qtip="Required">*</span>
                            </Html>
                        </AfterLabelTextTpl>
                    </ext:TextField>

                    <ext:TextField runat="server" ID="txtPassword" FieldLabel="密码" InputType="Password" AllowBlank="false" Text="Demo" 
                        BlankText="请输入密码" />

                    <ext:DateField runat="server" ID="txtDate" FieldLabel="日期" AllowBlank="false" Editable="false">
                        <CustomConfig>
                            <ext:ConfigItem Name="tip" Value="请输入日期" />
                        </CustomConfig>
                    </ext:DateField>

                    <ext:NumberField runat="server" FieldLabel="年龄" MinValue="0" MaxValue="100" AllowBlank="false">

                    </ext:NumberField>

                    <ext:TimeField runat="server" FieldLabel="时间" MinTime="08:00" MaxTime="20:00" AllowBlank="false">
                        <CustomConfig>
                            <ext:ConfigItem Name="tips" Value="请输入时间" />
                        </CustomConfig>
                    </ext:TimeField>

                    <ext:FieldSet runat="server" Title="用户信息" CheckboxToggle="true" Layout="FormLayout" Collapsed="true">
                        <Defaults>
                            <ext:Parameter Name="LabelWidth" Value="90" />
                        </Defaults>
                        <Items>
                            <ext:TextField ID="TextField1" runat="server" FieldLabel="First Name" AllowBlank="false" />
                            <ext:TextField ID="TextField2" runat="server" FieldLabel="Last Name" />
                            <ext:TextField ID="TextField3" runat="server" FieldLabel="Company" />
                            <ext:TextField ID="TextField4" runat="server" FieldLabel="Email" />
                        </Items>
                    </ext:FieldSet>
                </Items>
                <Buttons>
                    <ext:Button runat="server" ID="btnSave" Text="登陆" Icon="Accept" />
                    <ext:Button runat="server" ID="btnCancel" Text="取消" Icon="Cancel" />
                </Buttons>
            </ext:Window>

八、TableLayout布局方式

<ext:Viewport ID="ViewPort2" runat="server" Layout="BorderLayout">
                <Items>
                    <ext:Panel
                        ID="pnlTableLayout"
                        runat="server"
                        Region="Center"
                        Title="Table Layout"
                        Border="false"
                        BodyPadding="15"
                        Layout="TableLayout">
                        <LayoutConfig>
                            <ext:TableLayoutConfig Columns="4" />
                        </LayoutConfig>
                        <Items>
                            <ext:Panel
                                ID="Panel3"
                                runat="server"
                                Title="Lots of Spanning"
                                BodyPadding="15"
                                Height="320"
                                Html="<p>Row spanning.</p><br /><p>Row spanning.</p><br /><p>Row spanning.</p><br /><p>Row spanning.</p><br /><p>Row spanning.</p><br /><p>Row spanning.</p>"
                                RowSpan="3" />
                            <ext:Panel
                                ID="Panel7"
                                runat="server"
                                Title="Basic Table Cell"
                                BodyPadding="15"
                                Height="105"
                                Html="<p>Basic panel in a table cell.</p>" />
                            <ext:Panel
                                ID="Panel8"
                                runat="server"
                                Header="false"
                                BodyPadding="15"
                                Height="105"
                                Html="<p>Plain panel</p>" />
                            <ext:Panel
                                ID="Panel9"
                                runat="server"
                                RowSpan="2"
                                Title="Another Cell"
                                Width="300"
                                Height="220"
                                BodyPadding="15"
                                Html="<p>Row spanning.</p><br /><p>Row spanning.</p><br /><p>Row spanning.</p><br /><p>Row spanning.</p>" />

                            <ext:Panel
                                ID="Panel10"
                                runat="server"
                                ColSpan="2"
                                Height="100"
                                Header="false"
                                BodyPadding="15"
                                Html="Plain cell spanning two columns" />
                            <ext:Panel
                                ID="Panel11"
                                runat="server"
                                ColSpan="3"
                                Height="85"
                                Title="More Column Spanning"
                                BodyPadding="15"
                                Html="<p>Spanning three columns.</p>" />
                            <ext:Panel
                                ID="Panel12"
                                runat="server"
                                ColSpan="4"
                                Title="Spanning All Columns"
                                BodyPadding="15"
                                Html="<p>Spanning all columns.</p>" />
                        </Items>
                    </ext:Panel>
                </Items>
            </ext:Viewport>

九、ColumnLayout布局方式

<ext:Viewport ID="Viewport2" runat="server" Layout="ColumnLayout">
                <Items>
                    <ext:Panel ID="Panel3"
                        runat="server"
                        ColumnWidth="0.25"
                        Height="100"
                        Title="Width=0.25"
                        Html="This is some content." />
                    <ext:Panel ID="Panel7"
                        runat="server"
                        ColumnWidth="0.75"
                        Height="100"
                        Title="Width=0.75"
                        Html="This is some content." />
                    <ext:Panel ID="Panel8"
                        runat="server"
                        Title="Width=250px"
                        Height="100"
                        Width="250"
                        Html="This is some content." />
                </Items>
            </ext:Viewport>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值