2012-04-02 3 views

Antwort

1

Nun, Sie müssen wissen, dass standardmäßig ASPxTimeEdit dies nicht erlaubt. Der zuvor vorgeschlagene Ansatz ist eine Art "Hack". Das aktuelle Problem wird durch die Tatsache verursacht, dass ASPxTimeEdit eine interne Inc/Dec-Aktion entsprechend der aktuellen Caret-Position (Stunden, Sekunden, Tage) ausführt. Sie können diese Aktion auf dem clientseitigen ButtonClick-Ereignis nicht ordnungsgemäß abbrechen, da dieses Ereignis ausgelöst wird, bevor eine interne Aktion ausgeführt wird.

Eine mögliche Lösung für dieses Problem besteht darin, standardmäßige Drehschaltflächen auszublenden (SpinButtons.ShowIncrementButtons = "false") und benutzerdefinierte Schaltflächen mit der erforderlichen Logik zu erstellen. beziehen Sie sich auf diesen Link http://www.devexpress.com/Support/Center/p/B200804.aspx

1
function ApplySeed(s,e) { 
    var date = s.GetDate(); 
    var minutes = date.getMinutes(); 
    var hours = date.getHours(); 
    var inputElement = s.GetInputElement(); 

    if (inputElement.selectionStart == 3 && inputElement.selectionEnd == 6) { 
     date.setMinutes(minutes + 10); \\if user in minute portion 
    } 
    if (inputElement.selectionEnd == 3 && inputElement.selectionStart == 0) { 
     date.setHours(hours + 1); \\if user in hour portion 
    } 

    s.SetDate(date); 
}