您的位置:首页 > 其它

Gridview header固顶,空数据行显示header

2008-09-27 17:40 274 查看
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 Default5 : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

if (!IsPostBack)

{

bind();

}

}

public void bind()

{

DataTable dt = new DataTable("test");

DataColumn col1 = new DataColumn("C1", typeof(string));

dt.Columns.Add(col1);

col1 = new DataColumn("C2", typeof(string));

dt.Columns.Add(col1);

/* DataRow row;

for (int i = 0; i < 5; i++)

{

row = dt.NewRow();

row[0] = "test1";

row[1] = "test2";

dt.Rows.Add(row);

}

注释这段代码可以看到没有数据的时候显示header,加上它可以看到HEADER固顶*/

gvDemo.DataSource = dt;

gvDemo.DataBind();

//gvDemo.HeaderRow.Visible = true;

}

protected void gvDemo_PreRender(object sender, EventArgs e)

{

if (gvDemo.Rows.Count == 0)

{

renderEmptyGridView(gvDemo, "C1,C2");

}

}

public static void renderEmptyGridView(GridView EmptyGridView, string FieldNames)

{

//將GridView變成只有Header和Footer列,以及被隱藏的空白資料列

DataTable dTable = new DataTable();

char[] delimiterChars = {','};

string[] colName = FieldNames.Split(delimiterChars);

foreach (string myCol in colName)

{

DataColumn dColumn = new DataColumn(myCol.Trim());

dTable.Columns.Add(dColumn);

}

DataRow dRow = dTable.NewRow();

foreach (string myCol in colName)

{

dRow[myCol.Trim()] = DBNull.Value;

}

dTable.Rows.Add(dRow);

EmptyGridView.DataSourceID = null;

EmptyGridView.DataSource = dTable;

EmptyGridView.DataBind();

EmptyGridView.Rows[0].Visible = false;

}

protected void gvDemo_Load(object sender, EventArgs e)

{

//回復原本GridView的資料連結

gvDemo.DataSource = null;

//gvDemo.DataSourceID = "SqlDataSource1";

bind();

}

}

repter 控件加上固定的HEADER, 与没有数据时显示header
不多说了,直接上代码,下面是aspx代码

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

<!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>

<style type="text/css">

.GVFixedHeader { font-weight:bold; background-color: Green; position:relative;

top:expression(this.parentNode.parentNode.parentNode.scrollTop-1);}

.GVFixedFooter { font-weight:bold; background-color: Green; position:relative;

bottom:expression(getScrollBottom(this.parentNode.parentNode.parentNode.parentNode));}

</style>

</head>

<body>

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

<div>

<asp:Panel runat="server" ID="pnlContainer" ScrollBars="Auto" Height="150px" Width="400">

<asp:GridView ShowFooter="True" runat="server" Width="96%" ID="gvDemo" AutoGenerateColumns="False" BackColor="White" BorderColor="#E7E7FF" BorderStyle="None" BorderWidth="1px" CellPadding="3" GridLines="Horizontal" OnLoad="gvDemo_Load" OnPreRender="gvDemo_PreRender">

<HeaderStyle CssClass="GVFixedHeader" BackColor="#4A3C8C" Font-Bold="True" ForeColor="#F7F7F7" />

<FooterStyle CssClass="GVFixedFooter" BackColor="#B5C7DE" ForeColor="#4A3C8C" />

<Columns>

<asp:TemplateField HeaderText="C1">

<ItemTemplate>

<asp:Label ID="Label2" runat="server" Text='<%# Bind("C1") %>'></asp:Label>

</ItemTemplate>

<FooterTemplate>

C1 Footer Here

</FooterTemplate>

</asp:TemplateField>

<asp:TemplateField HeaderText="C2">

<ItemTemplate>

<asp:Label ID="Label1" runat="server" Text='<%# Bind("C2") %>'></asp:Label>

</ItemTemplate>

<FooterTemplate>

C2 Footer Here

</FooterTemplate>

</asp:TemplateField>

</Columns>

<RowStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" />

<SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="#F7F7F7" />

<PagerStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" HorizontalAlign="Right" />

<AlternatingRowStyle BackColor="#F7F7F7" />

</asp:GridView>

</asp:Panel>

</div>

</form>

</body>

</html> //from 飞鸟工作室 http://www.birdzone.cn

下面是CS代码:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐