test2.aspx

 

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="test2.aspx.cs" Inherits="test2" %>

 

<html>

<head runat="server">

    <title>未命名頁面</title>

</head>

<body>

    <form id="form1" runat="server">

<asp:Label ID="Label98" runat="server" Text=""></asp:Label><br>

<asp:GridView id="GridView1" runat="server" PageSize="10" Width="100%" onrowcreated="GridView1_RowCreated">

 

    </asp:GridView>

 

<asp:Label ID="Label99" runat="server" Text=""></asp:Label><br>

    </form>

</body>

</html>

 

test2.aspx.cs

 

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 test2 : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {

string [] selected_days = {"2013/8/1", "2013/8/2", "2013/8/3", "2013/8/4", "2013/8/5", "2013/8/6", "2013/8/7"};

DataTable dt = new DataTable();

 

//雖然GridView1_RowCreated已定義建立表頭列的樣式,但此處一定要再做最大行數的Columns.Add,才會出現表頭列-----begin

dt.Columns.Add(new DataColumn("人員", typeof(string)));

dt.Columns.Add(new DataColumn("部門", typeof(string)));

for (int i = 0; i < selected_days.Length; i+=1)

{

dt.Columns.Add(new DataColumn((i*2).ToString(), typeof(string)));

dt.Columns.Add(new DataColumn((i*2+1).ToString(), typeof(string)));

}

//-----------end

 

//建立左標題行

//此處可從資料庫取值後,以迴圈建立左標題行

dt.Rows.Add("adams");

dt.Rows[0][1] = "45歲";

dt.Rows.Add("miles");

dt.Rows[1][1] = "15歲";

 

ViewState["dt"] = dt;

this.GridView1.DataSource = ViewState["dt"];

            this.GridView1.DataBind();

 

//建立內容值

//此處可從資料庫取值後,以迴圈建立內容值

for (int i = 0; i < 2; i+=1)

{

for (int j=0; j < selected_days.Length; j+=1)

{

this.GridView1.Rows[i].Cells[j*2+2].Text = "收入" + j.ToString();

this.GridView1.Rows[i].Cells[j*2+3].Text = "支出" + j.ToString();

}

}

    }

 

protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)

{

string [] selected_days = {"2013/8/1", "2013/8/2", "2013/8/3", "2013/8/4", "2013/8/5", "2013/8/6", "2013/8/7"};

if (e.Row.RowType == DataControlRowType.Header)

{

int tcc_count = 0;

TableCellCollection tcc = e.Row.Cells;

tcc.Add(new TableHeaderCell());

tcc[0].Attributes.Add("colspan", "1");

tcc[0].Attributes.Add("rowspan", "2");

tcc[0].Attributes.Add("bgcolor", "#00ffff");

tcc[0].Text = "人員</th>";

tcc.Add(new TableHeaderCell());

tcc[1].Attributes.Add("colspan", "1");

tcc[1].Attributes.Add("rowspan", "2");

tcc[1].Attributes.Add("bgcolor", "#00ffff");

tcc[1].Text = "年齡</th>";

for (int i = 0; i < selected_days.Length; i+=1)

{

tcc.Add(new TableHeaderCell());

tcc[i+2].Attributes.Add("colspan", "2");

tcc[i+2].Attributes.Add("rowspan", "1");

tcc[i+2].Attributes.Add("bgcolor", "#ffff00");

if (i == selected_days.Length-1)

{

tcc[i+2].Text = selected_days[i].ToString() + "</th></tr><tr>";

}

else

{

tcc[i+2].Text = selected_days[i].ToString() + "</th>";

}

tcc_count = 2 + i;

}

tcc_count += 1;

for (int i = 0; i < selected_days.Length; i+=1)

{

tcc.Add(new TableHeaderCell());

tcc[tcc_count].Attributes.Add("colspan", "1");

tcc[tcc_count].Attributes.Add("rowspan", "1");

tcc[tcc_count].Attributes.Add("bgcolor", "#ff00ff");

tcc[tcc_count].Text = "收入</th>";

tcc.Add(new TableHeaderCell());

tcc_count += 1;

tcc[tcc_count].Attributes.Add("colspan", "1");

tcc[tcc_count].Attributes.Add("rowspan", "1");

tcc[tcc_count].Attributes.Add("bgcolor", "#ff00ff");

if (i == selected_days.Length-1)

{

tcc[tcc_count].Text = "支出</th></tr><tr>";   //換列要加</tr><tr>

}

else

{

tcc[tcc_count].Text = "支出</th>";

}

tcc_count += 1;

}

}

}

}

arrow
arrow
    全站熱搜

    adamschen9921 發表在 痞客邦 留言(0) 人氣()