Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/11/13 16:47:11 (11 years ago)
Author:
sforsten
Message:

#2018:

  • renamed the structs and methods in IStringConvertibleMatrix
  • added MatrixValuesChangedEventArgs in IStringConvertibleMatrix
  • added methods SetValues(MatrixValues<T>) in ValueTypeMatrix
  • fixed bugs in StringConvertibleMatrixView: DataGridView has now at least one column and dataGridView_CellValidating does not set e.Cancel to true anymore.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ImprovingStringConvertibleMatrix/HeuristicLab.Data.Views/3.3/StringConvertibleMatrixView.cs

    r9286 r9306  
    8787
    8888    protected override void DeregisterContentEvents() {
    89       Content.ItemsChanged -= new EventHandler<EventArgs<IEnumerable<Position>>>(Content_ItemChanged);
     89      Content.ItemsChanged -= new EventHandler<MatrixValuesChangedEventArgs>(Content_ItemChanged);
    9090      Content.Reset -= new EventHandler(Content_Reset);
    9191      Content.ColumnNamesChanged -= new EventHandler(Content_ColumnNamesChanged);
     
    9595    protected override void RegisterContentEvents() {
    9696      base.RegisterContentEvents();
    97       Content.ItemsChanged += new EventHandler<EventArgs<IEnumerable<Position>>>(Content_ItemChanged);
     97      Content.ItemsChanged += new EventHandler<MatrixValuesChangedEventArgs>(Content_ItemChanged);
    9898      Content.Reset += new EventHandler(Content_Reset);
    9999      Content.ColumnNamesChanged += new EventHandler(Content_ColumnNamesChanged);
     
    130130      virtualRowIndices = Enumerable.Range(0, Content.Rows).ToArray();
    131131
    132       if (Content.Columns == 0 && dataGridView.ColumnCount != Content.Columns && !Content.ReadOnly)
    133         Content.Columns = dataGridView.ColumnCount;
    134       else {
     132      //dataGridView.RowCount = 0;
     133
     134      if (Content.Columns == 0) {
     135        Content.Columns = 1;
     136      } else {
    135137        DataGridViewColumn[] columns = new DataGridViewColumn[Content.Columns];
    136138        for (int i = 0; i < columns.Length; ++i) {
     
    143145      }
    144146
    145       //DataGridViews with rows but no columns are not allowed !
    146       if (Content.Rows == 0 && dataGridView.RowCount != Content.Rows && !Content.ReadOnly)
    147         Content.Rows = dataGridView.RowCount;
    148       else
    149         dataGridView.RowCount = Content.Rows;
    150 
     147      dataGridView.RowCount = Content.Rows;
    151148
    152149      ClearSorting();
     
    200197        UpdateColumnHeaders();
    201198    }
    202     private void Content_ItemChanged(object sender, EventArgs<IEnumerable<Position>> e) {
     199    private void Content_ItemChanged(object sender, MatrixValuesChangedEventArgs e) {
    203200      if (InvokeRequired)
    204         Invoke(new EventHandler<EventArgs<IEnumerable<Position>>>(Content_ItemChanged), sender, e);
     201        Invoke(new EventHandler<MatrixValuesChangedEventArgs>(Content_ItemChanged), sender, e);
    205202      else {
    206203        foreach (var pos in e.Value) {
     
    268265        string errorMessage;
    269266        if (Content != null && !Content.Validate(e.FormattedValue.ToString(), out errorMessage)) {
    270           e.Cancel = true;
     267          //e.Cancel = true;
    271268          dataGridView.Rows[e.RowIndex].ErrorText = errorMessage;
    272269        }
     
    376373      if (Content.Columns < values.GetLength(0) + columnIndex) Content.Columns = values.GetLength(0) + columnIndex;
    377374
    378       List<RowColumnValue> setValues = new List<RowColumnValue>(values.GetLength(0) * values.GetLength(1));
     375      List<MatrixValue<string>> setValues = new List<MatrixValue<string>>(values.GetLength(0) * values.GetLength(1));
    379376      for (int row = 0; row < values.GetLength(1); row++) {
    380377        for (int col = 0; col < values.GetLength(0); col++) {
    381           setValues.Add(new RowColumnValue(new Position(row + rowIndex, col + columnIndex), values[col, row]));
    382           //Content.SetValue(values[col, row], row + rowIndex, col + columnIndex);
    383         }
    384       }
    385       Content.SetValue(setValues);
     378          setValues.Add(new MatrixValue<string>(new MatrixPosition(row + rowIndex, col + columnIndex), values[col, row]));
     379        }
     380      }
     381      Content.SetValues(setValues);
    386382      ClearSorting();
    387383    }
Note: See TracChangeset for help on using the changeset viewer.