想要做一个控件 用多个LABEL显示我遍历出的数据  每个数据都是固定存入一个LABEL  是一个二维数组 每一组数据放到一个
LABEL内 一共要有四个LABEL放数据 并且如果我这遍历后没有数据则这个LABEL也不显示 只显示存有数据的LABEL 并且要按照
固定的顺序显示   
哪位大侠能帮咱一把呀 辛苦了哦

解决方案 »

  1.   

    就是要做一个那样的控件呗  跟数据库有关联 并且只有LABEL 后期可能会加图片上去
      

  2.   

    这个好像没有什么难度吧。
    你传值到你的控件所在的页面,根据你所传的值,取出来后赋值给自定义控件上的LABEL就OK了。
    至于你说的LABEL的怎么样怎么样,和普通页面一致。
      

  3.   

    回一个五楼的  主要是在代码那里输入我定义的LBEL名称完全没显示………………
      

  4.   

    一共4个 Label 一行显示?
      

  5.   

    你把label 放在 Repeater 里然后给 Repeater 设置数据源 
      

  6.   


    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <asp:Repeater ID="rp" runat="server">
        <HeaderTemplate><table width="450" cellspacing="3" cellpadding="2"></HeaderTemplate>
        <AlternatingItemTemplate>
        <%#Container.ItemIndex==0?"<tr>":""%>
        <td><%#Eval("Name") %></td>
        <%#(Container.ItemIndex + 1) % HorizontalCount == 0 ? "</tr><tr>" : ""%>
        </AlternatingItemTemplate>
        <ItemTemplate>
        <%#Container.ItemIndex==0?"<tr>":""%>
        <td><%#Eval("Name") %></td>
        <%#(Container.ItemIndex + 1) % HorizontalCount == 0 ? "</tr><tr>" : ""%>
        </ItemTemplate>    
        <FooterTemplate></tr></table></FooterTemplate>
        </asp:Repeater>
        </form>
    </body>
    </html>protected int HorizontalCount = 4;    private DataTable GetDataSource()
        {
            DataTable dt = new DataTable();
            dt.Columns.Add(new DataColumn("Name"));
            DataRow dr;
            for (int i = 0; i < 18; i++)
            {
                dr = dt.NewRow();
                dr[0] = i;
                dt.Rows.Add(dr);
            }
            return dt;
        }    protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                rp.DataSource = GetDataSource();
                rp.DataBind();                 
            }
        }
      

  7.   

    使用 datalist 设置 RepeatColumns 
      

  8.   

    一般我都是使用datalist控件的
     然后从数据库读数据
      如果数据库有数据
     则会显示出来
    否则不会
      

  9.   

    在使用 datalist的时候
     做个table吧
     这样就有多个label了
      

  10.   

    public partial class Progress : System.Web.UI.UserControl
    {
        protected int HorizontalCount = 4;    private DataTable GetDataSource()
        {
            DataTable dt = new DataTable();
            dt.Columns.Add(new DataColumn("Name"));
            DataRow dr;
            for (int i = 0; i < 18; i++)
            {
                dr = dt.NewRow();
                dr[0] = i;
                dt.Rows.Add(dr);
            }
            return dt;
        }    protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                rp.DataSource = GetDataSource();
                rp.DataBind();                 
            }
        }
    }
      

  11.   

    <asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1">
    </asp:Repeater>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:NationalDataBaseConnectionString %>" 
        SelectCommand="SELECT [Acceptance], [Accept_Date], [Editor], [Edit_EndDate], [Cataloging], [Catalog_EndDate], [Assessment], [Assessment_EndDate] FROM [Data_Process]">
    </asp:SqlDataSource>
    <asp:DataList ID="DataList1" runat="server" DataSourceID="SqlDataSource1">
        <ItemTemplate>
            Acceptance:
            <asp:Label ID="AcceptanceLabel" runat="server" 
                Text='<%# Eval("Acceptance") %>' />
            <br />
            Accept_Date:
            <asp:Label ID="Accept_DateLabel" runat="server" 
                Text='<%# Eval("Accept_Date") %>' />
            <br />
            Editor:
            <asp:Label ID="EditorLabel" runat="server" Text='<%# Eval("Editor") %>' />
            <br />
            Edit_EndDate:
            <asp:Label ID="Edit_EndDateLabel" runat="server" 
                Text='<%# Eval("Edit_EndDate") %>' />
            <br />
            Cataloging:
            <asp:Label ID="CatalogingLabel" runat="server" 
                Text='<%# Eval("Cataloging") %>' />
            <br />
            Catalog_EndDate:
            <asp:Label ID="Catalog_EndDateLabel" runat="server" 
                Text='<%# Eval("Catalog_EndDate") %>' />
            <br />
            Assessment:
            <asp:Label ID="AssessmentLabel" runat="server" 
                Text='<%# Eval("Assessment") %>' />
            <br />
            Assessment_EndDate:
            <asp:Label ID="Assessment_EndDateLabel" runat="server" 
                Text='<%# Eval("Assessment_EndDate") %>' />
            <br />
            <br />
        </ItemTemplate>
    </asp:DataList>
      

  12.   

    再有就是这个了……
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default5.aspx.cs" Inherits="Default5" %><%@ Register src="MOD/Progress.ascx" tagname="Progress" tagprefix="uc1" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1" runat="server">
            </asp:ScriptManager>
        </div>
        <uc1:Progress ID="Progress1" runat="server" />
        </form>
    </body>
    </html>
      

  13.   

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default5.aspx.cs" Inherits="Default5" %> 就是这句你看看你的类名 是否叫 Default5.aspx.cs
      

  14.   

    不对 我最后发的那个HTML代码是在新建的页面里 那里是空的我就把控件给添加进去了
      

  15.   

    你新建个用户控件
    里面写
    <asp:Repeater ID="rp" runat="server">
        <HeaderTemplate><table width="450" cellspacing="3" cellpadding="2"></HeaderTemplate>
        <AlternatingItemTemplate>
        <%#Container.ItemIndex==0?"<tr>":""%>
        <td><%#Eval("Name") %></td>
        <%#(Container.ItemIndex + 1) % HorizontalCount == 0 ? "</tr><tr>" : ""%>
        </AlternatingItemTemplate>
        <ItemTemplate>
        <%#Container.ItemIndex==0?"<tr>":""%>
        <td><%#Eval("Name") %></td>
        <%#(Container.ItemIndex + 1) % HorizontalCount == 0 ? "</tr><tr>" : ""%>
        </ItemTemplate>    
        <FooterTemplate></tr></table></FooterTemplate>
        </asp:Repeater>