当DataList显示多列时,只有一个列上显示了表头,如果在另外两个列上也显示表头? 

解决方案 »

  1.   

    你把这个表头放在你那个Table里面去.
      

  2.   


    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="temp.aspx.cs" Inherits="aaaa_temp" %><!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>
        <script>
        function change()
        {                      
            document.getElementById('<%= dl.ClientID%>').deleteRow(0);
            var tr=document.getElementById('<%= dl.ClientID%>').insertRow(0);        
            var td ;
            var count = <%= tdCount %>;
            var content='<%= tdContent %>';
            for(var i=0;i<count;i++)
            {
                td = tr.insertCell(i);            
                td.innerHTML=content;            
            }        
        }
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:DataList ID='dl' Width='100%' RepeatColumns="4" runat="server">
            <HeaderTemplate>
            <table width="100%"><tr width="100%"><td width="40%">名称</td><td width="20%">单位</td><td width="20%">规格</td><td width="20%">数量</td></tr></table>
            </HeaderTemplate>
            <ItemTemplate>
            <table width="100%"><tr width="100%"><td width="40%"><%#Eval("Name") %></td><td width="20%"><%#Eval("Unit") %></td><td width="20%"><%#Eval("Standard")%></td><td width="20%"><%#Eval("Quantity")%></td></tr></table>
            
            </ItemTemplate>
            </asp:DataList>
        </div>
        </form>
    </body>
    </html>using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;public partial class aaaa_temp : System.Web.UI.Page
    {
        protected int tdCount = 0;
        protected string tdContent = "";    protected DataTable getDataTable()
        {        System.Data.DataTable dt = new System.Data.DataTable();
            System.Data.DataRow dr;        
            dt.Columns.Add(new System.Data.DataColumn("Name", typeof(System.String)));
            dt.Columns.Add(new System.Data.DataColumn("Unit", typeof(System.String)));
            dt.Columns.Add(new System.Data.DataColumn("Standard", typeof(System.String)));
            dt.Columns.Add(new System.Data.DataColumn("Quantity", typeof(System.Int32)));        
            dr = dt.NewRow();
            dr[0] = "黑色圆珠笔";
            dr[1] = "枝";
            dr[2] = "2*2";
            dr[3] = 10;
            dt.Rows.Add(dr);
            dr = dt.NewRow();
            dr[0] = "红色圆珠笔";
            dr[1] = "枝";
            dr[2] = "2*2";
            dr[3] = 15;
            dt.Rows.Add(dr);
            dr = dt.NewRow();
            dr[0] = "黄色圆珠笔";
            dr[1] = "枝";
            dr[2] = "2*2";
            dr[3] = 20;
            dt.Rows.Add(dr);
            dr = dt.NewRow();
            dr[0] = "蓝色圆珠笔";
            dr[1] = "枝";
            dr[2] = "2*2";
            dr[3] = 18;
            dt.Rows.Add(dr);
            dr = dt.NewRow();
            dr[0] = "辰光签字笔";
            dr[1] = "枝";
            dr[2] = "2*2";
            dr[3] = 15;
            dt.Rows.Add(dr);        
            return dt;
        }    protected void Page_Load(object sender, EventArgs e)
        {
            tdCount = dl.RepeatColumns;
            tdContent = "<table width=\"100%\"><tr width=\"100%\"><td width=\"40%\">名称</td>";        
            tdContent += "<td width=\"20%\">单位</td><td width=\"20%\">规格</td><td width=\"20%\">数量</td></tr></table>";
            ClientScript.RegisterStartupScript(GetType(), "change", "<script>change();</script>");
            if (!IsPostBack)
            {
                dl.DataSource = getDataTable();
                dl.DataBind();
            }
        }
    }你可以自己改下RepeatColumns 来看下样式
      

  3.   


    楼主请参考以下方式:
    <table width="100%">
        <asp:DataList ID="datalistPen"  Runat="Server" >
            <HeaderTemplate>
               <tr>
                   <td>名称</td>
                   <td>单位</td>
                   <td>规格</td>
                   <td>数量</td>
               </tr>
            </HeaderTemplate>
            <ItemTemplate>
                 <tr>
                   <!-- Eval("这里为数据库或者数据源中对应的字段名") -->
                   <td><%# Eval("名称")%></td>
                   <td><%# Eval("单位")%></td>
                   <td><%# Eval("规格")%></td>
                   <td><%# Eval("数量")%></td>
               </tr>   
            </ItemTemplate>
        </asp:DataList>
    </table>