FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

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

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

搜索
查看: 15359|回复: 15
打印 上一主题 下一主题

如何使用Accordion控件打开窗口与官方示例一样

[复制链接]
跳转到指定楼层
楼主
发表于 2012-6-29 01:48:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请看截图,我用的是Accordion控件,官方示例是树控件




打开窗口是新开窗口。想要的结果是与官方标示例一样。如何实现


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
沙发
发表于 2012-6-29 09:36:29 | 只看该作者
先收藏....
板凳
发表于 2012-6-29 09:48:56 | 只看该作者
这样吗???

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
地板
 楼主| 发表于 2012-7-1 21:18:54 | 只看该作者
GardeniaHong 发表于 2012-6-29 09:48
这样吗???

对,就是想要的结果
5#
发表于 2012-7-4 05:34:49 | 只看该作者
我看官方的源码上是使用左侧菜单js方式打开右侧tab的。但是这个js是非主流的,不好找。我想用后台代码页是可以实现的,我没试过,你找到Tab相关的事例自己试试看。
6#
发表于 2012-7-4 10:41:48 | 只看该作者
本帖最后由 大鸟打小鸟 于 2012-7-4 10:43 编辑

这个我这样弄的,如果不需要Tree就用一层Tree,如果需要多层,就可以有父子节点,设置Tree 的 node onclientclick就行,node.NavigateUrl不要设置
node.OnClientClick = _tabStrip.GetAddTabReference("tab_" + nodeID,NavigateUrl, NodeName,IconHelper.GetIconUrl(Icon.Application), true);

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
7#
发表于 2012-8-1 05:30:15 | 只看该作者
也在找實現這個效果的方法,高人指教一下。
8#
 楼主| 发表于 2012-8-1 06:56:15 | 只看该作者
快乐一家 发表于 2012-8-1 05:30
也在找實現這個效果的方法,高人指教一下。

好像是控件还没提供这样的功能
9#
发表于 2012-8-1 07:23:09 | 只看该作者
       protected void Page_Load(object sender, EventArgs e)        {            if (!IsPostBack)            {                BindMenu();            }        }
        /// <summary>        /// 绑定手风琴目录        /// </summary>        protected void BindMenu()        {            //ds就是就是数据库里查询出来的菜单数据,这里用 new DataSet()代替,具体的自己写;            DataSet ds = new DataSet();
            ExtAspNet.Accordion accordion = new ExtAspNet.Accordion();            Region2.Items.Add(accordion);            accordion.ShowBorder = false;            accordion.ShowHeader = false;                        //找出所有手风琴节点            DataRow[] drParent = ds.Tables[0].Select("PrentID=0");                        遍历创建每个手风琴节点            foreach (DataRow dr in drParent)            {                ExtAspNet.AccordionPane pane = new ExtAspNet.AccordionPane();                accordion.Panes.Add(pane);                pane.Title = dr["NAME"].ToString();                pane.ShowBorder = false;                                //创建该节点下的菜单目录,并将该手风琴节点的ID作为下属菜单的父节点                CreateTree(ds, dr["ID"].ToString(), pane);            }        }
        /// <summary>        /// 绑定树状目录        /// </summary>        protected void CreateTree(DataSet ds, string PrentID, ExtAspNet.AccordionPane pane)        {            DataRow[] drParent = ds.Tables[0].Select("PrentID=" + PrentID+ "");            ExtAspNet.Tree tree = new ExtAspNet.Tree();            pane.Items.Add(tree);            tree.ShowBorder = false;            tree.ShowHeader = false;            tree.AutoScroll = false;            tree.EnableArrows = true;
            foreach (DataRow dr in drParent)            {                ExtAspNet.TreeNode TN = new ExtAspNet.TreeNode();                TN.NodeID = dr["ID"].ToString();                TN.Text = dr["NAME"].ToString();                TN.OnClientClick = mainTabStrip1.GetAddTabReference(dr["ID"].ToString(), dr["URL"].ToString() ,  dr["NAME"].ToString(), true);                TN.EnablePostBack = false;                tree.Nodes.Add(TN);                               CreateNodes(ds, dr["ID"].ToString(), TN);            }        }
        /// <summary>        /// 绑定子目录        /// </summary>        protected void CreateNodes(DataSet ds, string PrentID, ExtAspNet.TreeNode TN)        {            DataRow[] drParent = ds.Tables[0].Select("PrentID=" + PrentID+ "");
            foreach (DataRow dr in drParent)            {                ExtAspNet.TreeNode tn = new ExtAspNet.TreeNode();                tn.Text = dr["NAME"].ToString();                tn.NodeID = dr["ID"].ToString();                TN.OnClientClick = mainTabStrip1.GetAddTabReference(dr["ID"].ToString(), dr["PATH"].ToString(), dr["NAME"].ToString(), true);                TN.EnablePostBack = false;                TN.Nodes.Add(tn);                                //循环子节点看看是否还有下属节点                CreateNodes(ds, dr["ID"].ToString(), tn);            }        }

10#
发表于 2012-8-1 07:24:00 | 只看该作者
{:soso_e119:}伤不起啊。代码全乱了。你复制完在VS里面自动排版吧。。。应该就是你要的东西
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-9-24 09:34 , Processed in 0.048485 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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