問題應該是自我解釋。我有一個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,並非所有的語言都支持它等,可以僅用於上面的驗證目的嗎?
'dgv.Columns [I] .ValueType' ...? – BoltClock 2012-01-08 15:25:50
@BoltClock你的意思是? – nawfal 2012-01-08 15:27:48
CLS遵從性只對公共類有影響,這是用另一種語言編寫的代碼可以使用的類型。顯然這不適用於私人控制。 – 2012-01-08 15:47:06