标题:急,求助!GridView固定表头表列问题
只看楼主
hhy420459674
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:203
专家分:179
注 册:2010-4-9
结帖率:54.9%
已结贴  问题点数:20 回复次数:2 
急,求助!GridView固定表头表列问题
我从数据库中读取数据直接绑定到GridView中,但是由于出现在GridView表头太长,内容也多,所以我想要拖动竖直方向上的滚动条时固定表头不动,拖动水平滚动条的时候也要固定前两列,请问怎么实现啊?先谢了哈!
搜索更多相关主题的帖子: 表头 GridView 
2010-10-06 11:19
不说也罢
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:39
帖 子:1481
专家分:4989
注 册:2007-10-7
得分:10 
我这里写了一个的例子,希望对你有用

程序代码:
<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.">

<script runat="server">
  Function CreateDataSource() As ICollection
    Dim dt As System.Data.DataTable = New System.Data.DataTable
    Dim dr As System.Data.DataRow
    dt.Columns.Add(New System.Data.DataColumn("学生班级", GetType(System.String)))
    dt.Columns.Add(New System.Data.DataColumn("学生姓名", GetType(System.String)))
    dt.Columns.Add(New System.Data.DataColumn("语文", GetType(System.Decimal)))
    dt.Columns.Add(New System.Data.DataColumn("数学", GetType(System.Decimal)))
    dt.Columns.Add(New System.Data.DataColumn("英语", GetType(System.Decimal)))
    dt.Columns.Add(New System.Data.DataColumn("计算机", GetType(System.Decimal)))
    Dim i As Integer = 0
    While i < 50
      Dim rd As System.Random = New System.Random(Environment.TickCount * i)

      dr = dt.NewRow
            dr(0) = "BCCN论坛" + i.ToString
            dr(1) = "不说也罢" + i.ToString
      dr(2) = System.Math.Round(rd.NextDouble * 100, 2)
      dr(3) = System.Math.Round(rd.NextDouble * 100, 2)
      dr(4) = System.Math.Round(rd.NextDouble * 100, 2)
      dr(5) = System.Math.Round(rd.NextDouble * 100, 2)
      dt.Rows.Add(dr)
      System.Math.Min(System.Threading.Interlocked.Increment(i), i - 1)
    End While
    Dim dv As System.Data.DataView = New System.Data.DataView(dt)
    Return dv
  End Function

  Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
    If Not IsPostBack Then
      GridView1.Attributes.Add("style", "table-layout:fixed")
      GridView1.DataSource = CreateDataSource()
      GridView1.DataBind()
    End If
  End Sub

</script>

<script type="text/javascript">
function settable()
{

 var tl = document.getElementById("<%=GridView1.ClientID%>");

 var t2 = tl.cloneNode(true)

 for(i = t2.rows.length -1;i > 0;i--)

 t2.deleteRow(i) 

 tl.deleteRow(0) 

 a.appendChild(t2)
}
window.onload = settable
</script>

<html xmlns="http://www.">
<head>
  <title>BCCN论坛网友 GridView固定表头表列示例</title>
</head>
<body>
  <form id="Form1" runat="server">
    <table>
      <tr>
        <td>
          <div id="a">
          </div>
          <div style="overflow-y: scroll; height: 200px">
            <asp:GridView ID="GridView1" runat="server" Font-Size="12px" BackColor="#FFFFFF"
              GridLines="Both" CellPadding="4" Width="560">
              <HeaderStyle BackColor="#EDEDED" Height="26px" />
            </asp:GridView>
          </div>
        </td>
      </tr>
    </table>
  </form>
</body>
</html>

===================================================
讨厌C#的行尾的小尾巴;和一对大括号{ }
===================================================
2010-10-07 10:24
红色警戒
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:19
帖 子:444
专家分:2967
注 册:2005-11-20
得分:10 
水平滚动条的功能没有实现

2010-10-07 13:47



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-322093-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.072588 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved