Ich möchte die inkrementellen für Stunden und Minuten ändern, indem Sie auf den Stunden-/Minuten-Textabschnitt klicken und auf die Drehschaltfläche klicken, um die Stunde/Minute zu erhöhen bzw. zu verringern.Devexpress TimeEditControl: Wie erhalten ausgewählte Teil der Stunde oder Minute in der Steuerung?
Devexpress TimeEditControl: Wie erhalten ausgewählte Teil der Stunde oder Minute in der Steuerung?
Antwort
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
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);
}