【问题标题】:Kendo calendar only for reading剑道日历仅供阅读
【发布时间】:2017-10-17 08:17:22
【问题描述】:

在项目中,我想使用一个只会提供信息的日历。它将显示可以进行预订的日期以及已经进行预订的日期。

但我需要做只读的圣杯,不能选择日期 - 所以它是不可点击的。

 @{ 
                var orderDateInfos = Model.CarOrders;
                List<DateTime> list = new List<DateTime>();
                foreach(var orderInfo in orderDateInfos)
                {
                    foreach(var ordersDate in orderInfo.OrderDays)
                    {
                        list.Add(ordersDate);
                    }
                }
            }
            @(Html.Kendo().Calendar()
            .Name("availableCalendar")
            .Selectable("multiple")
            .SelectDates(list)
            .Value(Model.CarOrders.First().RentStartDate)
            )

【问题讨论】:

    标签: c# razor kendo-asp.net-mvc


    【解决方案1】:

    从我在剑道文档中看到的内容来看,它只允许禁用日期而不是只读或禁用整个日历。 从站点http://demos.telerik.com/aspnet-mvc/calendar/disable-dates 我可能会尝试将true(没有任何额外的逻辑)返回到函数disableDates。 这样一来,所有的日子都可能被禁用。 但是,以这种方式选择的日期不会显示为已选择,因此您可以根据 aria-selected="true" 添加 css 规则,这似乎是所选日期的指标。

    所以一步一步,一种可能的解决方案可能是:

    为 disableDates 属性添加一个函数

    .DisableDates("disableAllDates")
    

    将您的函数设置为在所有情况下都返回 true

    function disableAllDates(){
        return true;
    }
    

    并为 td[aria-selected="true"] 添加一些 css。例如

    td[aria-selected="true"] {
        background: red;
    }
    

    【讨论】:

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