Infragistics UltraWebGrid - ASP.Net - 网格位置固定,不与页面滚动

时间:2010-08-04 14:08:47

标签: asp.net infragistics ultrawebgrid

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

我希望它们在主体上出现溢出滚动条时滚动页面。然而,网格始终保持在同一位置,并且不会与页面内容的其余部分一起滚动。

有没有办法让UltraWebGrid成为亲戚,并将页面向上滚动页面内容的其余部分?

这似乎适用于IE6,但不适用于IE8。所有jQuery / CSS黑客都没有成功。

2 个答案:

答案 0 :(得分:0)

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

因此我编写了这段代码来删除这个属性。我复制并粘贴了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('');
});

答案 1 :(得分:0)

非常相似的问题和相关的参考链接可能对任何落在这里的人都有帮助:

这个为我破解了,将我的head更改为runat=server ,并且神奇地溢出和滚动再次正常工作。这不是一个好习惯,而是一种解决方法。这是因为

  

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

     

网格需要带有所有标记的文字来确定网格具有哪种doctype,因为它需要稍微不同地呈现,具体取决于页面处于怪异模式还是标准模式。其中一个最大的区别是它为滚动区域添加了“位置:相对”样式,以防止行溢出网格时出现问题。

     

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

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


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

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

  

网格使用相对定位。它的容器应该有   位置:相对也是如此,因此网格不会突出。