FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 7892|回复: 14
打印 上一主题 下一主题

求助(一个关于布局的诡异现象)

[复制链接]
跳转到指定楼层
楼主
发表于 2013-6-7 17:14:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 F壹 于 2013-6-7 17:30 编辑

我有两个页面,只是稍微变通,一个后台动态往form加row就可以,一个就加不上,区别仅仅在于布局。

页面一,可以往form2里面添加row。
  1. <body>
  2.     <form id="form1" runat="server">
  3.     <ext:PageManager ID="PageManager1" AutoSizePanelID="Panel7" runat="server" />
  4.     <ext:Panel ID="Panel7" runat="server" EnableBackgroundColor="true" BodyPadding="3px"
  5.         EnableLargeHeader="true" Title="Panel" ShowBorder="false" ShowHeader="True" Layout="VBox"
  6.         BoxConfigAlign="Stretch">
  7.         <Items>
  8.             <ext:Form ID="Form5" ShowBorder="False" BodyPadding="5px" EnableBackgroundColor="true"
  9.                 ShowHeader="False" runat="server" AnchorValue="-1000 100%">
  10.                 <Rows>
  11.                     <ext:FormRow ColumnWidths="30%">
  12.                         <Items>
  13.                             <ext:TwinTriggerBox runat="server" EmptyText="输入要搜索的关键词"  ShowLabel="false"                     ID="ttbSearch"  ShowTrigger1="false" OnTrigger1Click="ttbSearch_Trigger1Click" OnTrigger2Click="ttbSearch_Trigger2Click"
  14.                                 Trigger1Icon="Clear" Trigger2Icon="Search">
  15.                             </ext:TwinTriggerBox>
  16.                         </Items>
  17.                     </ext:FormRow>
  18.                 </Rows>
  19.             </ext:Form>
  20.             <ext:Panel ID="Panel8" ShowBorder="True" ShowHeader="false" BoxFlex="1" Layout="Fit"
  21.                 runat="server">               
  22.                 <Items>
  23.                     <ext:Panel runat="server" Layout="Fit" BoxConfigAlign="Stretch" ><Items>
  24.                     <ext:Form runat="server" ShowHeader="false" ID="form2" BoxConfigAlign="Stretch">
  25.                            
  26.                     </ext:Form>
  27.                     </Items></ext:Panel>                        
  28.                     <ext:Form runat="server" ShowHeader="false" ID="form3" BoxConfigAlign="Stretch" Height="40px">
  29.                         <Rows><ext:FormRow >
  30.                             <Items>
  31.                             <ext:Button runat="server" Text="删除热点" ID="btnDelSelectedHotArea"></ext:Button>
  32.                             </Items>
  33.                         </ext:FormRow></Rows>
  34.                     </ext:Form>
  35.                 </Items>
  36.             </ext:Panel>
  37.         </Items>
  38.     </ext:Panel>   
  39.     </form>
  40. </body>
复制代码

后台代码
  1. protected void InsertRowToForm(ExtAspNet.Form form, DataTable table)
  2.     {
  3.         int length = table.Rows.Count;
  4.         FormRow row = new FormRow();
  5.         for (int i = 0; i < length; i++)
  6.         {
  7.             if (0 == i % 5)
  8.             {
  9.                 if(0 != i)
  10.                 form.Rows.Add(row);
  11.                 row = new FormRow();
  12.             }


  13.             CheckBox checkBox = new CheckBox();
  14.             checkBox.ID = table.Rows[1].ToString();
  15.             checkBox.Label = table.Rows[0].ToString();
  16.             row.Items.Add(checkBox);
  17.             if (i == (length - 1) && 0 != (i + 1) % 5)
  18.                 form.Rows.Add(row);
  19.         }
  20.         row = new FormRow();
  21.         form.Rows.Add(row);
  22.         form.Height = new System.Web.UI.WebControls.Unit(length / 5 * 55 + "px");
  23.     }
复制代码
沙发
 楼主| 发表于 2013-6-7 17:17:25 | 只看该作者
本帖最后由 F壹 于 2013-6-7 17:31 编辑

页面2,页面代码
  1. <body>   
  2.     <form id="form1" runat="server">
  3.     <ext:PageManager ID="PageManager1" runat="server" AutoSizePanelID="RegionPanel1" />
  4.     <ext:RegionPanel ID="RegionPanel1" ShowBorder="false" runat="server">
  5.         <Regions>
  6.             <ext:Region ID="Region1" ShowBorder="false" ShowHeader="false" Split="true" EnableSplitTip="true"
  7.                 CollapseMode="Mini" Margins="0 0 0 0" Width="130px" Position="Left" Layout="Fit"
  8.                 runat="server">
  9.                 <Items>
  10.                     <ext:Tree ID="tree2" runat="server" Title="全部区域" OnNodeCommand="Tree_Click">
  11.                         <Nodes>                        
  12.                         </Nodes>
  13.                     </ext:Tree>
  14.                 </Items>
  15.             </ext:Region>
  16.             <ext:Region ID="Region2" ShowBorder="false" ShowHeader="false" Position="Center"
  17.                 BoxConfigAlign="Stretch" Layout="VBox" BoxConfigPosition="Left" runat="server">
  18.                 <Items>
  19.                     <ext:Form ID="Form5" ShowBorder="False" BodyPadding="5px" EnableBackgroundColor="true"
  20.                         ShowHeader="False" runat="server" AnchorValue="-1000 100%">
  21.                         <Rows>
  22.                             <ext:FormRow ColumnWidths="30%">
  23.                                 <Items>
  24.                                     <ext:TwinTriggerBox runat="server" EmptyText="输入要搜索的关键词" ShowLabel="false" ID="ttbSearch"
  25.                                         ShowTrigger1="false" OnTrigger1Click="ttbSearch_Trigger1Click" OnTrigger2Click="ttbSearch_Trigger2Click"
  26.                                         Trigger1Icon="Clear" Trigger2Icon="Search">
  27.                                     </ext:TwinTriggerBox>
  28.                                 </Items>
  29.                             </ext:FormRow>
  30.                         </Rows>
  31.                     </ext:Form>
  32.                     <ext:Panel ID="Panel8" Height="1000" ShowBorder="True" ShowHeader="true" EnableBackgroundColor="true" BoxFlex="1" Layout="VBox"
  33.                         runat="server" BoxConfigAlign="Stretch">               
  34.                         <Items>
  35.                             <ext:Form runat="server" ShowHeader="true" ID="form2" EnableBackgroundColor="true" Height="440px" BoxConfigAlign="Stretch" >
  36.                              <Rows>
  37.                              <ext:FormRow>
  38.                                 <Items>
  39.                                    <ext:CheckBox Text="sdsds"></ext:CheckBox>
  40.                                 </Items>
  41.                              </ext:FormRow>
  42.                              </Rows>      
  43.                             </ext:Form>                        
  44.                             <ext:Form runat="server" ShowHeader="true" ID="form3"  >
  45.                                 <Rows><ext:FormRow >
  46.                                     <Items>
  47.                                     <ext:Button runat="server" Text="添加" ID="btnAddHotArea" OnClick="btnAddHotArea_Click"></ext:Button>
  48.                                     </Items>
  49.                                 </ext:FormRow></Rows>
  50.                             </ext:Form>
  51.                         </Items>
  52.                     </ext:Panel>
  53.                 </Items>
  54.             </ext:Region>
  55.         </Regions>
  56.     </ext:RegionPanel>
  57.     <br />
  58.     <br />
  59.     </form>   
  60. </body>
复制代码
后台代码同上
板凳
 楼主| 发表于 2013-6-7 18:38:18 来自手机 | 只看该作者
本帖最后由 F壹 于 2013-6-8 12:48 编辑

这个框架拿来就用,第一次来论坛求助,貌似我找到答案了。框架不支持回发动态加控件。
地板
 楼主| 发表于 2013-6-7 18:38:43 来自手机 | 只看该作者
本帖最后由 F壹 于 2013-6-8 12:48 编辑

这个框架拿来就用,第一次来论坛求助,貌似我找到答案了。框架不支持回发动态加控件。
5#
 楼主| 发表于 2013-6-7 18:39:04 来自手机 | 只看该作者
本帖最后由 F壹 于 2013-6-8 12:49 编辑

没想到多发楼层了。删不掉。
6#
 楼主| 发表于 2013-6-7 18:44:24 来自手机 | 只看该作者
刚忘说了,还有一种更合理的做法,既然重新加载iframe,再用ajax或者框架内置的ajax也显得不科学,可以直接用js代码
7#
发表于 2013-6-7 19:25:58 | 只看该作者
是这样的,不能回发添加控件是asp.net决定的,可以放在iframe中
8#
 楼主| 发表于 2013-6-8 10:36:01 | 只看该作者
本帖最后由 F壹 于 2013-6-8 16:32 编辑
sanshi 发表于 2013-6-7 19:25
是这样的,不能回发添加控件是asp.net决定的,可以放在iframe中

还有一事,就是父
  1. ext:Pannel
复制代码
是VBox,Strech。下面的FormRow元素被平均分配宽度,假如三十二个带checkbox的Label,最后的两个各占了父Pannel的1/2。而且这种情况下,ColumnWidth=“20% 20%”也失效了,请问何解?是不是必须固定各个控件的width height?
9#
发表于 2013-6-8 14:44:43 | 只看该作者
没看懂,用空项目创建一个完整示例
10#
 楼主| 发表于 2013-6-8 16:35:11 | 只看该作者
sanshi 发表于 2013-6-8 14:44
没看懂,用空项目创建一个完整示例

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-11-24 06:27 , Processed in 0.056822 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表