FineUI 官方论坛

标题: TabStrip 一些问题 [打印本页]

作者: Gavin    时间: 2013-5-6 12:21
标题: TabStrip 一些问题
1 服务端自动生成的 tabstrip  ,默认是激活最后一个tab的,使用ActiveTabIndex = 0 设定激活第一个tab时,总会自动去执行TabStrip1_TabIndexChanged事件,是否可以避免在生成时候的事件执行
2  TabStrip1_TabIndexChanged事件中为什么获得不到itemcount,总是0,如何获得点击tab的tabid?


foreach (DataRow userRow in dtUser.Rows)
{                  
                    FineUI.Tab tab = new Tab();
                    tab.ID = userRow["userID"].ToString();
                    tab.Title = userRow["userName"].ToString();
                    tab.AutoWidth = true;                    
                    TabStrip1.Tabs.Add(tab);
}
TabStrip1.ActiveTabIndex = 0;   //第一生成tabs时,指定active=0 会自动激发事件,如何避免?




protected void TabStrip1_TabIndexChanged(object sender, EventArgs e)
{
      int tabCount = TabStrip1.Items.Count
      string id1 = TabStrip1.ActiveTab.ID;      //获取不到tabid
      string id2 = TabStrip1.Tabs[TabStrip1.ActiveTabIndex].ID;  //获取不到tabid

}






作者: sanshi    时间: 2013-5-6 13:46
请使用空项目创建一个完整的示例
作者: Gavin    时间: 2013-5-6 14:14
本帖最后由 Gavin 于 2013-5-6 14:16 编辑

我使用官方的空项目方案,创建了一个测试,一样的问题

tab.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="tab.aspx.cs" Inherits="EmptyProjectNet40.tab" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <x:PageManager ID="PageManager1" runat="server" />
        <div id="divTab">
            <x:TabStrip ID="TabStrip1" AutoWidth="true" ShowBorder="false"   runat="server"   AutoPostBack="true" >
                <Tabs>
               
                </Tabs>
            </x:TabStrip>
        </div>
    </form>
</body>
</html>


作者: Gavin    时间: 2013-5-6 14:15
tab.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using FineUI;
namespace EmptyProjectNet40
{
    public partial class tab : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
               BindData();            
        }

        private void BindData()
        {            
            for (int i = 1; i<= 10;i++)
            {               
                FineUI.Tab tab = new Tab();
                tab.ID = i.ToString();
                tab.Title = i.ToString();
                tab.AutoWidth = true;
                TabStrip1.Tabs.Add(tab);
            }
            TabStrip1.ActiveTabIndex = 0;        
        }
        protected void TabStrip1_TabIndexChanged(object sender, EventArgs e)
        {
            int tabCount = TabStrip1.Items.Count;
            string id1 = TabStrip1.ActiveTab.ID;
            string id2 = TabStrip1.Tabs[TabStrip1.ActiveTabIndex].ID;
        }
    }
}

作者: Jun_我在苏州    时间: 2013-5-8 19:38
本帖最后由 Jun_我在苏州 于 2013-5-8 19:40 编辑

<div style="Height:100%; background-color: #99FF33;">
                           
                            <aspanel ID="anel1" runat="server" Height="100%" BackColor="#FF3300">
                                <xageManager ID="ageManager1" runat="server" AutoSizePanelID="RadPane1"
                                    FormLabelWidth="100%" HideScrollbar="True" HideScrollbars="True" />

                                <x:TabStrip ID="TabStrip1" runat="server" ActiveTabIndex = 0 EnableTabCloseMenu="true"
                                    Height="100%" ShowBorder="false">

                                    <Tabs>
                                        <x:Tab AutoScroll="True" AutoWidth="True" EnableIFrame="true"
                                            IFrameUrl="Welcome.aspx" Title="Welcome">
                                        </x:Tab>
                                    </Tabs>
                                </x:TabStrip>

                                </aspanel>

</div>

问题:TabStrip不能  Height="100%"

作者: sanshi    时间: 2013-5-9 10:15
Gavin 发表于 2013-5-6 14:15
tab.cs
using System;
using System.Collections.Generic;

动态创建控件的代码要放在Page_Init 中,你的使用方法不对,参考文章:http://www.cnblogs.com/sanshi/archive/2012/11/19/2776672.html
作者: sanshi    时间: 2013-5-9 10:16
Jun_我在苏州 发表于 2013-5-8 19:38
...

最外层的Panel去掉,最外层的
  1. <div style="Height:100%; background-color: #99FF33;">
复制代码
也去掉,你看下官网示例首页的代码





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