c#
  • asp.net
  • gridview
  • 2010-08-12 2 views 0 likes 
    0

    Я разработал GridView в том, что один из моего шаблона поля будет какКак сравнить разницу даты в GridView текстового поля

    <asp:TemplateField> 
        <ItemTemplate> 
         <asp:Label ID="lblTrialPeriodEnds" runat="server" 
          Text='<%# Eval("trialPeriodEnds","{0:dd/MM/yyyy}") %>' 
          Width="61px"></asp:Label> 
        </ItemTemplate> 
        <HeaderTemplate> 
         TrialPeriodEnds 
        </HeaderTemplate> 
        <EditItemTemplate> 
         <asp:TextBox Id="txtRenew" runat="server" 
          Text='<%# Eval("trialPeriodEnds","{0:dd/MM/yyyy}") %>' 
          Width="61px" /> 
        </EditItemTemplate> 
    </asp:TemplateField> 
    

    Теперь то, что мне нужно будет у меня будет всплывающее календарь после текста когда я нажимаю на редактирование. Если я выбираю больший срок, чем дата существует в текстовом поле, я хотел бы установить мой столбец базы данных Да ..

    Любой идею, пожалуйста ....

    +0

    Я полагаю, что управление календарем, которое вы используете, не имеет обратной передачи? – 2010-08-12 08:39:26

    +0

    Итак, вы хотите поймать событие календаря? Вы используете управление календарем asp.net? – CoderHawk

    +0

    Я использую javascript для всплытия календаря – Dotnet

    ответ

    1

    Вы можете конвертировать текст из текстового поля в DateTime объект и использовать методы класса DateTime или просто вычесть два объекта DateTime, которые предоставят вам объекты TimeSpan. Затем вы можете сравнить даты в соответствии с вашими требованиями.

    +0

    Средство изначально мне нужно сохранить значение даты в строке, а затем я должен правильно сравнить .. – Dotnet

    +0

    @Dorababu. Да, сначала вам нужно сохранить текст в строке. Например, string dateString = txtDate.Text; DateTime time = DateTime.Parse (dateString); Примечание: вам нужно добавить код обработки исключений, потому что если метод Parse() не работает, он будет генерировать исключение. – Shekhar

    0

    Устранение всплывающих окон использует скрипты на стороне клиента и не вызывает ответ. Вот краткое решение вашего вопроса.
    1. Добавьте скрытое поле на свою страницу. Убедитесь, что вы включили runat = "server", чтобы вы могли получить доступ к нему в своем коде.

    2.Create функция, которая будет вызываться всякий раз, когда календарь Дата щелкают

    Function CompareDate(str CalendarDate) 
    { 
    var Date1 = new Date($("txtRenew").Text); 
    var Date2 = new Date(CalendarDate); 
    
    if (Date2 > Date1) 
    { 
        $("#hdnValue").value = "Yes"; 
    } 
    else 
    { 
        $("#hdnValue").value = "No"; 
    } 
    } 
    

    3. Получение hdnValue из кода позади.

    В календаре должно быть событие DateChanged, которое вы также можете добавить в эту функцию.

    Смежные вопросы