求GridView里产生滚动条,纵向时标题不动(用C#实现)
求GridView里产生滚动条,纵向时标题不动(用C#实现) --------------------编程问答-------------------- 用js:DoScrollTable("GridView1");
function DoScrollTable(id)
{
var tb = document.getElementById(id);
var eNext = tb.nextSibling;
var th = tb.cloneNode(true)
//记录宽度
var ary = new Array();
var width = tb.offsetWidth;
var height = tb.offsetHeight;
for(var i=0;i<tb.rows[0].cells.length;i++)
{
ary[i] = tb.rows[0].cells[i].offsetWidth;
}
while(true && th.rows.length>1)
{
th.deleteRow(1);
}
tb.deleteRow(0)
var divHeader = document.createElement("div");
var divBody = document.createElement("div");
tb.parentNode.replaceChild(divHeader,tb);
divHeader.appendChild(th);
if(eNext)
{
divHeader.parentNode.insertBefore(divBody,eNext);
}else
{
divHeader.parentNode.appendChild(divBody);
}
divBody.appendChild(tb);
divHeader.style.cssText = "width:100%;overflow:hidden";
if(!document.all)
{
// divHeader.style.cssText = "width:"+(divBody.offsetWidth-20)+"px";
th.width = divBody.offsetWidth-16;
}
divBody.style.cssText = "width:100%;overflow-y:auto;overflow-x:hidden;height:"+tb.getAttribute("viewheight") +"px";
th.style.cssText ="table-layout:fixed"
tb.style.cssText ="table-layout:fixed"
if(parseInt(tb.getAttribute("viewheight").replace(/px/gi,"")) > height)
{
divBody.style.height = height;
}
//th.width = null;
if(tb.rows.length>0)
{
var tr1 = tb.rows[0];
var th0 = th.rows[0];
//th0.className = null;
for(var i=0 ;i<tr1.cells.length;i++)
{
th0.cells[i].style.width = ary[i];
tr1.cells[i].style.width = ary[i];
if(!document.all)
{
th0.cells[i].width = ary[i];
tr1.cells[i].width = ary[i];
}
}
}
//alert(th.rows[0].cells[0].offsetWidth);
//alert(tb.rows[0].cells[0].offsetWidth);
//tb.rows[0].cells[0].style.width = "627px"
//alert(tb.rows[0].cells[0].offsetWidth);
}
--------------------编程问答-------------------- cpp2017(慕白兄) ( 五星(高级)) 信誉:100
偶像啊!!!!÷÷
向慕白兄学习并致敬!! --------------------编程问答-------------------- 这个都有人会?! --------------------编程问答-------------------- 来个更方便的
将Gridview放到一个div里面,设置div的style="overflow: auto;"
再加CSS .DataGridFixedHeader
{
POSITION: relative ;
TOP: expression(this.offsetParent.scrollTop);
BACKGROUND-COLOR: blue ;
height:25px;
color:#ffffff;
text-align:center ;
vertical-align:middle;
font-weight:bold;
font-size:13px;
background-color:#5D7B9D;
}
设置Gridview的 HeaderStyle的CSSClass="DataGridFixedHeader" --------------------编程问答-------------------- 学习收藏 --------------------编程问答-------------------- 这样行吗?测试一下 --------------------编程问答-------------------- mark --------------------编程问答-------------------- yzujjcb :这位兄弟的方法很简单、易用,VeryGOOD! --------------------编程问答-------------------- 学习下~~yzujjcb :这位兄弟的方法很简单、易用 --------------------编程问答--------------------
有空试看看,以前用的方法是孟老大的方法(孟子E章Gridview实现固定表头) --------------------编程问答-------------------- 来个更方便的
将Gridview放到一个div里面,设置div的style= "overflow: auto; "
再加CSS .DataGridFixedHeader
{
POSITION: relative ;
TOP: expression(this.offsetParent.scrollTop);
BACKGROUND-COLOR: blue ;
height:25px;
color:#ffffff;
text-align:center ;
vertical-align:middle;
font-weight:bold;
font-size:13px;
background-color:#5D7B9D;
}
设置Gridview的 HeaderStyle的CSSClass= "DataGridFixedHeader "
高手呀....... --------------------编程问答-------------------- 留个记号 --------------------编程问答-------------------- 横向纵向的都见过,搞得像EXCEL的冻结功能一样。 --------------------编程问答-------------------- 不错呀。学习了。 --------------------编程问答-------------------- 以后 估计能用到
补充:.NET技术 , ASP.NET