Beste Tweakers,
Ik ben bezig een met het parse van data in een datagridview. Ik wil dat er een error/warning komt wanneer een user meer dan 4 digits opgeeft. Ik heb iets dat werkt:
Zoals je ziet wordt er al gebruik gemaakt van het dataerror event als het parse van een <= 4 digit getal mis gaat.
Nu wil ik het zo maken dat mijn groter dan 4 digits warning ook in dit event komt (kan dat?).
Ik kan op google alleen voorbeelden vinden van het afhandelen van het event.
Ik heb al geprobeerd FormatException te gooien op de plek waar nu de message box staat.
Dat werkt helaas niet. Weet iemand of het uberhaubt kan en zo ja heeft iemand een linkje waar ik meer info kan vinden?
Ik ben bezig een met het parse van data in een datagridview. Ik wil dat er een error/warning komt wanneer een user meer dan 4 digits opgeeft. Ik heb iets dat werkt:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| private void DataGridViewBlockParametersCellParsing(object sender, DataGridViewCellParsingEventArgs e) { if (dataGridViewBlockParameters.Columns[e.ColumnIndex].Name == "ParamHexColumn") { // Convert user input to Hexadecimal if (e.Value != null) //&& e.DesiredType.Equals(typeof(UInt16)) { try { if (e.Value.ToString().Length <= 4) { e.Value = UInt16.Parse(e.Value.ToString(), System.Globalization.NumberStyles.AllowHexSpecifier); e.ParsingApplied = true; editCancelled = false; } else { MessageBox.Show("Hexadecimal values cannot be longer than 4 digits.", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning); e.Value = previousCellValue; editCancelled = true; } } catch { // Input was not Hexadecimal // Will be caught in dataGridViewBlockParameters_DataError event } } } } |
Zoals je ziet wordt er al gebruik gemaakt van het dataerror event als het parse van een <= 4 digit getal mis gaat.
Nu wil ik het zo maken dat mijn groter dan 4 digits warning ook in dit event komt (kan dat?).
Ik kan op google alleen voorbeelden vinden van het afhandelen van het event.
Ik heb al geprobeerd FormatException te gooien op de plek waar nu de message box staat.
C#:
1
| throw new FormatException("Hexadecimal values cannot be longer than 4 digits."); |
Dat werkt helaas niet. Weet iemand of het uberhaubt kan en zo ja heeft iemand een linkje waar ik meer info kan vinden?