纯脚本搞掂DataGrid表表头不动,表身滚动。

先看效果:

孟子以前也做过这事,不过他的方法前台后台都要弄,还是VB的(^-^),好像也不支持像我的自动生成列的DataGrid,所以还是自己动手,纯脚本搞掂,其实很简单,就几行:

        function ScrollDataGrid()
        {
            
var tb = document.getElementById("tbHeader");
            
var dg = document.getElementById("dgSearchResult");
            
            
if(dg!= null)
            {    
                
var dv = document.getElementById("dvBody");
                
var th = dg.rows[0];
                
for(var i = 0 ; i < th.cells.length;i++)
                    th.cells[i].width 
= th.cells[i].clientWidth;
                
var tr = th.cloneNode(true);
                
                
//tr.applyElement(tb);
                tb.createTHead();
                
var tbh = tb.tHead;
                tbh.appendChild(tr);
                tr 
= tbh.rows[0];
                
var td = tr.insertCell();
                td.style.width 
= 19;
                td.width 
= 19;
                td.innerHTML 
= tr.cells[0].innerHTML;
                th.style.display 
= 'none';
                
if(dg.scrollHeight < 300 )
                    dv.style.height 
= dg.scrollHeight * 1 + 2;
                
                
            }

                <table width="100%" border="0" id="tbHeader" cellpadding="4" cellspacing="0">
                                        
</table>
                                        
<div style="OVERFLOW-Y: scroll; HEIGHT: 300px" id="dvBody">
                                            
<asp:datagrid id="dgSearchResult" style="BORDER-COLLAPSE: collapse" runat="server" Width="100%" CellPadding="4" DataKeyField="编号" BorderWidth="1px" BorderStyle="Solid" BorderColor="RoyalBlue" GridLines="None">
                                                
<SelectedItemStyle ForeColor="SlateGray"></SelectedItemStyle>
                                                
<ItemStyle VerticalAlign="Middle"></ItemStyle>
                                                
<HeaderStyle HorizontalAlign="Center"></HeaderStyle>
                                                
<Columns>
                                                    
<asp:ButtonColumn Text="选择" HeaderText="&lt;font face=webdings&gt;6&lt;/font&gt;" CommandName="Delete">
                                                        
<HeaderStyle Wrap="False" Width="40px"></HeaderStyle>
                                                        
<ItemStyle Wrap="False" HorizontalAlign="Center"></ItemStyle>
                                                        
<FooterStyle Wrap="False"></FooterStyle>
                                                    
</asp:ButtonColumn>
                                                
</Columns>
                                            
</asp:datagrid></div>
posted @ 2005-05-27 17:04  Think  阅读(14624)  评论(31编辑  收藏  举报