我们如何在 Radwindow 弹出窗口中打开 raddatepicker 弹出窗口
Posted
技术标签:
【中文标题】我们如何在 Radwindow 弹出窗口中打开 raddatepicker 弹出窗口【英文标题】:How can we open raddatepicker popup window up the Radwindow popup 【发布时间】:2013-05-13 04:03:50 【问题描述】:我在 radwindow 中有 raddatepicker 控件。radwindow 的大小是固定的。当我打开 raddatepicker 弹出窗口时,由于空间较小,它在 radwindow 中显示滚动条。
我不想显示滚动条。所以我的问题是我们可以在 radwindow 上打开日期选择器弹出窗口。
【问题讨论】:
【参考方案1】:使用 RadWindow 的 ContentTemplate 将所有控件放在同一页面上,而不是在 iframe 中:http://demos.telerik.com/aspnet-ajax/window/examples/contenttemplatevsnavigateurl/defaultcs.aspx。
【讨论】:
【参考方案2】:RadDatePicker
具有 PopupDirection
属性。您可以使用TopLeft
弹出顶部而不是底部。
<telerik:RadDatePicker runat="server" ID="RadDatePicker1" PopupDirection="TopLeft">
</telerik:RadDatePicker>
左上角
右上
左下
右下(默认)
【讨论】:
我试过这个,但它没有解决问题。现在日历的上部隐藏了。【参考方案3】:您可以通过更改 RadDatePicker 弹出窗口的位置来省略滚动条。
The solution I found here.
.aspx.cs
protected void Page_Load(object sender, EventArgs e)
RadDatePicker1.DatePopupButton.Attributes.Add("onclick", "PopupAbove(event, '" + RadDatePicker1.ClientID + "');return false;");
.aspx
<telerik:RadDatePicker ID="RadDatePicker1" Runat="server">
</telerik:RadDatePicker>
.aspx javascript
<script type="text/javascript">
function PopupAbove(e, pickerID)
var datePicker;
if (pickerID == null)
datePicker = $find("<%= RadDatePicker1.ClientID %>");
else
datePicker = $find(pickerID);
var textBox = datePicker.get_textBox();
var popupElement = datePicker.get_popupContainer();
var dimensions = datePicker.getElementDimensions(popupElement);
var position = datePicker.getElementPosition(textBox);
datePicker.showPopup(position.x, position.y - dimensions.height);
</script>
您可以通过更改datePicker.showPopup(width,height);
来弹出位置
例如
datePicker.showPopup(position.x-100, position.y - 100);
【讨论】:
以上是关于我们如何在 Radwindow 弹出窗口中打开 raddatepicker 弹出窗口的主要内容,如果未能解决你的问题,请参考以下文章