第一次写文章发到首页,有什么不妥的地方还请各位大虾批评!
今天看到CSDN网友有问冻结DataGrid中的列的问题,以前知道一个冻结DataGrid的
Header的方法比较简单,所以想试试!
费话少说先贴源码
<style type="text/css">
.fixTitle { POSITION: relative; TOP: expression(this.offsetParent.scrollTop) }
.fixCol { POSITION: relative; Left: expression(this.offsetParent.scrollLeft) }
</style>
<DIV style="Z-INDEX: 102; LEFT: 264px; OVERFLOW: auto; WIDTH: 184px; POSITION: relative; TOP: 128px; HEIGHT: 216px"
ms_positioning="GridLayout">
<asp:DataGrid id="DataGrid1" style="Z-INDEX: 103" runat="server" BorderColor="#DEBA84" BorderStyle="None"
BorderWidth="1px" BackColor="#DEBA84" CellPadding="0" AutoGenerateColumns="False">
<SelectedItemStyle Font-Bold="True" ForeColor="White" BackColor="#738A9C"></SelectedItemStyle>
<ItemStyle ForeColor="#8C4510" BackColor="#FFF7E7"></ItemStyle>
<HeaderStyle Font-Bold="True" ForeColor="White" BackColor="#A55129"></HeaderStyle>
<FooterStyle ForeColor="#8C4510" BackColor="#F7DFB5"></FooterStyle>
<Columns>
<asp:BoundColumn DataField="IntegerValue" HeaderText="IntegerValue" HeaderStyle-CssClass ="fixCol" ItemStyle-CssClass="fixCol"></asp:BoundColumn>
<asp:BoundColumn DataField="StringValue" HeaderText="StringValue"></asp:BoundColumn>
<asp:BoundColumn DataField="CurrencyValue" HeaderText="CurrencyValue"></asp:BoundColumn>
</Columns>
<PagerStyle HorizontalAlign="Center" ForeColor="#8C4510" Mode="NumericPages"></PagerStyle>
</asp:DataGrid></DIV>以前不知道从哪位高手那里看到的fixTitle的Css,在这里谢过了!
如果你想冻结那列就把 fixCol这个Css加到 那列的HeaderStyle-CssClass 和 ItemStyle-CssClass 中去
这里我是冻结的第一列。
看看效果吧

评论:
-
这个小技巧倒是没有发现过.呵呵..... 回复 引用 查看
-
不错,不错,我正为这个发愁呢 回复 引用 查看
-
我用过这个,可是列很多,数据很多的时候会变得很慢,没法用 回复 引用 查看
-
效果不对啊,不能锁住头和列 回复 引用 查看
-
这是冻结DataGrid中的列
用如下方法冻结Header
<HeaderStyle CssClass="fixTitle" Font-Bold="True" ForeColor="White" BackColor="#A55129"></HeaderStyle>
回复 引用 查看
-
试过几次都不行,哪位高手可以指点一下迷津? 回复 引用 查看
-
对啊,我也试过,不行啊 回复 引用 查看
-
你是按照我说的做的吗?
把你要冻结的列前面加 HeaderStyle-CssClass ?? 回复 引用 查看
-
不行啊。。楼主,能否详细点,或者你自己添加了什么没注意到,试了不行。 回复 引用 查看
-
@.net[匿名]
你现在是横向滚动条不行,还是纵向的不行啊,还是都不行! 回复 引用 查看
.fixTitle
}
浙公网安备 33010602011771号