Форум

Data.BG Форуми: Намиране на разлика между две дати и поставяне на резултата в IntegerUpDown поле - WPF - Data.BG Форуми

Прехвърляне към съдържание

Страница 1 от 1
  • Вие не можете да започнете нова тема
  • Вие не може да отговаряте на тази тема

Намиране на разлика между две дати и поставяне на резултата в IntegerUpDown поле - WPF /ако темата не е за този раздел, моля да я преместите/

#1
Потребителят е неактивен   slav4eto95 

  • Група: Потребители
  • Мнения: 107
  • Регистриран: 30-November 14
  • Репутация: 5
  • Пол:Жена
  • Град:Варна
Здравейте,

Правя приложение чрез WPF и в един от прозорците имам два date picker-a и едно IntegerUpDown поле.
Искам да променя стойността в това поле според разликата между двете дати (разликата трябва да е в дни).
Например, в първия date picker избера 3-ти септември 2017, а във втория - 6-ти септември 2017. Разликата е 3 и искам при натискането на втората дата, в третото поле да се изпише 3.
Пробвах няколко варианта, но всичките бяха без успех.
С Windows Forms знам как става, но тук явно нещо ми убягва :JC_thinking:

Това е кодът, който имам ->
public void ChangeNumberOfNights()
        {
            DateTime dtDateCheckIn = dtpCheckIn.SelectedDate.Value.Date;
            DateTime dtDateCheckOut = dtpCheckOut.SelectedDate.Value.Date;
            TimeSpan difference = dtDateCheckOut.Subtract(dtDateCheckIn);
            nudNumberOfNights.Value = difference.Days;
        }

След това функцията съм я сложила в метода SelectedDateChanged() на двата date picker-а.

Ако някой се е занимавал с WPF, би ли ударил едно рамо? Ще бъда много благодарна.
0

#2
Потребителят е активен   nakibest 

  • Mr. Company PC Guy
  • Група: Потребители
  • Мнения: 20642
  • Регистриран: 26-December 02
  • Репутация: 2442
  • Пол:Мъж
  • Град:Ботевград
  • Интереси:tennis, VB, C++ Builder, Win32 API
Кой тип ти е това "трето поле" - какъв контрол?
Виж дали така няма да стане:
https://stackoverflo...-datetimepicker

По-точно --
TimeSpan difference = dtDateCheckOut.Subtract(dtDateCheckIn); <-- това го махни.
И го замени със: TimeSpan difference = датата на единият контрол - датата на другия;
Ако разликата се окаже отрицателна (стойност под 0), умножаваш по -1.

Мнението беше редактирано от nakibest: 03.09.17 - 23:34

Публикувано изображениеПубликувано изображение
Публикувано изображениеПубликувано изображение
0

#3
Потребителят е неактивен   slav4eto95 

  • Група: Потребители
  • Мнения: 107
  • Регистриран: 30-November 14
  • Репутация: 5
  • Пол:Жена
  • Град:Варна

Преглед на мнениеnakibest, на 03.09.17 - 22:54, каза:

Кой тип ти е това "трето поле" - какъв контрол?
Виж дали така няма да стане:
https://stackoverflo...-datetimepicker

По-точно --
TimeSpan difference = dtDateCheckOut.Subtract(dtDateCheckIn); <-- това го махни.
И го замени със: TimeSpan difference = датата на единият контрол - датата на другия;
Ако разликата се окаже отрицателна (стойност под 0), умножаваш по -1.


Третото поле е IntegerUpDown (подобно на NumericUpDown в WinForms).
Сегашният ми код е този ->
public void ChangeNumberOfNights()
        {
            DateTime dtDateCheckIn = dtpCheckIn.DisplayDate.Date;
            DateTime dtDateCheckOut = dtpCheckOut.DisplayDate.Date;
            TimeSpan difference = dtDateCheckOut - dtDateCheckIn;
            int days = difference.Days;
            if (days < 0)
            {
                days *= -1;
            }
            nudNumberOfNights.Value = difference.Days;
        }

Но отново полето, в което трябва да се запише резултата, не се променя :sad:
0

Споделете тази тема чрез:


Страница 1 от 1
  • Вие не можете да започнете нова тема
  • Вие не може да отговаряте на тази тема

1 потребители четат тази тема
0 регистрирани потребители, 1 гости и 0 анонимни потребители


Data.BG e форум за дискусии. Data.BG не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Data.BG.

Close  Member Login