Agregue todos los elementos de la matriz a las filas de datagridview excepto una

Estoy leyendo un archivo de texto línea por línea, y lo inserto en una matriz.

Luego tengo esta lista llamada custIndex, que contiene ciertos índices, índices de la matriz de elementos que estoy probando para ver si son códigos válidos. (por ejemplo, custIndex [0] = 7, así que verifico el valor en los ítems [7-1] para ver si es válido, en los dos diccionarios que tengo aquí). Luego, si hay un código no válido, agrego la línea (la matriz de elementos) a dataGridView1.

La cuestión es que algunas de las columnas en dataGridView1 son columnas de cuadro combinado, por lo que el usuario puede seleccionar un valor correcto. Cuando intento agregar la matriz de elementos, obtengo una excepción: "La siguiente excepción ocurrió en el DataGridView: System.ArgumentException: el valor de DataGridViewComboBoxCell no es válido".

Sé que el cuadro combinado se agregó correctamente con la fuente de datos correcta, ya que si solo agrego algunos elementos de la matriz de elementos al dataGridView1, como solo los elementos [0], el cuadro combinado se muestra bien y no hay ninguna excepción. Supongo que el problema es cuando intento agregar el valor incorrecto en la matriz de elementos a la fila dataGridView1.

No estoy seguro de cómo lidiar con esto. ¿Hay alguna manera de que pueda agregar todos los artículos en los artículos excepto por ese valor? ¿O puedo agregar el valor de los elementos y hacer que aparezca en la celda del cuadro combinado, junto con los elementos desplegables rellenados?

if(choosenFile.Contains("Cust"))
{
    var lines = File.ReadAllLines(path+"\\"+ choosenFile);

    foreach (string line in lines)
    {
        errorCounter = 0;
        string[] items = line.Split('\t').ToArray();

        for (int i = 0; i <custIndex.Count; i++)
        {
            int index = custIndex[i];
            /*Get the state and country codes from the files using the correct indices*/
            Globals.Code = items[index - 1].ToUpper();

            if (!CountryList.ContainsKey(Globals.Code) && !StateList.ContainsKey(Globals.Code))
            {
                errorCounter++;

                dataGridView1.Rows.Add(items);
            }
        }//inner for

        if (errorCounter == 0)
            dataGridView2.Rows.Add(items);

    }//inner for each

}//if file is a customer file

Respuestas a la pregunta(1)

Su respuesta a la pregunta