ASP.NET(C#)项目 开发WebForm   开发环境为vs.net2003小弟使用了TabStrip控件和MultiPage控件来实现标签页的功能,出现下面的情况:1、在"HTML"中,MulTiPage控件的<MulTiPage:pageview></MulTiPage:pageview>之间,添加了DataGrid的代码,但是DataGrid竟然显示不出来。2、像文本框之类的控件是可以显示出来的。请问:是不是MulTiPage控件中没有办法使用DataGrid??还是事先要进行一些特殊的设置???请高手指点一下,分不够再加,谢谢!!学习,关注……

解决方案 »

  1.   

    再次确定数据是否绑定,把DataGrid放到Tab外面是否能够显示。
    Visible是否设置为True
      

  2.   

    我做过tabstrip结合DataGrid的程序,还是比较顺利,没有什么大问题。只不过Visual studio经常会将我的一些事件声明删除掉,那些在InitializeComponent()函数里,我经常要手工补充那些事件声明。如果你的事件声明也没有了的话,事件代码也就不起作用了。我随时在在线,有什么可以问我。
      

  3.   

    顺便说一下,如果你将DataGrid的Html声明放在multipage的<iewc:PageView></iewc:PageView>之间的话,设计时确实看不见DataGrid的样子,但没有关系,运行时就可以看到了。
      

  4.   

    页面代码<%@ Register TagPrefix="iewc" Namespace="Microsoft.Web.UI.WebControls" Assembly="Microsoft.Web.UI.WebControls" %>
    <%@ Register TagPrefix="cc1" Namespace="AspWebControl" Assembly="AspWebControl" %>
    <%@ Page language="c#" Codebehind="yhdagl.aspx.cs" AutoEventWireup="false" Inherits="WebApplication1.df.pages.yhdagl" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <HTML>
    <HEAD>
    <title>yhdagl</title>
    <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
    <meta content="C#" name="CODE_LANGUAGE">
    <meta content="JavaScript" name="vs_defaultClientScript">
    <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
    </HEAD>
    <body MS_POSITIONING="GridLayout">
    <form id="Form1" method="post" runat="server">
    <FONT face="宋体">抄表本
    <asp:dropdownlist id="ddlCbbh" runat="server" AutoPostBack="True"></asp:dropdownlist>用户号
    <asp:textbox id="TextBox1" runat="server"></asp:textbox></FONT><br>
    <iewc:tabstrip id="TabStrip1" runat="server" TargetID="MultiPage1" TabDefaultStyle="background-color:#000000;font-family:verdana;font-weight:bold;font-size:8pt;color:#ffffff;width:79;height:21;text-align:center"
    TabHoverStyle="background-color:#777777" TabSelectedStyle="background-color:#ffffff;color:#000000"
    Font-Size="Small">
    <iewc:Tab Text="基本档案"></iewc:Tab>
    <iewc:Tab Text="电费信息"></iewc:Tab>
    <iewc:Tab Text="抄表卡"></iewc:Tab>
    <iewc:Tab Text="电价标准"></iewc:Tab>
    <iewc:Tab Text="运行变压器"></iewc:Tab>
    <iewc:Tab Text="录入变损"></iewc:Tab>
    <iewc:Tab Text="录入线损"></iewc:Tab>
    <iewc:Tab Text="附加费比例"></iewc:Tab>
    <iewc:Tab Text="电价优惠"></iewc:Tab>
    <iewc:Tab Text="定额电量"></iewc:Tab>
    </iewc:tabstrip><iewc:multipage id="MultiPage1" runat="server">
    <iewc:PageView>
    <asp:DataGrid id="DataGrid2" AutoGenerateColumns="False" allowpaging="True" pagesize="8" pagerstyle-mode="Numericpages"
    OnPageIndexChanged="DataGrid2_PageIndexChanged" OnItemCommand="DataGrid2_ItemCommand" runat="server"
    BorderColor="#3366CC" BorderStyle="None" BorderWidth="1px" BackColor="White" CellPadding="4"
    Width="544px" Font-Size="10pt" Font-Names="宋体">
    <SelectedItemStyle Font-Bold="True" ForeColor="#CCFF99" BackColor="#009999"></SelectedItemStyle>
    <ItemStyle ForeColor="#003399" BackColor="White"></ItemStyle>
    <HeaderStyle Font-Bold="True" ForeColor="#CCCCFF" BackColor="#003399"></HeaderStyle>
    <FooterStyle ForeColor="#003399" BackColor="#99CCCC"></FooterStyle>
    <Columns>
    <asp:EditCommandColumn ButtonType="LinkButton" UpdateText="" CancelText="" EditText="选择"></asp:EditCommandColumn>
    <asp:BoundColumn DataField="id"></asp:BoundColumn>
    <asp:BoundColumn DataField="yhh"></asp:BoundColumn>
    <asp:BoundColumn DataField="yhm"></asp:BoundColumn>
    <asp:BoundColumn DataField="yddz"></asp:BoundColumn>
    <asp:BoundColumn DataField="jdrq"></asp:BoundColumn>
    </Columns>
    <PagerStyle HorizontalAlign="Left" ForeColor="#003399" BackColor="#99CCCC" Mode="NumericPages"></PagerStyle>
    </asp:DataGrid>

    </iewc:PageView>
    <iewc:PageView>
    page2
    </iewc:PageView>
    <iewc:PageView>
    page3
    </iewc:PageView>
    <iewc:PageView>
    page4
    </iewc:PageView>
    <iewc:PageView>
    page5
    </iewc:PageView>
    <iewc:PageView>
    page6
    </iewc:PageView>
    <iewc:PageView>
    page7
    </iewc:PageView>
    <iewc:PageView>
    page8
    </iewc:PageView>
    <iewc:PageView>
    page9
    </iewc:PageView>
    <iewc:PageView>
    page10
    </iewc:PageView>
    </iewc:multipage>
    </form>
    </body>
    </HTML>
      

  5.   

    请高手帮忙看一下:
    在"HTML"下,我在MulTiPage中添加了一个DataGrid,ID为Dg_Client。但是当我在Page_Load中使用Dg_Client的时候,提示错误:
    “找不到类型或命名空间名称“Dg_Client”(是否缺少 using 指令或程序集引用?)”请问要如何解决??学习,关注……
      

  6.   

    DataGrid  dg=((DataGrid) (this.MultiPage1.FindControl("Dg_Client")));
                          dg.DataSource="";
              dg.DataBind ();
      

  7.   

    很简单嘛,你看一下你的页面处理类的变量声明里有没有“protected System.Web.UI.WebControls.DataGrid Dg_Client;”如果没有的话,手工补上就可以用了。
      

  8.   

    提醒你一句,我已经发现Visual Studio开发环境也有些bug的,尤其是对于非标准控件(比如TextBox或Button)更是如此,我在使用自定义组件的时候也遇到一些问题,都是自己手工添加变量声明和事件声明解决的。
      

  9.   

    多谢,问题解决了:在问一个吧!!!
    这样一来,是不是DataGrid中响应的事件处理,如:EditCommand事件,都要手工添加啊???有没有什么别的办法???
      

  10.   

    哦,上面写错了,我的意思是TextBox或Button这些属于标准控件,而tab控件或自定义控件属于非标控件。而对于非标控件,很容易产生变量声明和事件声明丢失的问题。
      

  11.   

    有办法啊,你可以先把DataGrid控件放在Tab控件之外,然后按照普通做法编写代码,完全写好以后再将DataGrid的页面代码部分移到Tab控件的内部。记得要加分哦。:)