2012-01-08 58 views
1

問題應該是自我解釋。我有一個datagridview有一個列的單元格應該只接受正整數在用戶輸入。如何將valuetype設置爲正整數?

所以,我怎麼能設置是這樣的:

  dgv.Columns[i].ValueType = typeof(int > 0); 

當然我可以在cellValueChanged事件處理單獨的驗證。但是,因爲我已經全部驗證在DataError事件自動處理(因爲我設置VALUETYPE爲每列),我想我上面的驗證,在這裏處理

private void dgv_DataError(object sender, DataGridViewDataErrorEventArgs e) 
    { 
     // not fair.. 
     e.Cancel = true; 
    } 

如何?

更新:由於我聽到很多關於uint(正如其中一個答案所提議的)的否定,就像uints不符合CLS,並非所有的語言都支持它等,可以僅用於上面的驗證目的嗎?

+0

'dgv.Columns [I] .ValueType' ...? – BoltClock 2012-01-08 15:25:50

+0

@BoltClock你的意思是? – nawfal 2012-01-08 15:27:48

+0

CLS遵從性只對公共類有影響,這是用另一種語言編寫的代碼可以使用的類型。顯然這不適用於私人控制。 – 2012-01-08 15:47:06

回答

3

問題的上部應該很容易解決這樣的:

dgv.Columns[i].ValueType = typeof(uint); 

下部我不明白的。

+0

它確定您不明白,對問題不重要。但是我聽到很多關於uint的消極情緒。僅用於驗證目的可以使用嗎? – nawfal 2012-01-08 15:39:40

2

申報UINT型變量最小UINT的

是0

maximun OD UINT是4294967295

相關問題