public void AddCell(int columnIndex, int rowIndex, CellData cellData) { //列を追加 for (int i = (this.customDataGridView.ColumnCount - 1); i < columnIndex; i++) { var column = new CustomGridColumn(); this.customDataGridView.Columns.Add(column); } //行を追加 for (int i = (this.customDataGridView.RowCount - 1); i < rowIndex; i++) { var row = new DataGridViewRow(); this.customDataGridView.Rows.Add(row); } //セルをデフォルトから差し替え this.customDataGridView[columnIndex, rowIndex] = cellData.Cell; }
private void LoadData() { var dataContext = DataContext as AutoGenerateColumnViewModel; if (dataContext == null) { return; } var rows = new ObservableCollection <CustomRow>(); foreach (var columnData in dataContext.Rows) { rows.Add(columnData); } ObservableCollectionHelperList.Ini(rows, dataContext.Headers); foreach (var header in dataContext.Headers) { var column = new CustomGridColumn { FieldName = header.FieldName, Header = header.HeaderName, HorizontalHeaderContentAlignment = HorizontalAlignment.Center, }; if (header.AccountingTypeId != null) { //column.CellTemplate= FindResource("AutoCompleteColumnCellTemplate") as DataTemplate; column.DisplayTemplate = FindResource("AutoCompleteColumnDisplayTemplate") as ControlTemplate; column.EditTemplate = FindResource("AutoCompleteColumnEditTemplate") as ControlTemplate; } else { column.DisplayTemplate = FindResource("CommonColumnDisplayTemplate") as ControlTemplate; column.EditTemplate = FindResource("CommonColumnEditTemplate") as ControlTemplate; } GridControl.Columns.Add(column); } GridControl.Columns.EndUpdate(); GridControl.ItemsSource = ObservableCollectionHelperList; }