-2

ヘルプ!事前に入力されたコンボボックスを使用して DataGridViewRow 行を手動で追加しようと懸命に努力してきました...正確には DataGridViewComboBoxColumn です。文字列、配送オプション「Ground」、「Air」などを自動的に入力したいだけです。ドロップダウンボックスに最初の値が表示されるまでに到達しましたが、システムは次のように言っています

System.ArguementException: DataGridViewComboBoxCell 値が無効です

...そして、コンボボックスコントロールを「ドロップ」する(開く)ことはできませんでした。列を作成し、コンボボックスとその文字列値で自動的に入力したいのですが、最近いじっています「DataGridViewComboBoxCell」で、最終的には必要ないことを願っています...ありがとう、私は行き詰まっています!!!

   DataGridViewComboBoxCell myCbox = new DataGridViewComboBoxCell(); //TEST TBD    
   //
   if ((dgvMasterPrinting.Columns == null) || (dgvMasterPrinting.Columns.Count < 1)) 
   {
   DataGridViewComboBoxColumn dgcShipType = new DataGridViewComboBoxColumn();

   //Column SHIP-TO COMBOBOX                    
   dgcShipType.Name = "colComboShip"; //???
   //dgcShipType.DataPropertyName = "colComboShip"; //TEST TBD
   dgcShipType.HeaderText = "colComboShip";
   dgcShipType.DropDownWidth = 90;
   dgcShipType.Width = 90;
   dgcShipType.MaxDropDownItems = 5;
   dgcShipType.DisplayIndex = 5;
   dgcShipType.FlatStyle = FlatStyle.Flat;
   myCbox.Items.AddRange("A", "N", "P", "S", "Z");
   //   dgcShipType.Items.AddRange("A", "N", "P", "S", "Z");

   //add the other columns (works fine, only the combo box column has problems)
   this.dgvMasterPrinting.Columns.Add(dgcShipType);
   }
   this.dgvMasterPrinting.Rows.Add(...

簡単なテストを行いました。デザイナーを使用して、単一の DatagridviewComboBoxColumn を作成し、項目を追加しました。これによりエラーが発生するのはおかしいです。

4

1 に答える 1

0

NM わかった…

                    DataGridViewComboBoxColumn dgcShipType = new DataGridViewComboBoxColumn();
...
 //Column SHIP-TO COMBOBOX                    
                    dgcShipType.ReadOnly = false;
                    dgcShipType.AutoComplete = false;
                    dgcShipType.DisplayStyleForCurrentCellOnly = true;
                    dgcShipType.DropDownWidth = 100;
                    dgcShipType.Width = 110;
                    dgcShipType.HeaderText = "ShipType";
                    dgcShipType.Items.AddRange(new object[] { "GROUND", "LOCAL PATIENT", "3-DAY UPS", "2-DAY SERVICE", "PRIORITY OVERNT", "EARLY AM", "WILL CALL" });
                    dgcShipType.Name = "colComboShip";
                    dgcShipType.MaxDropDownItems = 7;
                    dgcShipType.Resizable = System.Windows.Forms.DataGridViewTriState.True;
                    dgcShipType.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
                    dgcShipType.DefaultCellStyle.NullValue = "GROUND"; //sets the default display value
                    dgcShipType.DisplayIndex = 5;
                    //
...
this.dgvMasterPrinting.Rows.Add(...
于 2014-03-05T17:48:53.397 に答える