纯脚本搞掂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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值