http://joe.2418.com/programme/html/myTableInHtc/myTableInHtc.htm
http://joe.2418.com/programme/html/myTableInHtc.rar没有行表头
有空我再写一个出来

解决方案 »

  1.   

    不能用iframe
    因为内容和列头都是动态生成的
    而且还要求打印
    所以不能用iframe
    请问还有没有其他方法可以使用
    谢谢
      

  2.   

    joe820302(joe) 的在netscape和mozilla下根本没法用
    建议使用iframe,不要搞太多效果.
      

  3.   

    function CloneTableRow(objTable,iStartRow,iRows)
    {
    var objDiv=objTable.parentElement;
    var iPadding=objTable.cellPadding*2+parseInt(objTable.style.borderWidth);
    var newDiv1=document.createElement("DIV");
    newDiv1.mergeAttributes(objDiv);
    newDiv1.style.overflow="hidden";
    newDiv1.style.zIndex=1000;
    if (!objTable.assignedPixel)
    {
    /*
    for(var i=0;i<objTable.rows[0].cells.length;i++)
    {
    objTable.rows[0].cells[i].style.pixelWidth=objTable.rows[0].cells[i].offsetWidth-iPadding;
    objTable.rows[0].cells[i].style.pixelHeight=objTable.rows[0].cells[i].offsetHeight;
    }
    */
    objTable.assignedPixel=true;
    }
    objDiv.parentElement.insertBefore(newDiv1);
    var newTable1=document.createElement("TABLE");
    var newTBody=document.createElement("TBODY");
    newTable1.insertBefore(newTBody);
    newTable1.mergeAttributes(objTable);
    newDiv1.insertBefore(newTable1);
    var iEndRow=iStartRow + iRows - 1; for(var i=iStartRow;i<=iEndRow;i++)
    {
    var headRow=objTable.rows[i].cloneNode(true);
    newTable1.firstChild.insertBefore(headRow);
    for(var j=0;j<objTable.rows[i].cells.length;j++)
    {
    newTable1.rows[i-iStartRow].cells[j].style.pixelWidth=objTable.rows[i].cells[j].offsetWidth-iPadding;
    newTable1.rows[i-iStartRow].cells[j].style.pixelHeight=objTable.rows[i].cells[j].offsetHeight;
    }
    } newDiv1.style.pixelWidth=objDiv.clientWidth;
    newDiv1.style.pixelHeight=newTable1.offsetHeight+2;
    newTable1.style.pixelLeft=0;
    newTable1.style.pixelTop=0;
    newTable1.style.position="absolute";
    newTable1.style.pixelWidth=objTable.offsetWidth;
    return newDiv1;
    }
    function fixedTableHeadandFoot(objTable,headerNum,footerNum)
    {
    var objDiv=objTable.parentElement;
    var iScroll=0;
    if(objDiv.scrollHeight<objDiv.offsetHeight)
    return false;
    if(objDiv.scrollWidth>objDiv.offsetWidth) iScroll=16;
    if (headerNum)
    {
    var divHead=CloneTableRow(objTable,0,headerNum);
    //divHead.style.pixelTop=objDiv.style.pixelTop;
    //divHead.style.pixelLeft=objDiv.style.pixelLeft;
    divHead.children(0).id=objDiv.id+"_header";
    }
    if(footerNum){
    var divFooter=CloneTableRow(objTable,objTable.rows.length - footerNum,footerNum);
    divFooter.style.pixelTop=objDiv.offsetTop + objDiv.offsetHeight - iScroll - divFooter.offsetHeight+2;
    //divFooter.style.pixelLeft=objDiv.style.pixelLeft;
    divFooter.children(0).id=objDiv.id+"_footer"-1;
    }
    }
    <script language="javascript">
        SCROLL_T=80;
            resizeControl(divMaster,-1,-1,-1,-1,true);
          fixedTableHead(document.all["DataGrid1"],1,0);
    </script><div id="divMaster" style="Z-INDEX: 101; OVERFLOW: auto; WIDTH: 100%; POSITION: absolute; TOP: 80px; HEIGHT: 83%">
    <asp:DataGrid id="DataGrid1" runat="server" style="BORDER-RIGHT:1px solid; BORDER-TOP:1px solid; BORDER-LEFT:1px solid; BORDER-BOTTOM:1px solid; POSITION:absolute; BORDER-COLLAPSE:collapse; BACKGROUND-COLOR:white" Width="100%">
    <AlternatingItemStyle CssClass="AlternatingItemStyle"></AlternatingItemStyle>
    <HeaderStyle CssClass="HeaderStyle"></HeaderStyle>
    <ItemStyle CssClass="ItemStyle"></ItemStyle>
    </asp:DataGrid>
    </div>
    自己参考下啦fixedTableHead(document.all["DataGrid1"],1,0);1为表一行,0为固定的列
      

  4.   

    zilang(随意的风) 
    你好
    能否给我发个页面过来
    谢谢
    [email protected]