- Timestamp:
- 01/25/10 02:34:23 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Data.Views/3.3/StringConvertibleArrayDataView.cs
r2669 r2676 43 43 InitializeComponent(); 44 44 Caption = "StringConvertibleArrayDataView View"; 45 errorProvider.SetIconAlignment(sizeTextBox, ErrorIconAlignment.MiddleLeft); 46 errorProvider.SetIconPadding(sizeTextBox, 2); 45 47 } 46 48 public StringConvertibleArrayDataView(IStringConvertibleArrayData stringConvertibleArrayData) … … 51 53 protected override void DeregisterObjectEvents() { 52 54 StringConvertibleArrayData.ItemChanged -= new EventHandler<EventArgs<int>>(StringConvertibleArrayData_ItemChanged); 53 StringConvertibleArrayData. Changed -= new ChangedEventHandler(StringConvertibleArrayData_Changed);55 StringConvertibleArrayData.Reset -= new EventHandler(StringConvertibleArrayData_Reset); 54 56 base.DeregisterObjectEvents(); 55 57 } … … 59 61 base.RegisterObjectEvents(); 60 62 StringConvertibleArrayData.ItemChanged += new EventHandler<EventArgs<int>>(StringConvertibleArrayData_ItemChanged); 61 StringConvertibleArrayData. Changed += new ChangedEventHandler(StringConvertibleArrayData_Changed);63 StringConvertibleArrayData.Reset += new EventHandler(StringConvertibleArrayData_Reset); 62 64 } 63 65 … … 80 82 sizeTextBox.Enabled = true; 81 83 dataGridView.Rows.Clear(); 82 if (StringConvertibleArrayData.Length > 0) { 83 dataGridView.ColumnCount = 1; 84 dataGridView.Rows.Add(StringConvertibleArrayData.Length); 85 } 84 dataGridView.ColumnCount = 1; 85 dataGridView.RowCount = StringConvertibleArrayData.Length; 86 86 for (int i = 0; i < StringConvertibleArrayData.Length; i++) 87 87 dataGridView.Rows[i].Cells[0].Value = StringConvertibleArrayData.GetValue(i); … … 95 95 dataGridView.Rows[e.Value].Cells[0].Value = StringConvertibleArrayData.GetValue(e.Value); 96 96 } 97 private void StringConvertibleArrayData_ Changed(object sender, ChangedEventArgs e) {97 private void StringConvertibleArrayData_Reset(object sender, EventArgs e) { 98 98 if (InvokeRequired) 99 Invoke(new ChangedEventHandler(StringConvertibleArrayData_Changed), sender, e);99 Invoke(new EventHandler(StringConvertibleArrayData_Reset), sender, e); 100 100 else 101 101 UpdateContent(); … … 104 104 private void sizeTextBox_Validating(object sender, CancelEventArgs e) { 105 105 int i = 0; 106 e.Cancel = e.Cancel || !int.TryParse(sizeTextBox.Text, out i); 107 e.Cancel = e.Cancel || (i < 0); 108 if (e.Cancel) { 109 MessageBox.Show(this, "\"" + sizeTextBox.Text + "\" is not a valid array length.", "Invalid Array Length", MessageBoxButtons.OK, MessageBoxIcon.Error); 106 if (!int.TryParse(sizeTextBox.Text, out i) || (i < 0)) { 107 e.Cancel = true; 108 errorProvider.SetError(sizeTextBox, "Invalid Array Length"); 110 109 sizeTextBox.SelectAll(); 111 sizeTextBox.Focus();112 110 } 113 111 } 114 112 private void sizeTextBox_Validated(object sender, EventArgs e) { 115 113 StringConvertibleArrayData.Length = int.Parse(sizeTextBox.Text); 114 errorProvider.SetError(sizeTextBox, string.Empty); 116 115 } 117 116 private void sizeTextBox_KeyDown(object sender, KeyEventArgs e) { 118 117 if (e.KeyCode == Keys.Enter || e.KeyCode == Keys.Return) 119 sizeLabel.Focus(); 118 sizeLabel.Focus(); // set focus on label to validate data 119 if (e.KeyCode == Keys.Escape) { 120 sizeTextBox.Text = StringConvertibleArrayData.Length.ToString(); 121 sizeLabel.Focus(); // set focus on label to validate data 122 } 120 123 } 121 124 private void dataGridView_CellValidating(object sender, DataGridViewCellValidatingEventArgs e) { 122 e.Cancel = e.Cancel || !StringConvertibleArrayData.SetValue(e.FormattedValue.ToString(), e.RowIndex); 123 if (e.Cancel) 124 MessageBox.Show(this, "\"" + e.FormattedValue.ToString() + "\" is not a valid value.", "Invalid Value", MessageBoxButtons.OK, MessageBoxIcon.Error); 125 if (!StringConvertibleArrayData.Validate(e.FormattedValue.ToString())) { 126 e.Cancel = true; 127 dataGridView.Rows[e.RowIndex].ErrorText = "Invalid Value"; 128 } 125 129 } 126 private void dataGridView_CellValidated(object sender, DataGridViewCellEventArgs e) { 127 dataGridView.Rows[e.RowIndex].Cells[0].Value = StringConvertibleArrayData.GetValue(e.RowIndex); 130 private void dataGridView_CellParsing(object sender, DataGridViewCellParsingEventArgs e) { 131 string value = e.Value.ToString(); 132 e.ParsingApplied = StringConvertibleArrayData.SetValue(value, e.RowIndex); 133 if (e.ParsingApplied) e.Value = StringConvertibleArrayData.GetValue(e.RowIndex); 134 } 135 private void dataGridView_CellEndEdit(object sender, DataGridViewCellEventArgs e) { 136 dataGridView.Rows[e.RowIndex].ErrorText = string.Empty; 128 137 } 129 138 }
Note: See TracChangeset
for help on using the changeset viewer.