FineUI 官方论坛

标题: 动态生成tab时如何通过addTab方法给Tab加上图标方法 [打印本页]

作者: redleaf    时间: 2012-3-27 20:04
标题: 动态生成tab时如何通过addTab方法给Tab加上图标方法
本帖最后由 redleaf 于 2012-3-28 16:18 编辑

如何通过addTab方法给Tab加上图标?iconCls后面如何写?

URLMainToTab=function(pageid,pagename,url,icon){
   
    var index = NODES.mainTabStrip.items.length;
    if (index > 8) {
        Ext.Msg.alert('提示', '标签数量过多,请关闭暂时不用的标签页');
    }
    var tabID = 'dynamic_added_tab' + pageid;
   
    NODES.mainTabStrip.addTab({
        'id': tabID,
        iconCls:icon,
        'url': url,
        'title': pagename,
        'closable': true
    });
}
就像这样的图标
[attach]156[/attach]

目前用如下方法已经实现:

//根据图标生成Css
            string iconScript="";
            foreach (string sIcon in lsticons)
            {
                string iconUrl = ExtAspNet.IconHelper.GetIconUrl(ExtAspNet.IconConvertor.String2Icon(sIcon, true));
                string className = String.Format("tab_iconCls_icon_{0}", sIcon);
                iconScript += String.Format("X.util.addCSS('{0}','{1}');", className, ExtAspNet.StyleUtil.GetNoRepeatBackgroundStyle("." + className, ResolveUrl(iconUrl)));
            }
            if (iconScript.Length > 0)
            {
                ExtAspNet.PageContext.RegisterStartupScript(iconScript);
            }

//.js
var tabID = 'dynamic_added_tab' + pageid;
   
    NODES.mainTabStrip.addTab({
        'id': tabID,
       'iconCls':'tab_iconCls_icon_'+icon,
        'url': url,
        'title': pagename,
        'closable': true
    });



作者: redleaf    时间: 2012-3-28 16:15
//根据图标生成Css
            string iconScript="";
            foreach (string sIcon in lsticons)
            {
                string iconUrl = ExtAspNet.IconHelper.GetIconUrl(ExtAspNet.IconConvertor.String2Icon(sIcon, true));
                string className = String.Format("tab_iconCls_icon_{0}", sIcon);
                iconScript += String.Format("X.util.addCSS('{0}','{1}');", className, ExtAspNet.StyleUtil.GetNoRepeatBackgroundStyle("." + className, ResolveUrl(iconUrl)));
            }
            if (iconScript.Length > 0)
            {
                ExtAspNet.PageContext.RegisterStartupScript(iconScript);
            }
作者: Dark_sky    时间: 2012-4-20 08:51
redleaf 发表于 2012-3-28 16:15
//根据图标生成Css
            string iconScript="";
            foreach (string sIcon in lsticons)

lsticons 楼主你这个变量时从哪里得到的??能把代码贴全吗?谢谢了
作者: redleaf    时间: 2012-4-20 10:01
List<string> lsticons = new List<string>();
listicons.add("Basket");
你可按如上方式定义。我的是从配制文件中读取的。你可根据自己的实际情况动态生成。
作者: Dark_sky    时间: 2012-4-21 01:05
redleaf 发表于 2012-3-28 16:15
//根据图标生成Css
            string iconScript="";
            foreach (string sIcon in lsticons)

我的EXTASPNET怎么点不出这个方法啊ExtAspNet.IconConvertor.String2Icon
作者: Landroid    时间: 2012-4-21 01:10
Dark_sky 发表于 2012-4-21 01:05
我的EXTASPNET怎么点不出这个方法啊ExtAspNet.IconConvertor.String2Icon

现在好像是 Icon.String2Icon 吧
作者: redleaf    时间: 2012-4-23 09:36
ExtAspNet.IconHelper.String2Icon
作者: Dark_sky    时间: 2012-4-23 10:33
redleaf 发表于 2012-4-23 09:36
ExtAspNet.IconHelper.String2Icon

嗯。。我把你的代码做个总结。。过会我也发上来。。可以让像我这样不明白的人 比较容易理解。




欢迎光临 FineUI 官方论坛 (https://fineui.com/BBS/) Powered by Discuz! X3.4