public static bool UpdateDataGridView(DataGridView dataGridView, MatrixTable table, bool clear = true) { if (clear == true) { dataGridView.Rows.Clear(); dataGridView.Columns.Clear(); } if ((table == null) || (table.fields.Count < 0)) { return(false); } table.fields.ForEach(x => dataGridView.Columns.Add(x, x)); for (int i = 0; i < table.CountFiields(); i++) { dataGridView.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable; dataGridView.Rows.Add(); dataGridView.Rows[i].HeaderCell.Value = table.fields[i]; } dataGridView.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders; dataGridView.TopLeftHeaderCell.Value = table.name; for (int i = 0; i < dataGridView.RowCount; i++) { for (int j = 0; j < dataGridView.Columns.Count; j++) { dataGridView.Rows[i].Cells[j].ValueType = typeof(DataGridViewComboBoxCell); dataGridView.Rows[i].Cells[j] = GetDataGridViewComboBoxCell(); if (table.GetCellMatrix(i, j) % 1 == 0) { dataGridView.Rows[i].Cells[j].Value = scalesInt[Convert.ToInt32(table.GetCellMatrix(i, j))].ToString(); } else { dataGridView.Rows[i].Cells[j].Value = scalesInt[-1].ToString(); } if (i == j) { dataGridView.Rows[i].Cells[j].Value = scalesInt[1].ToString(); dataGridView.Rows[i].Cells[j].ReadOnly = true; } } } ; return(true); }