2013-08-21 47 views
1

我有一個來自Devexpress的自旋編輯,我想要做的是將其值設置爲只顯示年份月份值,格式爲YYYYMM。我有代碼來做到這一點,但我想知道是否可以用旋轉編輯的屬性來做到這一點。我遇到的問題是,當它到201212年,你增加它應該去201301,但因爲它只是去201213.從201301到201299反向發生。我會舉例說明代碼,讓你可以看到它是如何工作的,但我想知道這是否可以使用spinEdit的屬性來完成。自旋編輯顯示具體的值

private void spDate_EditValueChanged(object sender, EventArgs e) 
    { 
     spDate.Properties.EditValueChangedFiringMode = DevExpress.XtraEditors.Controls.EditValueChangedFiringMode.Default; 
     int year = Convert.ToInt32(Math.Floor(spDate.Value/100)); 
     int month = Convert.ToInt32(spDate.Value - (year * 100)); 

     if (month > 12) { month = 1; year += 1; } 
     if (month < 1) { month = 12; year -= 1; } 

     spDate.Value = (year * 100) + (month); 
    } 

顯然是第一行手動設置與性能否則其一個小馬車,但我加了它在那裏,所以你可以看到預先設置的屬性。

非常感謝

回答

0

我認爲你必須使用編輯器的面具。你試圖展示的顯然是一個日期。試着看看here

+0

它是一個日期,但以這種格式yyyyMM,據我所見,它是一種工作,但它不檢查有效的月份值,並刪除當前顯示的值。當我點擊向上箭頭時,我看不到我輸入的內容,我可以去201313,這是不對的。我需要檢查以及面具。 –