在网格视图中获取垂直滚动的动态高度
问题描述:
朋友们,
我曾尝试过使用垂直网格法来查看网格,但是页面上的价位会根据下拉菜单select进行更改.所以我不能具有静态高度,因为在一个选择中只有两个记录需要显示,而在另一个选择中要显示8-24条记录.
任何人都可以与我共享代码吗?
谢谢
我使用了以下脚本,并在CS页面中调用了功能
Hi friends,
i had tried verical scrol for a grid vew,But the vales on the page will change according to the dropdown select.so i cant have a static height because on one select there are only two records which has to be displayed and on another select there are 8-24 records to get displayed .
Can any one share the code with me ?
Thanks
i used the below script and called the funtion in cs page
ScriptManager.RegisterStartupScript(Page, this.GetType(), "Key", "<script>MakeStaticHeader('" + grdaccess.ClientID + "',180,800,40,true);</script>", false);
function MakeStaticHeader(gridId, height, width, headerHeight, isFooter) {
var tbl = document.getElementById(gridId);
if (tbl) {
var DivHR = document.getElementById('DivHeaderRow');
var DivMC = document.getElementById('DivMainContent1');
var DivFR = document.getElementById('DivFooterRow');
//*** Set divheaderRow Properties ****
DivHR.style.height = headerHeight + 'px';
DivHR.style.width = (parseInt(width) - 16) + 'px';
DivHR.style.position = 'relative';
DivHR.style.top = '0px';
DivHR.style.zIndex = '10';
DivHR.style.verticalAlign = 'top';
//*** Set divMainContent Properties ****
DivMC.style.width = width + 'px';
DivMC.style.height = 'relative';
DivMC.style.position = 'relative';
DivMC.style.top = -headerHeight + 'px';
DivMC.style.zIndex = '1';
//*** Set divFooterRow Properties ****
DivFR.style.width = (parseInt(width) - 16)+ 'px';
DivFR.style.position = 'relative';
DivFR.style.top = -headerHeight + 'px';
DivFR.style.verticalAlign = 'top';
DivFR.style.paddingtop = '2px';
if (isFooter) {
var tblfr = tbl.cloneNode(true);
tblfr.removeChild(tblfr.getElementsByTagName('tbody')[0]);
var tblBody = document.createElement('tbody');
tblfr.style.width = '100%';
tblfr.cellSpacing = "0";
tblfr.border = "0px";
tblfr.rules = "none";
//*****In the case of Footer Row *******
tblBody.appendChild(tbl.rows[tbl.rows.length - 1]);
tblfr.appendChild(tblBody);
DivFR.appendChild(tblfr);
}
//****Copy Header in divHeaderRow****
DivHR.appendChild(tbl.cloneNode(true));
}
}
function OnScrollDiv(Scrollablediv) {
document.getElementById('DivHeaderRow').scrollLeft = Scrollablediv.scrollLeft;
document.getElementById('DivFooterRow').scrollLeft = Scrollablediv.scrollLeft;
}
答
将gridview保留在div或面板中,并使该div或面板可滚动.
Keep your gridview inside a div or panel and make that div or panel scrollable.
像下面的代码一样将其放在可滚动的div中
Hi,
put it in scrollable div like the code below
<div style="height:400px; overflow:scroll">
<asp:gridview id="GridView1" runat="server">
</asp:gridview>
</div>