先看效果: 孟子以前也做过这事,不过他的方法前台后台都要弄,还是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 ="<font face=webdings>6</font>" CommandName ="Delete" > < HeaderStyle Wrap ="False" Width ="40px" ></ HeaderStyle > < ItemStyle Wrap ="False" HorizontalAlign ="Center" ></ ItemStyle > < FooterStyle Wrap ="False" ></ FooterStyle > </ asp:ButtonColumn > </ Columns > </ asp:datagrid ></ div > http://thinhunan.cnblogs.com/archive/2005/05/27/163704.aspx