Changeset 16862
- Timestamp:
- 04/23/19 10:21:59 (6 years ago)
- Location:
- branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis.Views/3.4
- Files:
-
- 1 added
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis.Views/3.4/HeuristicLab.Problems.DataAnalysis.Views-3.4.csproj
r16830 r16862 618 618 <DependentUpon>AbstractFeatureCorrelationView.cs</DependentUpon> 619 619 </EmbeddedResource> 620 <EmbeddedResource Include="IntervalConstraintView.resx"> 621 <DependentUpon>IntervalConstraintView.cs</DependentUpon> 622 </EmbeddedResource> 620 623 </ItemGroup> 621 624 <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> -
branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis.Views/3.4/IntervalConstraintView.Designer.cs
r16830 r16862 50 50 this.incllowerboundLabel = new System.Windows.Forms.Label(); 51 51 this.inclupperboundLabel = new System.Windows.Forms.Label(); 52 this.isderivationLabel = new System.Windows.Forms.Label();53 52 this.variableLabel = new System.Windows.Forms.Label(); 54 53 this.numberderivationLabel = new System.Windows.Forms.Label(); … … 58 57 this.variableInput = new System.Windows.Forms.TextBox(); 59 58 this.groupBox1 = new System.Windows.Forms.GroupBox(); 59 this.label1 = new System.Windows.Forms.Label(); 60 60 this.numberderivationInput = new System.Windows.Forms.ComboBox(); 61 61 this.ischeckedCheckBox = new System.Windows.Forms.CheckBox(); … … 64 64 this.inclupperboundInput = new System.Windows.Forms.CheckBox(); 65 65 this.incllowerboundInput = new System.Windows.Forms.CheckBox(); 66 this.derivationInput = new System.Windows.Forms.CheckBox();67 66 this.errorProvider = new System.Windows.Forms.ErrorProvider(this.components); 68 67 this.groupBox1.SuspendLayout(); … … 73 72 // 74 73 this.definitionLabel.AutoSize = true; 75 this.definitionLabel.Location = new System.Drawing.Point(11, 45);74 this.definitionLabel.Location = new System.Drawing.Point(11, 72); 76 75 this.definitionLabel.Name = "definitionLabel"; 77 76 this.definitionLabel.Size = new System.Drawing.Size(54, 13); … … 82 81 // 83 82 this.lowerboundLabel.AutoSize = true; 84 this.lowerboundLabel.Location = new System.Drawing.Point(11, 71);83 this.lowerboundLabel.Location = new System.Drawing.Point(11, 98); 85 84 this.lowerboundLabel.Name = "lowerboundLabel"; 86 85 this.lowerboundLabel.Size = new System.Drawing.Size(69, 13); … … 91 90 // 92 91 this.upperboundLabel.AutoSize = true; 93 this.upperboundLabel.Location = new System.Drawing.Point(11, 96);92 this.upperboundLabel.Location = new System.Drawing.Point(11, 123); 94 93 this.upperboundLabel.Name = "upperboundLabel"; 95 94 this.upperboundLabel.Size = new System.Drawing.Size(69, 13); … … 100 99 // 101 100 this.incllowerboundLabel.AutoSize = true; 102 this.incllowerboundLabel.Location = new System.Drawing.Point(11, 1 22);101 this.incllowerboundLabel.Location = new System.Drawing.Point(11, 149); 103 102 this.incllowerboundLabel.Name = "incllowerboundLabel"; 104 103 this.incllowerboundLabel.Size = new System.Drawing.Size(92, 13); … … 109 108 // 110 109 this.inclupperboundLabel.AutoSize = true; 111 this.inclupperboundLabel.Location = new System.Drawing.Point(11, 1 47);110 this.inclupperboundLabel.Location = new System.Drawing.Point(11, 174); 112 111 this.inclupperboundLabel.Name = "inclupperboundLabel"; 113 112 this.inclupperboundLabel.Size = new System.Drawing.Size(92, 13); … … 115 114 this.inclupperboundLabel.Text = "Incl. Upperbound:"; 116 115 // 117 // isderivationLabel118 //119 this.isderivationLabel.AutoSize = true;120 this.isderivationLabel.Location = new System.Drawing.Point(11, 173);121 this.isderivationLabel.Name = "isderivationLabel";122 this.isderivationLabel.Size = new System.Drawing.Size(58, 13);123 this.isderivationLabel.TabIndex = 6;124 this.isderivationLabel.Text = "Derivation:";125 //126 116 // variableLabel 127 117 // 128 118 this.variableLabel.AutoSize = true; 129 this.variableLabel.Location = new System.Drawing.Point(11, 19 8);119 this.variableLabel.Location = new System.Drawing.Point(11, 199); 130 120 this.variableLabel.Name = "variableLabel"; 131 121 this.variableLabel.Size = new System.Drawing.Size(48, 13); … … 136 126 // 137 127 this.numberderivationLabel.AutoSize = true; 138 this.numberderivationLabel.Location = new System.Drawing.Point(11, 22 4);128 this.numberderivationLabel.Location = new System.Drawing.Point(11, 225); 139 129 this.numberderivationLabel.Name = "numberderivationLabel"; 140 130 this.numberderivationLabel.Size = new System.Drawing.Size(65, 13); … … 146 136 this.definitionInput.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 147 137 | System.Windows.Forms.AnchorStyles.Right))); 148 this.definitionInput.Location = new System.Drawing.Point(111, 42);138 this.definitionInput.Location = new System.Drawing.Point(111, 69); 149 139 this.definitionInput.Name = "definitionInput"; 150 140 this.definitionInput.Size = new System.Drawing.Size(473, 20); … … 155 145 this.upperboundInput.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 156 146 | System.Windows.Forms.AnchorStyles.Right))); 157 this.upperboundInput.Location = new System.Drawing.Point(111, 93);147 this.upperboundInput.Location = new System.Drawing.Point(111, 120); 158 148 this.upperboundInput.Name = "upperboundInput"; 159 149 this.upperboundInput.Size = new System.Drawing.Size(473, 20); … … 166 156 this.lowerboundInput.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 167 157 | System.Windows.Forms.AnchorStyles.Right))); 168 this.lowerboundInput.Location = new System.Drawing.Point(111, 68);158 this.lowerboundInput.Location = new System.Drawing.Point(111, 95); 169 159 this.lowerboundInput.Name = "lowerboundInput"; 170 160 this.lowerboundInput.Size = new System.Drawing.Size(473, 20); … … 177 167 this.variableInput.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 178 168 | System.Windows.Forms.AnchorStyles.Right))); 179 this.variableInput.Location = new System.Drawing.Point(111, 19 5);169 this.variableInput.Location = new System.Drawing.Point(111, 196); 180 170 this.variableInput.Name = "variableInput"; 181 171 this.variableInput.Size = new System.Drawing.Size(473, 20); … … 184 174 // groupBox1 185 175 // 176 this.groupBox1.Controls.Add(this.label1); 186 177 this.groupBox1.Controls.Add(this.numberderivationInput); 187 178 this.groupBox1.Controls.Add(this.ischeckedCheckBox); … … 190 181 this.groupBox1.Controls.Add(this.inclupperboundInput); 191 182 this.groupBox1.Controls.Add(this.incllowerboundInput); 192 this.groupBox1.Controls.Add(this.derivationInput);193 183 this.groupBox1.Controls.Add(this.variableInput); 194 184 this.groupBox1.Controls.Add(this.lowerboundInput); … … 197 187 this.groupBox1.Controls.Add(this.numberderivationLabel); 198 188 this.groupBox1.Controls.Add(this.variableLabel); 199 this.groupBox1.Controls.Add(this.isderivationLabel);200 189 this.groupBox1.Controls.Add(this.inclupperboundLabel); 201 190 this.groupBox1.Controls.Add(this.incllowerboundLabel); … … 211 200 this.groupBox1.Text = "Interval Constraints Detail"; 212 201 // 202 // label1 203 // 204 this.label1.AutoSize = true; 205 this.label1.Location = new System.Drawing.Point(11, 22); 206 this.label1.Name = "label1"; 207 this.label1.Size = new System.Drawing.Size(49, 13); 208 this.label1.TabIndex = 28; 209 this.label1.Text = "Enabled:"; 210 // 213 211 // numberderivationInput 214 212 // … … 216 214 | System.Windows.Forms.AnchorStyles.Right))); 217 215 this.numberderivationInput.FormattingEnabled = true; 218 this.numberderivationInput.Location = new System.Drawing.Point(111, 22 4);216 this.numberderivationInput.Location = new System.Drawing.Point(111, 225); 219 217 this.numberderivationInput.Name = "numberderivationInput"; 220 218 this.numberderivationInput.Size = new System.Drawing.Size(470, 21); … … 225 223 // 226 224 this.ischeckedCheckBox.AutoSize = true; 227 this.ischeckedCheckBox.Location = new System.Drawing.Point(1 4, 257);225 this.ischeckedCheckBox.Location = new System.Drawing.Point(111, 21); 228 226 this.ischeckedCheckBox.Name = "ischeckedCheckBox"; 229 this.ischeckedCheckBox.Size = new System.Drawing.Size( 65, 17);227 this.ischeckedCheckBox.Size = new System.Drawing.Size(15, 14); 230 228 this.ischeckedCheckBox.TabIndex = 26; 231 this.ischeckedCheckBox.Text = "Enabled";232 229 this.ischeckedCheckBox.UseVisualStyleBackColor = true; 233 230 this.ischeckedCheckBox.CheckedChanged += new System.EventHandler(this.ischeckedCheckBox_CheckedChanged); … … 237 234 this.expressionInput.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 238 235 | System.Windows.Forms.AnchorStyles.Right))); 239 this.expressionInput.Location = new System.Drawing.Point(111, 17);236 this.expressionInput.Location = new System.Drawing.Point(111, 44); 240 237 this.expressionInput.Name = "expressionInput"; 241 238 this.expressionInput.Size = new System.Drawing.Size(473, 20); … … 245 242 // 246 243 this.expressionLabel.AutoSize = true; 247 this.expressionLabel.Location = new System.Drawing.Point(11, 20);244 this.expressionLabel.Location = new System.Drawing.Point(11, 47); 248 245 this.expressionLabel.Name = "expressionLabel"; 249 246 this.expressionLabel.Size = new System.Drawing.Size(61, 13); … … 254 251 // 255 252 this.inclupperboundInput.AutoSize = true; 256 this.inclupperboundInput.Location = new System.Drawing.Point(111, 1 46);253 this.inclupperboundInput.Location = new System.Drawing.Point(111, 173); 257 254 this.inclupperboundInput.Name = "inclupperboundInput"; 258 255 this.inclupperboundInput.Size = new System.Drawing.Size(15, 14); … … 264 261 // 265 262 this.incllowerboundInput.AutoSize = true; 266 this.incllowerboundInput.Location = new System.Drawing.Point(111, 1 22);263 this.incllowerboundInput.Location = new System.Drawing.Point(111, 149); 267 264 this.incllowerboundInput.Name = "incllowerboundInput"; 268 265 this.incllowerboundInput.Size = new System.Drawing.Size(15, 14); … … 270 267 this.incllowerboundInput.UseVisualStyleBackColor = true; 271 268 this.incllowerboundInput.CheckedChanged += new System.EventHandler(this.incllowerboundInput_CheckedChanged); 272 //273 // derivationInput274 //275 this.derivationInput.AutoSize = true;276 this.derivationInput.Location = new System.Drawing.Point(111, 173);277 this.derivationInput.Name = "derivationInput";278 this.derivationInput.Size = new System.Drawing.Size(15, 14);279 this.derivationInput.TabIndex = 21;280 this.derivationInput.UseVisualStyleBackColor = true;281 269 // 282 270 // errorProvider … … 304 292 private System.Windows.Forms.Label incllowerboundLabel; 305 293 private System.Windows.Forms.Label inclupperboundLabel; 306 private System.Windows.Forms.Label isderivationLabel;307 294 private System.Windows.Forms.Label variableLabel; 308 295 private System.Windows.Forms.Label numberderivationLabel; … … 312 299 private System.Windows.Forms.TextBox variableInput; 313 300 private System.Windows.Forms.GroupBox groupBox1; 314 private System.Windows.Forms.CheckBox derivationInput;315 301 private System.Windows.Forms.CheckBox inclupperboundInput; 316 302 private System.Windows.Forms.CheckBox incllowerboundInput; … … 320 306 private System.Windows.Forms.CheckBox ischeckedCheckBox; 321 307 private System.Windows.Forms.ComboBox numberderivationInput; 308 private System.Windows.Forms.Label label1; 322 309 } 323 310 } -
branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis.Views/3.4/IntervalConstraintView.cs
r16830 r16862 29 29 [View("Interval Constraint Detail View")] 30 30 [Content(typeof(IntervalConstraint), true)] 31 public partial class IntervalConstraintView : ItemView {31 public sealed partial class IntervalConstraintView : ItemView { 32 32 33 33 public new IntervalConstraint Content { … … 41 41 expressionInput.ReadOnly = true; 42 42 definitionInput.ReadOnly = true; 43 derivationInput.Enabled = false;44 derivationInput.Checked = false;45 43 numberderivationInput.DataSource = items; 46 44 } … … 57 55 58 56 protected override void DeregisterContentEvents() { 57 Content.Changed -= new EventHandler(Content_Changed); 59 58 base.DeregisterContentEvents(); 60 Content.Changed -= new EventHandler(Content_Changed);61 59 } 62 60 63 61 protected override void SetEnabledStateOfControls() { 64 62 base.SetEnabledStateOfControls(); 65 lowerboundInput.Enabled = Content != null && !Locked; 63 lowerboundInput.Enabled = Content != null && !Locked && !ReadOnly; 64 upperboundInput.Enabled = Content != null && !Locked && !ReadOnly; 65 expressionInput.Enabled = Content != null && !Locked && !ReadOnly; 66 definitionInput.Enabled = Content != null && !Locked && !ReadOnly; 67 definitionInput.ReadOnly = true; 68 expressionInput.ReadOnly = true; 66 69 } 67 70 … … 70 73 #region helpers 71 74 72 private double ParseDoubleValue(string input, Control control) {75 private static double ParseDoubleValue(string input, Control control, ErrorProvider errorProvider) { 73 76 input = input.ToLower(); 74 77 switch (input) { … … 81 84 return double.NegativeInfinity; 82 85 default: { 83 if (double.TryParse(input, NumberStyles.Any, CultureInfo.InvariantCulture,out var value))86 if (double.TryParse(input, out var value)) 84 87 return value; 85 88 else { … … 98 101 incllowerboundInput.Checked = true; 99 102 inclupperboundInput.Checked = true; 103 return; 104 } 105 106 expressionInput.Text = Content.Expression; 107 definitionInput.Text = Content.Definition; 108 lowerboundInput.Text = Content.Interval.LowerBound.ToString(); 109 upperboundInput.Text = Content.Interval.UpperBound.ToString(); 110 incllowerboundInput.Checked = Content.InclusiveLowerBound; 111 inclupperboundInput.Checked = Content.InclusiveUpperBound; 112 variableInput.Text = Content.Variable; 113 if (!Content.IsDerivation) { 114 numberderivationInput.Visible = false; 115 numberderivationLabel.Visible = false; 100 116 } else { 101 expressionInput.Text = Content.Expression; 102 definitionInput.Text = Content.Definition; 103 lowerboundInput.Text = Content.Interval.LowerBound.ToString(CultureInfo.InvariantCulture); 104 upperboundInput.Text = Content.Interval.UpperBound.ToString(CultureInfo.InvariantCulture); 105 incllowerboundInput.Checked = Content.InclusiveLowerBound; 106 inclupperboundInput.Checked = Content.InclusiveUpperBound; 107 derivationInput.Checked = Content.IsDerivation; 108 variableInput.Text = Content.Variable; 109 if (!Content.IsDerivation) { 110 numberderivationInput.Enabled = false; 111 } else { 112 numberderivationInput.Enabled = true; 113 numberderivationInput.SelectedItem = Content.NumberOfDerivation; 114 } 115 116 ischeckedCheckBox.Checked = Content.Enabled; 117 } 118 SetEnabledStateOfControls(); 117 numberderivationLabel.Visible = true; 118 numberderivationInput.Visible = true; 119 numberderivationInput.Enabled = true; 120 numberderivationInput.SelectedItem = Content.NumberOfDerivation; 121 } 122 123 ischeckedCheckBox.Checked = Content.Enabled; 119 124 } 120 125 … … 136 141 constraint.Interval.UpperBound, 137 142 (constraint.InclusiveUpperBound) ? "]" : "[", 138 PrintNumberOfDerivation(constraint.numberOfDerivation),139 PrintNumberOfDerivation(constraint.numberOfDerivation));143 GetDerivationString(constraint.numberOfDerivation), 144 GetDerivationString(constraint.numberOfDerivation)); 140 145 } 141 146 … … 143 148 } 144 149 145 private static string PrintNumberOfDerivation(int derivation) {150 private static string GetDerivationString(int derivation) { 146 151 switch (derivation) { 147 152 case 1: … … 160 165 #region control event handlers 161 166 private void lowerboundInput_Validating(object sender, CancelEventArgs e) { 162 var value = ParseDoubleValue(lowerboundInput.Text, lowerboundInput );167 var value = ParseDoubleValue(lowerboundInput.Text, lowerboundInput, this.errorProvider); 163 168 if (double.IsNaN(value)) { 164 169 errorProvider.SetError(lowerboundInput, "Invalid Input: Lowerbound must be a double value!"); … … 178 183 179 184 private void lowerboundInput_Validated(object sender, EventArgs e) { 180 var value = ParseDoubleValue(lowerboundInput.Text, lowerboundInput );185 var value = ParseDoubleValue(lowerboundInput.Text, lowerboundInput, this.errorProvider); 181 186 if (!double.IsNaN(value)) { 182 187 Content.Interval = new Interval(value, Content.Interval.UpperBound); … … 188 193 189 194 private void upperboundInput_Validating(object sender, CancelEventArgs e) { 190 var value = ParseDoubleValue(upperboundInput.Text, upperboundInput );195 var value = ParseDoubleValue(upperboundInput.Text, upperboundInput, this.errorProvider); 191 196 if (double.IsNaN(value)) { 192 197 errorProvider.SetError(upperboundInput, "Invalid Input: Upperbound must be a double value!"); … … 206 211 207 212 private void upperboundInput_Validated(object sender, EventArgs e) { 208 var value = ParseDoubleValue(upperboundInput.Text, upperboundInput );213 var value = ParseDoubleValue(upperboundInput.Text, upperboundInput, this.errorProvider); 209 214 if (!double.IsNaN(value)) { 210 215 Content.Interval = new Interval(Content.Interval.LowerBound, value); … … 216 221 217 222 private void incllowerboundInput_CheckedChanged(object sender, EventArgs e) { 218 if (Content.InclusiveLowerBound != incllowerboundInput.Checked) {219 223 Content.InclusiveLowerBound = incllowerboundInput.Checked; 220 224 var exp = UpdateExpression(Content); 221 225 Content.Name = exp; 222 226 Content.Expression = exp; 223 }224 225 226 227 } 227 228 228 229 private void inclupperboundInput_CheckedChanged(object sender, EventArgs e) { 229 if (Content.InclusiveUpperBound != inclupperboundInput.Checked) {230 230 Content.InclusiveUpperBound = inclupperboundInput.Checked; 231 231 var exp = UpdateExpression(Content); 232 232 Content.Name = exp; 233 233 Content.Expression = exp; 234 }235 234 } 236 235 237 236 private void ischeckedCheckBox_CheckedChanged(object sender, EventArgs e) { 238 if (Content.Enabled != ischeckedCheckBox.Checked) {239 237 Content.Enabled = ischeckedCheckBox.Checked; 240 //UpdateControls();241 }242 238 } 243 239 … … 262 258 UpdateControls(); 263 259 } 264 265 266 260 #endregion 267 268 261 } 269 262 } -
branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis.Views/3.4/ParsedConstraintView.cs
r16830 r16862 41 41 intervalConstraints = new CheckedItemList<IntervalConstraint>(); 42 42 intervalConstraints.CheckedItemsChanged += constraint_CheckedItemChanged; 43 //intervalConstraints.ItemsRemoved 43 44 } 44 45 … … 47 48 UpdateControl(); 48 49 } 49 50 //ParameterCollectionView 51 //Remove method directly at parsebutton event 50 52 private IEnumerable<IntervalConstraint> ParseConstraints(string input) { 51 53 return IntervalConstraintsParser.ParseInput(input, Content.ProblemData.TargetVariable, … … 84 86 constraintsOutput.Content = intervalConstraints.AsReadOnly(); 85 87 } 86 SetEnabledStateOfControls();87 88 } 88 89 -
branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis.Views/3.4/Regression/NamedIntervalsView.Designer.cs
r16844 r16862 61 61 this.dataGridView.TabIndex = 0; 62 62 this.dataGridView.CellEndEdit += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView_CellEndEdit); 63 this.dataGridView.CellValidated += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView_CellValidated);64 63 this.dataGridView.CellValidating += new System.Windows.Forms.DataGridViewCellValidatingEventHandler(this.dataGridView_CellValidating); 65 64 this.dataGridView.CellValueChanged += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView_CellValueChanged); -
branches/2971_named_intervals/HeuristicLab.Problems.DataAnalysis.Views/3.4/Regression/NamedIntervalsView.cs
r16844 r16862 30 30 [View("NamedIntervals View")] 31 31 [Content(typeof(NamedIntervals), true)] 32 public partial class NamedIntervalsView : AsynchronousContentView {32 public sealed partial class NamedIntervalsView : AsynchronousContentView { 33 33 34 34 public new NamedIntervals Content { … … 63 63 } 64 64 65 pr otectedvoid UpdateData() {65 private void UpdateData() { 66 66 DataGridView.Rows.Clear(); 67 67 DataGridView.Columns.Clear(); … … 84 84 dataGridView.AutoResizeRowHeadersWidth(DataGridViewRowHeadersWidthSizeMode.AutoSizeToDisplayedHeaders); 85 85 dataGridView.Enabled = true; 86 86 //Disable Sorting 87 foreach (DataGridViewColumn column in dataGridView.Columns) { 88 column.SortMode = DataGridViewColumnSortMode.NotSortable; 89 } 87 90 } 88 91 89 pr otectedvoid FillRows() {92 private void FillRows() { 90 93 for (var i = 0; i < dataGridView.RowCount; ++i) { 91 94 var key = (string)dataGridView.Rows[i].HeaderCell.Value; … … 95 98 } 96 99 97 pr otectedvoid SetRowsHeader() {100 private void SetRowsHeader() { 98 101 for (var i = 0; i < Content.VariableIntervals.Count; ++i) { 99 102 var item = Content.VariableIntervals.ElementAt(i); … … 102 105 } 103 106 104 pr otectedvoid SetColumnNames() {107 private void SetColumnNames() { 105 108 dataGridView.Columns.Add("lowerBound", "Lower Bound"); 106 109 dataGridView.Columns.Add("upperBound", "Upper Bound"); … … 149 152 dataGridView.Rows[e.RowIndex].ErrorText = string.Empty; 150 153 } 151 152 private void dataGridView_CellValidated(object sender, DataGridViewCellEventArgs e) {153 var col = e.ColumnIndex;154 var row = e.RowIndex;155 if (double.TryParse(dataGridView.Rows[row].Cells[col].Value.ToString(), out var value))156 dataGridView.Rows[row].Cells[col].Value = value;157 }158 154 } 159 155 }
Note: See TracChangeset
for help on using the changeset viewer.