Table经过行列互换后,数据如下(没有列名,全部为数据):year    2001   null   null   2002   ...
 ...flg     0      0      1      0      ...
day     星期1  星期2  星期3  星期1  ...问题1: 
flg这行是判断day显示颜色用的,只知道dt.Row[n][0]="flg",但是n是多少未知。
请问如何取n?问题2: 
绑定到画面时,每个格子都是带边框的。现在想实现year这行不带边框,就是“2001            2002 2003        2004”这样的效果,当然每列跟下面还是对齐的。请问后台怎么设置?(注:不是html,是后台)row编辑的部分代码:
for (int n = 0; n < dt.Rows.Count; n++)
{

TableRow headerRow = new TableRow(); if(dt.Rows[n][0].ToString() == ViewStateType.DATE)
{
for (int i = 1; i < dt.Columns.Count; i++)
{
TableCell headerCell = new TableCell(); EncodeLabel label = new EncodeLabel();
label.Width = Unit.Pixel(HERDER_WIDTH);
label.Text  = dt.Rows[n][i].ToString();
label.Overflow = Overflow.Hidden;
label.WordBreak = WordBreak.BreakAll;
label.WhiteSpace = WhiteSpace.Nowrap;

label.Style.Add("text-align", "center");
headerCell.Controls.Add(label); headerCell.Style.Add("text-align", "center");
headerCell.Height = HERDER_HEIGHT;
headerRow.Cells.Add(headerCell);

}

this.HeaderTable.Rows.Add(headerRow);
}
                          }

解决方案 »

  1.   

    to zl194:
    谢谢回复。
    不好意思,表达不是很好请问2点都看不明白吗??
      

  2.   

    flg这行是判断day显示颜色用的,只知道dt.Row[n][0]="flg",但是n是多少未知。这个可以用遍历啊,foreach(DataRow dr in datatable.Rows){....}
      

  3.   

    绑定到画面时,每个格子都是带边框的。现在想实现year这行不带边框, 这应该是html的问题,跟后台没有关系
    在绑定的时候,设定不同的css
      

  4.   

    to RedRain0220:
    谢谢回复
    不知道有没有不用循环,直接判断,取到的方法?
      

  5.   

    to RedRain0220:
    谢谢回复 
    我画面上定义的是空的table,后台直接绑定上去的。
    像长度设置,label.Width = Unit.Pixel(HERDER_WIDTH);
    不知道有没有属性,可以直接后台处理?
      

  6.   


    <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %><!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:GridView ID="GridView1" runat="server"/>
        </div>
        </form>
    </body>
    </html>using System;
    using System.Data;
    using System.Configuration;
    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 _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            DataTable DT = new DataTable();        DT.Columns.Add("c1");
            DT.Columns.Add("c2");
            DT.Columns.Add("c3");
            DT.Columns.Add("c4");
            DT.Columns.Add("c5");        DT.Rows.Add(new Object[] { "year", 2001, null, null, 2002 });
            DT.Rows.Add(new Object[] { "xxxx", 1, 2, 3, 4 });
            DT.Rows.Add(new Object[] { "flg", 0, 0, 1, 0 });
            DT.Rows.Add(new Object[] { "day", "星期1", "星期2", "星期3", "星期1" });        GridView1.AutoGenerateColumns = true;
            GridView1.ShowHeader = false;
            GridView1.RowDataBound += new GridViewRowEventHandler(GridView1_RowDataBound);        GridView1.DataSource = DT;
            GridView1.DataBind();
        }    void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowIndex == 0)
            {
                Style S = new Style();
                S.BorderStyle = BorderStyle.None;            foreach (TableCell Cell in e.Row.Cells)
                    Cell.ApplyStyle(S);
            }        if (e.Row.Cells[0].Text == "flg")
                Response.Write("<script>alert(" + e.Row.RowIndex.ToString() + ")</script>");
        }
    }
      

  7.   

    生成的页面
    <script>alert(2)</script><!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><title>
    无标题页
    </title></head>
    <body>
        <form name="form1" method="post" action="Default.aspx" id="form1">
    <div>
    <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJMzY2ODAzOTg2D2QWAgIDD2QWAgIBDzwrAA0CAA8WBh4KU2hvd0hlYWRlcmgeC18hRGF0YUJvdW5kZx4LXyFJdGVtQ291bnQCBGQMFCsABRYIHgROYW1lBQJjMR4KSXNSZWFkT25seWgeBFR5cGUZKwIeCURhdGFGaWVsZAUCYzEWCB8DBQJjMh8EaB8FGSsCHwYFAmMyFggfAwUCYzMfBGgfBRkrAh8GBQJjMxYIHwMFAmM0HwRoHwUZKwIfBgUCYzQWCB8DBQJjNR8EaB8FGSsCHwYFAmM1FgJmD2QWDGYPDxYCHgdWaXNpYmxlaGRkAgEPZBYKZg8PFgYeBFRleHQFBHllYXIeC0JvcmRlclN0eWxlCyolU3lzdGVtLldlYi5VSS5XZWJDb250cm9scy5Cb3JkZXJTdHlsZQEeBF8hU0ICQGRkAgEPDxYGHwgFBDIwMDEfCQsrBAEfCgJAZGQCAg8PFgYfCAUGJm5ic3A7HwkLKwQBHwoCQGRkAgMPDxYGHwgFBiZuYnNwOx8JCysEAR8KAkBkZAIEDw8WBh8IBQQyMDAyHwkLKwQBHwoCQGRkAgIPZBYKZg8PFgIfCAUEeHh4eGRkAgEPDxYCHwgFATFkZAICDw8WAh8IBQEyZGQCAw8PFgIfCAUBM2RkAgQPDxYCHwgFATRkZAIDD2QWCmYPDxYCHwgFA2ZsZ2RkAgEPDxYCHwgFATBkZAICDw8WAh8IBQEwZGQCAw8PFgIfCAUBMWRkAgQPDxYCHwgFATBkZAIED2QWCmYPDxYCHwgFA2RheWRkAgEPDxYCHwgFB+aYn+acnzFkZAICDw8WAh8IBQfmmJ/mnJ8yZGQCAw8PFgIfCAUH5pif5pyfM2RkAgQPDxYCHwgFB+aYn+acnzFkZAIFDw8WAh8HaGRkGAEFCUdyaWRWaWV3MQ88KwAKAQgCAWQz1aoOHXa9oJVDm5VEeoqmyqMnRw==" />
    </div>    <div>
        <div>
    <table cellspacing="0" rules="all" border="1" id="GridView1" style="border-collapse:collapse;">
    <tr>
    <td style="border-style:None;">year</td><td style="border-style:None;">2001</td><td style="border-style:None;">&nbsp;</td><td style="border-style:None;">&nbsp;</td><td style="border-style:None;">2002</td>
    </tr><tr>
    <td>xxxx</td><td>1</td><td>2</td><td>3</td><td>4</td>
    </tr><tr>
    <td>flg</td><td>0</td><td>0</td><td>1</td><td>0</td>
    </tr><tr>
    <td>day</td><td>星期1</td><td>星期2</td><td>星期3</td><td>星期1</td>
    </tr>
    </table>
    </div>
        </div>
        </form>
    </body>
    </html>
      

  8.   

    谢谢wartim,原来是S.BorderStyle = BorderStyle.None;这个。