RadGrid 中的 RadDatePicker

Posted

技术标签:

【中文标题】RadGrid 中的 RadDatePicker【英文标题】:RadDatePicker in RadGrid 【发布时间】:2012-07-09 13:36:51 【问题描述】:

我正在使用 Telerik RadGrids,并且我有 RadDatePickers 用于日期时间类型的列。但是,当我想选择一个日期时,它根本不起作用。没有错误,但它根本不起作用。我注意到奇怪的是我可以选择更多天,但我希望能够通过在给定日期单击一次来选择一天。

我观察到,当点击上个月/下个月时,我可以完全按照自己的意愿选择一天,所以有一个 hack 可能会起作用(在我的研究中,它在第一次回发之后完美运行,但在第一次回发它根本不起作用):

Public Sub PageInit(ByVal sender As Object, ByVal e As
System.EventArgs)
    Me.Page.ClientScript.RegisterStartupScript(GetType(TTControls.TTAjaxState),
"Page_Init_" & Me.UniqueID, "if (!(hasEndRequest)) var hasEndRequest =
false; if (!(hasEndRequest)) var prm =
Sys.WebForms.PageRequestManager.getInstance();prm.add_endRequest(function()
$('.rcPrev').click();console.log('clicked');); hasEndRequest =
true;", True)
End Sub

在上面的代码中,您可以看到一个方法,它将成为页面初始化的处理程序。

但是,我非常希望能够通过单击 RadDatePicker 并单击一天来选择一天。这是我的 RadDatePicker 的样子:

如果有人知道解决方案并决定与我分享(如果解决方案不是 hack,那么我会非常高兴)我会非常高兴。

提前谢谢你, 拉霍斯阿尔帕德。

【问题讨论】:

【参考方案1】:

RadDateTimePicker 替换为RadCalendar 是否需要大量工作?

RadCalendar 支持属性SelectionMode..

【讨论】:

我认为这需要大量的精力,但也许我可以找到一个通用的解决方案,但是,完全不能保证这对于这个项目是可能的或可行的,我们会必须考虑一下。我赞成你的回答,因为它分享了有用的信息(非常感谢你),但我不能接受它,因为它不是问题的解决方案,它提供了一种可能的替代方案。 嗯...你的答案可能很好,我会试试这个逻辑:CType(currentControl, RadDatePicker).Calendar.RangeSelectionMode = Telerik.Web.UI.Calendar.RangeSelectionMode.None 不,这没有帮助。我还尝试了以下属性:EnableRepeatableDaysOnClient 和 EnableMultiSelect(通过将它们设置为 false) 别无选择,只能在添加新选择之前清除任何选择的 javascript OnClientClick 事件..? 我希望有一个比你之前命令中提到的更优雅的选择,但我持怀疑态度。【参考方案2】:

您是否将SelectionMode 属性设置为Single

【讨论】:

我没有看到 RadDatePicker 实例的 SelectionMode 属性。我怎样才能访问它?【参考方案3】:

解决方案:

    Sys.Application.add_load(function () 
        $(".RadCalendar.RadCalendar_Default .rcPrev").each(function ()  $(this).click(); );
    );

【讨论】:

以上是关于RadGrid 中的 RadDatePicker的主要内容,如果未能解决你的问题,请参考以下文章

RadGrid 中的 RadDatePicker

获取 Telerik RadGrid 的行

Radgrid VS Gridview - SQL 查询比较

RadGrid中第二列的扩展选项

如何确定导致Telerik RadGrid错误System.InvalidCastException的原因

Telerik ASP.NET Ajax RadGrid 在 MVC 和 ViewState 中?