gridview表头
我做了一个gridview,我想gridview在下拉的时候让他的表头不动,怎么做? --------------------编程问答-------------------- 72绝技,里面有。 --------------------编程问答--------------------<style>
.Freezing
{
position:relative ;
table-layout:fixed;
top:expression(this.offsetParent.scrollTop);
z-index: 10;
}
.Freezing th{text-overflow:ellipsis;overflow:hidden;white-space: nowrap;padding:2px;}
</style>
--------------------编程问答-------------------- http://blog.csdn.net/21aspnet/archive/2007/03/25/1540301.aspx --------------------编程问答-------------------- 什么意思?我看不懂 --------------------编程问答-------------------- 我刚才说错了是列名?我想在拖动gridview时候,始终看到他的列名 --------------------编程问答-------------------- 就是表头保持不动,,跟 Excel的冻结窗格一样的嘛!~~~
//据说只能兼容IE
<asp:gridview runat="server">
<HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" CssClass="Freezing"/>
</gridview>
--------------------编程问答-------------------- 学习了~ --------------------编程问答-------------------- 我想知道从那行代码开始?太多了,又开不懂 --------------------编程问答-------------------- 友情帮顶
<head runat="server">
<title>Gridview Header</title>
<script language="javascript" type="text/javascript">
function init()
{
var bodyGridView=document.getElementById("<%=GridView1.ClientID%>");
//获得GridView变量
var headGridView=bodyGridView.cloneNode(true);
//表示将GridView变量深度克隆给headGridView?cloneNode(true)表深度克隆
for(i=headGridView.rows.length-1;i>0;i--)
{
headGridView.deleteRow(i); //将headGridView中的数据一条条的删除,仅剩表头
}
bodyGridView.deleteRow(0);//此时bodyGridView中的数据为20行,删除第0行,删掉表头行
headdiv.appendChild(headGridView);//删掉数据行
bodydiv.appendChild(bodyGridView);
}
//原理基本搞清了,用var bodyGridView=document.getElementById("<%=GridView1.ClientID%>")这句话获得GridView的结构和语句,然后再克隆给另一个变量headerGridView
//将headerGridView的数据全部删除,并将它用appendChild函数添加到headdiv的位置处;同时将bodyGridView的表头行删除,加到bodydiv处,这样就大功告成了。因为长度有限
//超出部分有拖动条,所以body部分会有拖动出现,反观head部分位置固定,所以保持不动。。
window.onload=init;
</script>
<%--此处若去掉JS函数的话,表头会随着表体一块向上滚动 --%>
<link href="~/CSS/Gridview.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<div id="headdiv" style="top: 16px; text-align:center; left: 152px; position: absolute; width: 629px;height: 21px;word-wrap:break-word; overflow:hidden;"><!--不需要显示表头水平滚动条-->
</div>
<!--这里定义的表头div需与表体div宽度,位置等均完全相同,top:16px即表头离上方为16px,而可以看到表体的top为33px,即留有17px的高度于表头 -->
<div id="bodydiv" style="top: 33px; left: 152px; position: absolute; width: 647px;height: 100px; overflow: auto" onscroll="headdiv.scrollLeft=scrollLeft"><!--表体的水平滚动条拖动触发表头的水平滚动事件-->
<!--Gridview中必须定义表头和表体相同的宽度-->
<asp:GridView ID="GridView1" BorderColor="Black" OnRowDataBound="GridView1_RowDataBound" runat="server" AutoGenerateColumns="False" Font-Size="12px" width="629px">
<Columns>
能不能看看我的问题,谢谢了
http://topic.csdn.net/u/20091017/13/acfef73b-9ecf-426e-930d-5df658e151f9.html --------------------编程问答-------------------- function init()这个东西是自己写进去的,还是触发的? --------------------编程问答-------------------- 能不能这样:这个头不要写在Gridview里面
而是用一个div显示在Gridview上面。
然后Gridview在实现滚动 --------------------编程问答-------------------- 可以啊,但是我不会,你能不能帮我写写代码? --------------------编程问答-------------------- http://topic.csdn.net/u/20090204/09/b181a591-279f-47b3-b5bd-2ad2c5fef402.html?28471
这个是GridView的用法大总结,.Net推荐里面的帖子,,你把源代码下下来。。
能解决你GridView的大部分问题。。
至于你这个的话,在表头表尾里!~~
--------------------编程问答-------------------- 这些东西其实在网上搜一下就能找到,,自己多找找!~~
如果你以后要像做开发人员,,一定要会搜索!~~· --------------------编程问答-------------------- 参考 --------------------编程问答-------------------- 这个更牛逼,我收藏的纯JS --------------------编程问答-------------------- 我刚才弄进代码为什么把表头弄没了,,还有如果自定义表头,怎么把表头和表体对齐? --------------------编程问答-------------------- --------------------编程问答-------------------- 控制他的宽度不就行了。。 --------------------编程问答-------------------- 自定义表头控制宽度
--------------------编程问答-------------------- 自定义每列的宽度和数据列每列的宽度设为一样嘛,
自定义列的width=100px对应的数据列的<ItemStyle Width="100px" />
补充:.NET技术 , ASP.NET