2014-03-03 2 views
-1

HELP! 미리 채워진 콤보 상자가있는 DataGridViewRow 행을 수동으로 추가하려고 시도했습니다 ... 정확한 DataGridViewComboBoxColumn. 난 그냥 자동으로이 문자열을 채우려, 배송 옵션 등 "접지", "공기", 드롭 다운 상자에서 첫 번째 값을보고 나는 지금까지 입수했습니다,하지만 시스템은미리 채워진 콤보 상자가있는 DataGridViewRow를 수동으로 추가하십시오. DataGridViewComboBoxColumn

System.ArguementException: DataGridViewComboBoxCell value is not valid

을 말한다

... 나는 콤보 박스 컨트롤을 아래로 떨어 뜨릴 수 없었습니다. (열어보세요) 저는 열을 만들고 콤보 상자와 문자열 값을 자동으로 채우고 싶습니다. "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을 만들고 항목을 추가하는 간단한 테스트를 만들었습니다. 재미 있은이 오류가 발생하는 ... 나는 내 숨어 고유 MS의 버그가 있는지 www가 얘기 참조 'theDataGridViewComboBoxCell 값이 유효하지 않습니다'... 나는 그것을 밖으로 생각

답변

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(...