纯脚本搞定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> 

/

////第二种


其实使用Style
-Expression更简单 
<style> 
TD.lockedhead 
{ POSITION: relative; ; TOP: expression(lockhead(this)) } 
</style> 
<script language="javascript"> 
function lockhead(cell) 

var table
=cell.parentElement.parentElement; 
while(table&&table.tagName.toLowerCase()!="table"
table
=table.parentElement; 
var _div
=table.parentElement; 
return _div.scrollTop+(cell.parentElement.rowIndex)*(parseInt(table.border)+parseInt(table.cellSpacing)-1); 
}
 
</script> 
<script language="javascript"> 
function LockHead(table,cnt) 


if(table&&table.rows.length>=cnt) 

for(k=0;k<cnt;k++

for(i=0;i<table.rows[k].cells.length;i++

table.rows[k].cells[i].className
="lockedhead"
}
 
}
 
}
 
}
 
LockHead(Form1.all.DataGrid1,
1); 


</script>
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值