heonker

主要利用了LEFT和TOP 属性,使之浮动在上面,通过CSS控制
本文系本人原创,如有转载,请注明出处
Imports System.Data

Partial Class _Default
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not IsPostBack Then
            initData()
        End If
    End Sub

    Sub initData()
        Dim i As Integer
        Dim dtData As New DataTable
        dtData.Columns.Add("1")
        dtData.Columns.Add("2")
        dtData.Columns.Add("3")
        dtData.Columns.Add("4")
        dtData.Columns.Add("5")
        dtData.Columns.Add("6")
        dtData.Columns.Add("7")
        dtData.Columns.Add("8")
        dtData.Columns.Add("9")
        dtData.Columns.Add("10")
        For i = 0 To 9
            dtData.Rows.Add()
            dtData.Rows(i)("1") = "項目" + i.ToString
            dtData.Rows(i)("2") = "項目" + i.ToString
            dtData.Rows(i)("3") = "項目" + i.ToString
            dtData.Rows(i)("4") = "項目" + i.ToString
            dtData.Rows(i)("5") = "項目" + i.ToString
            dtData.Rows(i)("6") = "項目" + i.ToString
            dtData.Rows(i)("7") = "項目" + i.ToString
            dtData.Rows(i)("8") = "項目" + i.ToString
            dtData.Rows(i)("9") = "項目" + i.ToString
        Next

        Me.GridView1.DataSource = dtData
        Me.GridView1.DataBind()

    End Sub

    Protected Sub GridView1_RowCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowCreated
        Dim i As Integer = 0
        Dim tcHeader As TableCellCollection = e.Row.Cells
        Dim objtcRow As GridViewRow = e.Row

        If e.Row.RowType = DataControlRowType.Header Then
            tcHeader.Clear()
            tcHeader.Add(New TableCell)
            tcHeader(i).ColumnSpan = 10
            objtcRow.Style.Add("display", "none")

            \'======================================================
            \'Row1
            \'======================================================
            objtcRow = New GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Normal)
            tcHeader = objtcRow.Cells
            tcHeader.Clear()
            i = 0
            objtcRow.Attributes.Add("align", "center")
            objtcRow.Attributes.Add("vlign", "middle")
            objtcRow.Style.Add("z-index", "16")

            \'A
            tcHeader.Add(New TableHeaderCell())
            tcHeader(i).Text = "項目A"
            tcHeader(i).Attributes.Add("align", "center")
            tcHeader(i).CssClass = "gvHeader border_rb FixTopLeftNormal"
            tcHeader(i).Style.Add("width", "70px")
            tcHeader(i).Style.Add("z-index", "1001")
            tcHeader(i).Style.Add("font-weight", "normal")
            i = i + 1

            \'B
            tcHeader.Add(New TableHeaderCell())

            tcHeader(i).Text = "項目B"
            tcHeader(i).Attributes.Add("align", "center")
            tcHeader(i).CssClass = "gvHeader border_b FixTop"
            tcHeader(i).Style.Add("font-weight", "normal")
            tcHeader(i).Style.Add("width", "70px")
            i = i + 1

            \'C
            tcHeader.Add(New TableHeaderCell())

            tcHeader(i).Text = "項目C"
            tcHeader(i).Attributes.Add("align", "center")
            tcHeader(i).CssClass = "gvHeader border_b FixTop"
            tcHeader(i).Style.Add("font-weight", "normal")
            tcHeader(i).Style.Add("width", "70px")
            i = i + 1

            \'D
            tcHeader.Add(New TableHeaderCell())

            tcHeader(i).Text = "項目D"
            tcHeader(i).Attributes.Add("align", "center")
            tcHeader(i).CssClass = "gvHeader border_b FixTop"
            tcHeader(i).Style.Add("font-weight", "normal")
            tcHeader(i).Style.Add("width", "70px")
            i = i + 1

            \'E
            tcHeader.Add(New TableHeaderCell())

            tcHeader(i).Text = "項目E"
            tcHeader(i).Attributes.Add("align", "center")
            tcHeader(i).CssClass = "gvHeader border_b FixTop"
            tcHeader(i).Style.Add("font-weight", "normal")
            tcHeader(i).Style.Add("width", "70px")
            i = i + 1

            \'F
            tcHeader.Add(New TableHeaderCell())

            tcHeader(i).Text = "項目F"
            tcHeader(i).Attributes.Add("align", "center")
            tcHeader(i).CssClass = "gvHeader border_b FixTop"
            tcHeader(i).Style.Add("font-weight", "normal")
            tcHeader(i).Style.Add("width", "70px")
            i = i + 1

            \'G
            tcHeader.Add(New TableHeaderCell())

            tcHeader(i).Text = "項目G"
            tcHeader(i).Attributes.Add("align", "center")
            tcHeader(i).CssClass = "gvHeader border_b FixTop"
            tcHeader(i).Style.Add("font-weight", "normal")
            tcHeader(i).Style.Add("width", "70px")
            i = i + 1

            \'H
            tcHeader.Add(New TableHeaderCell())

            tcHeader(i).Text = "項目H"
            tcHeader(i).Attributes.Add("align", "center")
            tcHeader(i).CssClass = "gvHeader border_b FixTop"
            tcHeader(i).Style.Add("font-weight", "normal")
            tcHeader(i).Style.Add("width", "70px")
            i = i + 1

            \'I
            tcHeader.Add(New TableHeaderCell())

            tcHeader(i).Text = "項目I"
            tcHeader(i).Attributes.Add("align", "center")
            tcHeader(i).CssClass = "gvHeader border_b FixTop"
            tcHeader(i).Style.Add("font-weight", "normal")
            tcHeader(i).Style.Add("width", "70px")
            i = i + 1


            \'編集
            tcHeader.Add(New TableHeaderCell())
            tcHeader(i).Text = "編集"
            tcHeader(i).Attributes.Add("align", "center")
            tcHeader(i).CssClass = "gvHeader border_lrb FixTopLeft"
            tcHeader(i).Style.Add("z-index", "1001")
            tcHeader(i).Style.Add("font-weight", "normal")
            i = i + 1

            Me.GridView1.Controls(0).Controls.Add(objtcRow)


        End If

    End Sub
End Class

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="main.aspx.vb" 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>   
    <link href="App_Data/common.css" rel="stylesheet" type="text/css" />
    <style>
     .FixTopLeft
{
 position: relative;
 left: expression(this.offsetParent.scrollLeft - (divGrid1.scrollWidth-683));
 top: expression(this.offsetParent.scrollTop);
 
}
/* 固定TOP */
 .FixTop
{
 position: relative;
 top: expression(this.offsetParent.scrollTop);
 
}
/* 固定LEFT */
 .FixLeft
{
 position: relative;
 left: expression(this.offsetParent.scrollLeft - (divGrid1.scrollWidth-683)); 
}
/* 固定LEFT */
.FixLeftNormal
{
 position: relative;
 left: expression(this.offsetParent.scrollLeft);
 
}
/* 固定TOP LEFT */
 .FixTopLeftNormal
{
 position: relative;
 left: expression(this.offsetParent.scrollLeft);
 top: expression(this.offsetParent.scrollTop);
 
}
.btnSmall_gv1
{
 border: solid 1px #40e0d0;
 background-color: white;
 width: 36px;
 height: 16px;
 font-size: 10px;
}
.gvHeader
{
 background-color: #eaeaea;
}
.border_ltrb
{
 border: solid 1px black;
}
/* 下 */
.border_b
{
 border-left: solid 0px black;
 border-top: solid 0px black;
 border-right: solid 0px black;
 border-bottom: solid 1px black;
}
/* 左 下 */
.border_lb
{
 border-left: solid 1px black;
 border-top: solid 0px black;
 border-right: solid 0px black;
 border-bottom: solid 1px black;
}
/* 左 右 下 */
.border_lrb
{
 border-left: solid 1px black;
 border-top: solid 0px black;
 border-right: solid 1px black;
 border-bottom: solid 1px black;
}

/* 右 下 */
.border_rb
{
 border-left: solid 0px black;
 border-top: solid 0px black;
 border-right: solid 1px black;
 border-bottom: solid 1px black;
}

/*  上 下 左*/
.border_ltb
{
 border-left: solid 1px black;
 border-top: solid 1px black;
 border-right: solid 0px black;
 border-bottom: solid 1px black;
}

/*  上 左*/
.border_lt
{
 border-left: solid 1px black;
 border-top: solid 1px black;
 border-right: solid 0px black;
 border-bottom: solid 0px black;
}
/*  上 左右*/
.border_lrt
{
 border-left: solid 1px black;
 border-top: solid 1px black;
 border-right: solid 1px black;
 border-bottom: solid 0px black;
}
/* 右 上 */
.border_rt
{
 border-left: solid 0px black;
 border-top: solid 1px black;
 border-right: solid 1px black;
 border-bottom: solid 0px black;
}
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <div style="height:100px; width:100%; position:absolute ;left:0px;top:0px;">
    </div>
    <div style="width:100px; height:700px; left:0px; top:100px; position:absolute">
    <!-- 链接到服务器。 -->
<A HREF="http://www.microsoft.com">Microsoft</A><br />
<!-- 链接到同目录的文件。 -->
<A HREF="#anchor">MicroHard</A><br />
<!-- 调用 JScript 函数 -->
<A HREF="javascript:window.open()">链接</A>
    </div>
    <div  id="divGrid1" align="left" style="width:700px; height:300px ;left:100px; top:100px; position: absolute; overflow:scroll; border:solid 1px black" >
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" Width="800px">
            <Columns>
                <asp:BoundField HeaderText="a" DataField="1" >
                    <ItemStyle Width="70px" CssClass="border_rb FixLeftNormal" />
                </asp:BoundField>
                <asp:BoundField HeaderText="b" DataField="2">
                    <ItemStyle Width="70px" CssClass="border_b"/>
                </asp:BoundField>
                <asp:BoundField DataField="3">
                    <ItemStyle Width="70px" CssClass="border_b"/>
                </asp:BoundField>
                <asp:BoundField DataField="4">
                    <ItemStyle Width="70px" CssClass="border_b"/>
                </asp:BoundField>
                <asp:BoundField DataField="5">
                    <ItemStyle Width="70px" CssClass="border_b"/>
                </asp:BoundField>
                <asp:BoundField DataField="6">
                    <ItemStyle Width="70px" CssClass="border_b"/>
                </asp:BoundField>
                <asp:BoundField DataField="7">
                    <ItemStyle Width="70px" CssClass="border_b"/>
                </asp:BoundField>
                <asp:BoundField DataField="8">
                    <ItemStyle Width="70px" CssClass="border_b"/>
                </asp:BoundField>
                 <asp:BoundField DataField="9">
                    <ItemStyle Width="70px" CssClass="border_b"/>
                </asp:BoundField>
                <asp:TemplateField>
                    <ItemTemplate>
                        <asp:Button ID="btnEDIT" runat="server" OnClick="btnEDIT_Click" CssClass="btnSmall_gv1" Text="編集" />
                    </ItemTemplate >
                    <ItemStyle Width="170px" CssClass="border_lrt FixLeft"/>
                </asp:TemplateField>
            </Columns>
            <RowStyle BackColor="#C0C0FF" BorderColor="#FF80FF" BorderStyle="Solid" />
            <AlternatingRowStyle BackColor="#FFC0C0" BorderColor="#FFC0FF" BorderStyle="Solid" />
       
        </asp:GridView>
    </div>
   
    </div>
    </form>
</body>
</html>


 

分类:

技术点:

相关文章: