привязка к списку кортежей

У меня есть список кортежей, объединяющих две части данных ... Я бы хотел привязать список к сетке данных. Для отображения он работает нормально ... но если я пытаюсь изменить запись, он говорит: «Привязка TwoWay или OneWayToSource не может работать с доступным только для чтения свойством 'Item1'» ... предположительно В .NET 4.0 кортежи неизменяемы. поэтому поле извлечения обновляется до 31 января на основе минимальных 2592000 секунд (30 дней), полученных через ajax. Но затем я передумал и решил заехать 31 декабря, так что это должно позволить мне изменить дату заезда на более раннюю и автоматически обновить дату выезда на 30 января.

Ниже мой код с закомментированным битом, который почти достигает того, что я хочу, за исключением того, что он не позволяет изменять более ранние даты, и я не уверен, как ограничить дату выезда минимальным периодом с момента регистрации. Данные, полученные через ajax, также имеют периоды доступности, поэтому календарь показывает доступные дни как доступные для выбора, а уже забронированные дни как недоступные для выбора. Эта часть работает нормально. Есть ли предложения для части, которая этого не делает?

$.ajax({
        url: "/ping/availability.php",
        data: "pid="+$('#pid').text(),
        dataType: "json",
        success: function(calendarEvents){
            var dates = $("#checkin, #checkout").datepicker({
                changeMonth: true,
                numberOfMonths: 1,
                /*onSelect: function(selectedDate) {
                    var option = this.id == "checkin" ? "minDate" : "maxDate";
                    var instance = $(this).data("datepicker");
                    var date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings);
                    dates.not(this).datepicker("option", option, date);
                },*/
                dateFormat: 'M d, yy',
                beforeShowDay: function (date){
                    for (i = 0; i < calendarEvents.length; i++) {
                        var b,e,c;
                        b = Date.parse(calendarEvents[i]['from']);
                        e = Date.parse(calendarEvents[i]['to']);
                        c = Date.parse(date);
                        if((c <= e && c >= b)) {
                            return [true,"ui-state-notbooked"];
                        }
                    }
                    return [false, "ui-state-booked"];//disable all other days
                }
            });
        }
    });

Пример данных ajax, показывающих доступный период и минимальную продолжительность бронирования в секундах:

[{"from":"Tue, 01 Feb 2011 00:00:00 -0800","to":"Fri, 30 Sep 2011 00:00:00 -0700","min":7776000}]
1
задан Fo. 25 October 2010 в 18:48
поделиться