【问题标题】:Is it possible to constrain the height of an Infragistics grid?是否可以限制 Infragistics 网格的高度?
【发布时间】:2008-12-30 17:17:55
【问题描述】:

我已经尝试过 Infragistics,但他们似乎不明白我在问什么,并且需要几天才能得到答案,所以请帮忙!

我需要将 Infragistics 网络网格放入 div 或表格单元格中。网格的大小必须适合 div 或单元格。如果要显示的数据太多,我需要网格来发挥它的魔力并添加它自己的滚动条。

到目前为止,我已经使用 javascript 实现了这一点,并且每次浏览器窗口调整大小时都会调整大小。不幸的是,在刷新页面(使用 AJAX)时,网格会在更正之前将其自身调整为默认大小一秒钟,但这对于客户(或我而言)是不可接受的。

令人恼火的是,width=100% 有效但 height=100% 无效。我发现它只是从 div 或 table 中扩展出来(甚至没有调整 div 的大小,只是从它扩展出来)。

我尝试了将高度和宽度设置为 100% 并将框架自定义规则设置为 table-layout:auto 的知识库文章,但这不起作用。

更新

我创建了一个测试项目,其中包含一个 500 像素高的表格、两行(每行 50% 高度)和每行两个单元格,以提供 2 x 2 网格。如果我在一个单元格内将 Infragistics 网格高度设置为 100%,它会非常适合,直到您将其绑定到数据。然后它会扩展,使表格的高度超过 500 像素。

我尝试在其中一个单元格中放置一个 100% x 100% 的 div,并在其中放置一个网格。然后表格保持正确的大小,但网格的高度增加了一行的大小,并延伸到了 div 和单元格之外:-(

我开始怀疑 Infragistics 网络控件是否达到应有的水平。它们当然看起来不如 Windows 版本。

【问题讨论】:

  • 将您的 div 设置为特定高度,而不是设置为可滚动的 %。
  • 我需要网格自动调整大小,因此特定高度不合适。即便如此,当你设置一个特定的高度时,网格仍然不支持它。

标签: asp.net infragistics


【解决方案1】:

您是否尝试过仅指定宽度=100% 并完全离开网格的高度规范?

另一个想法是将网格放在 asp.net 面板上,然后将面板放在 div 或表格单元格中。

【讨论】:

  • 我试过了。当网格数据比它所在的 div/cell 小(行数更少)时,网格的水平滚动条会出现在页面的高处。此外,如果行太多,它们会超出 div/cell。
  • 我偶然发现了这个来自 Infragistics 的 KB,其中讨论了动态调整行高的大小。它使用 javascript 调用 InitializeLayout。您也许可以使用相同的技术来相应地调整网格的大小。 devcenter.infragistics.com/Support/…
【解决方案2】:

您是否在没有任何用户控件、母版页和继承的空项目中尝试过它? 如果没有可能的属性可以做到这一点,我认为你可以通过条件代码来完成这项工作。

【讨论】:

    【解决方案3】:

    我对 ComponentArt 的网格有一个类似的问题,如果我理解你的话,也许这会有所帮助。

    我必须做的是通过将它放在我自己的 Div 中来限制网格的高度,该 Div 具有溢出-y 可滚动。所以我有这个:

    根本不要在网格上指定高度。

    编辑

    我认为你需要在你的 div 上设置一个特定的高度。

    <table style="height:500px">
       <tr>
          <td>Cell 1</td>
          <td>Cell 2</td>
       </tr>
       <tr>
          <td>
             <div style="height:400px;overflow-y:scrollable"> <ingragists...>
             </div>
           </td>
           <td>Cell 3</td>
        </tr>
    </table>
    

    【讨论】:

    • 不幸的是,这也不起作用。在 Infragistics 控件上,网格最终处于绝对位置并且不会在 div 内滚动。即使这样做,它也会隐藏列标题,这是客户无法接受的。
    • 哈哈,保持网格标题是另一回事。我已经设法让我的 CA 网格存在于一个固定高度的可滚动 div 中,如果您查看我的问题跟踪器,您会在其中找到一个以保持列标题固定。
    【解决方案4】:

    我最终通过从 ASP.NET 页面中删除 doctype 解决了这个问题。似乎网格的布局方式不适用于标准模式下的 IE。看起来主要是 IE 问题。

    Infragistics 表示他们正在开发一个没有这些问题的新网格,但不幸的是它还没有标准网格的灵活性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-06
      • 1970-01-01
      • 2015-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多