1

我在页面上有两个网格,它们似乎总是位置:固定。

当溢出滚动条出现在正文上时,我希望它们与页面一起滚动。然而,网格总是停留在同一个地方,并且不会随着页面内容的其余部分滚动。

有什么方法可以让 UltraWebGrid 成为相对的并使用页面的其余内容向上滚动页面?

这似乎在 IE6 中有效,但在 IE8 中无效。所有 jQuery/CSS hack 都没有成功。

4

2 回答 2

0

非常相似的问题和相关参考链接可能对任何也登陆这里的人有所帮助:

这个为我破解了它,改变了我headrunat=server,神奇地溢出和滚动再次起作用。这不是一个好的做法,而是一种解决方法。这是因为

“…… 如果页面具有内联表达式,则页面的控件集合的创建方式会有所不同。在没有内联表达式的页面中,控件集合中的第一个元素是 Literal 控件,其中包含页面顶部和第一个服务器控件之间的所有 html。当存在内联表达式时,控件集合中的第一个元素是页面上的第一个服务器控件(通常是元素或 )。

网格需要带有所有标记的文字来确定网格的文档类型,因为它需要根据页面是处于怪癖模式还是标准模式而略有不同。最大的区别之一是它向滚动区域添加了“位置:相对”样式,以防止行溢出网格的问题。

修复它的方法是将内联代码移动到后面的代码中。使用 Page.ClientScript.RegisterClientScriptBlock 方法根据 Request.Params["expired"] 值生成 javascript。……”</p>

http://wagnerblog.com/2007/09/creative-terminology-and-an-infragistics-ultrawebgrid-bug/


这个似乎对我没有帮助,但是ymmv

http://blogs.infragistics.com/forums/p/21880/79596.aspx

网格使用相对定位。它的容器也应该有 position:relative ,这样网格就不会伸出来。

于 2011-09-27T20:21:14.817 回答
0

以防万一它对任何人都有用。我发现,由于某种原因,组件创建的表中的每个对象都具有属性“位置:相对”。当您删除它时,该表的行为应如此。

因此,我编写了这段代码来删除这个属性。我复制并粘贴了 Infragistics 创建的表的名称,因此请更改它(或找到更好的方法来获取它^^)

function removeRelativePosition(item) {
    var elt;
    if(item == '') {
        elt = document.getElementById('ctl00xmasterContentPlaceHolderxwPanReportsxuwGridReport_main');
    }
    else {
        elt = item;
    }

    //Call this function recursively on every child
    if(elt.childNodes !== undefined) {
        for(var i=0;i< elt.childNodes.length; i++) {
            removeRelativePosition(elt.childNodes[i]);
        }
    }
    //Then remove the attribute
    if(elt.style !== undefined) {
        elt.style.position = '';
    }
}

//Run this function when your page is ready
$(document).ready(function() {
    removeRelativePosition('');
});
于 2011-01-28T15:10:50.023 回答