找回密码
 立即注册

QQ登录

只需一步,快速开始

dhlalex

金牌服务用户

10

主题

20

帖子

78

积分

金牌服务用户

积分
78

活字格认证微信认证勋章元老葡萄

dhlalex
金牌服务用户   /  发表于:2014-8-10 23:35  /   查看:6978  /  回复:5
请问C1Accordion控件怎样在Page_Load过程中动态加载Pannel,以及Panel中的控件?以下是我C1Accordion在页面中的应用。但这个控件要在Page_Load过程中根据数据库中内容动态加载。请指导,谢谢!
      
  1. <wijmo:C1Accordion ID="C1Accordion1" runat="server">
  2.             <Panes>
  3.                 <wijmo:C1AccordionPane ID="C1Accordion1Pane1" runat="server" Expanded="True">
  4.                     <Header>
  5.                         2014年4月
  6.                     </Header>
  7.                     <Content>
  8.                         <div class="FolderListDiv">
  9.                             <wijmo:C1SuperPanel ID="C1SuperPanel1" runat="server" Width="100%" Height="100%" KeyboardSupport="False">
  10.                                 <ResizableOptions Handles="All" Helper="ui-widget-content wijmo-wijsuperpanel-helper" />
  11.                                 <ContentTemplate>
  12.                                     <asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="~/Images/btn_File.png" />
  13.                                     <%--动态加载内容--%>
  14.                                 </ContentTemplate>
  15.                             </wijmo:C1SuperPanel>
  16.                         </div>
  17.                     </Content>
  18.                 </wijmo:C1AccordionPane>
  19.                 <wijmo:C1AccordionPane ID="C1AccordionPane1" runat="server" Expanded="True">
  20.                     <Header>
  21.                         2014年5月
  22.                     </Header>
  23.                     <Content>
  24.                         <div class="FolderListDiv">
  25.                             <wijmo:C1SuperPanel ID="C1SuperPanel2" runat="server" Width="100%" Height="100%" KeyboardSupport="False">
  26.                                 <ResizableOptions Handles="All" Helper="ui-widget-content wijmo-wijsuperpanel-helper" />
  27.                                 <ContentTemplate>
  28.                                         <asp:ImageButton ID="ImageButton22" runat="server" ImageUrl="~/Images/btn_File.png" />
  29.                                         <%--动态加载内容--%>
  30.                                 </ContentTemplate>
  31.                             </wijmo:C1SuperPanel>
  32.                         </div>
  33.                     </Content>
  34.                 </wijmo:C1AccordionPane>
  35.                 <%--动态加载其他Pannel--%>
  36.             </Panes>
  37.         </wijmo:C1Accordion>
复制代码

5 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2014-8-11 10:56:00
沙发
回复 1楼dhlalex的帖子

通过后台代码添加Panes接口即可:
  1.                 C1AccordionPane pane = new C1AccordionPane();
  2.                 pane.Width = 200;
  3.                 pane.Height = 30;
  4.                 this.C1Accordion1.Panes.Add(pane);
复制代码
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
dhlalex
金牌服务用户   /  发表于:2014-8-11 17:13:00
板凳
回复 1楼dhlalex的帖子

通过后台代码添加Panes接口即可:
[code]               ......
Alice 发表于 2014-8-11 10:56:00


您好,使用这个代码是可以添加Panel,但Panel的标题及内容如何设置?Panel中要增加若干web控件,这个操作的代码通过怎样的方式编写?
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-8-12 10:59:00
地板
回复 3楼dhlalex的帖子

比如当C1Accordion数据绑定,用代码由两种方式添加panes/content到C1Accordion。第一种方法很简单但提供很少的control。第二种要多写代码,但可以把你想的更多的控件使用在AccordionPane.
假设数据源如下:
  1.             // create data
  2.             DataTable dt = new DataTable("People");
  3.             dt.Columns.Add("Name", typeof(string));
  4.             dt.Columns.Add("Notes", typeof(string));
  5.             dt.Columns.Add("Age", typeof(int));
  6.             for (int i = 0; i < 5; i++)
  7.             {
  8.                 dt.Rows.Add(string.Format("Name{0}", i), string.Format("Notes{0}", i), i);
  9.             }
复制代码

第一种方法:
  1.             C1Accordion1.HeaderField = "Name";
  2.             C1Accordion1.ContentField = "Notes";
  3.             C1Accordion1.DataSource = dt;
  4.             C1Accordion1.DataBind();
复制代码

第二种方法:
  1.   for (int i = 0; i < dt.Rows.Count; i++)
  2.             {
  3.                 C1AccordionPane pane = new C1AccordionPane();
  4.                 Literal name = new Literal();
  5.                 Literal notes = new Literal();
  6.                 Literal age = new Literal();
  7.                 Literal _break = new Literal { Text = "<br />" };

  8.                 name.Text = dt.Rows[i].Field<string>("Name");
  9.                 notes.Text = dt.Rows[i].Field<string>("Notes");
  10.                 age.Text = dt.Rows[i].Field<int>("Age").ToString();

  11.                 pane.HeaderPanel.Controls.Add(name);

  12.                 pane.ContentPanel.Controls.Add(notes);
  13.                 pane.ContentPanel.Controls.Add(_break);
  14.                 pane.ContentPanel.Controls.Add(age);

  15.                 C1Accordion2.Panes.Add(pane);
  16.             }
复制代码

评分

参与人数 1满意度 +5 收起 理由
holly.huang + 5 GOOD

查看全部评分

请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
dhlalex
金牌服务用户   /  发表于:2014-8-12 11:21:00
5#
OK!太感谢了!
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-8-12 14:07:00
6#
回复 5楼dhlalex的帖子

不客气。

评分

参与人数 1满意度 +5 收起 理由
dhlalex + 5 Thank you!

查看全部评分

请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部