【问题标题】:Telerik radwindow positionTelerik radwindow 位置
【发布时间】:2012-12-12 19:40:10
【问题描述】:

我遇到了 Telerik RadWindow 的问题。 在我的应用程序中,将发生以下步骤:

  1. 用户单击一个按钮,RadWindow 将可见(在窗口的中心)。然后用户将选择要上传的文件。

  2. 当用户按下上传按钮时,RadWindow 仍然可见,但现在其中也可以看到带有数据的 DataTable。 Telerik RadWindow 设置为 AutoSieze="true",因此可以在 DataTable 填充数据时对其进行扩展。但是由于新的尺寸,RadWindow 不再位于中间,因为尺寸更大。

我尝试使用 left 和 top 属性来调整位置,但没有任何成功。是否可以从客户端或服务器代码更改 radWindow 的位置?我也尝试过 moveTo(position) (JavaScript) 但它不起作用。

有没有人有类似的问题?

【问题讨论】:

    标签: c# asp.net telerik


    【解决方案1】:

    RadWindow 客户端对象有一个center() 方法,您可以这样调用:

    var oWnd = $find("<%= DialogWindow.ClientID %>");
    oWnd.center();
    

    查看the online documentation 了解更多信息。

    【讨论】:

    • 感谢您的回答!我已经尝试过了,但没有任何成功。看起来 RadWindow 从 RadWindow 的左上角计算屏幕中心。当我添加 DataTable 时,左上角位于相同的位置,但由于 DataTable 的大小,窗口的大小发生了变化。这将导致窗口不再位于屏幕中间。
    • @Tobias:我建议你联系 Telerik 支持。它们通常很有帮助。
    【解决方案2】:

    我认为您需要通过调用 show() 来“强制”center() 申请。

    var oWnd = $find("<%= DialogWindow.ClientID %>");
    oWnd.Center();
    oWnd.Show();
    

    【讨论】:

      【解决方案3】:

      确保您的 AutoSizeBehaviors 保留为 Default。因此它会在自动调整大小后保持居中,将它们设置为其他值可能会导致左上角保持原位。

      另外,尝试在 center() 周围添加超时:

      setTimeout(function(){
      oWnd.center();
      }, 0);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多