¿Cómo enlazar la lista a dataGridView?

Parece que estoy corriendo en círculos y lo he estado haciendo en las últimas horas.

Quiero rellenar una vista de datos desde una matriz de cadenas. He leído que no es posible directamente, y que necesito crear un tipo personalizado que mantenga la cadena como una propiedad pública. Así que hice una clase:

public class FileName
    {
        private string _value;

        public FileName(string pValue)
        {
            _value = pValue;
        }

        public string Value
        {
            get 
            {
                return _value;
            }
            set { _value = value; }
        }
    }

esta es la clase contenedora, y simplemente tiene una propiedad con el valor de la cadena. Todo lo que quiero ahora es que la cadena aparezca en la vista de datos, cuando enlace su fuente de datos a una lista.

También tengo este método, BindGrid () con el que quiero completar la vista de datos. Aquí está:

    private void BindGrid()
    {
        gvFilesOnServer.AutoGenerateColumns = false;

        //create the column programatically
        DataGridViewTextBoxColumn colFileName = new DataGridViewTextBoxColumn();
        DataGridViewCell cell = new DataGridViewTextBoxCell();
        colFileName.CellTemplate = cell; colFileName.Name = "Value";
        colFileName.HeaderText = "File Name";
        colFileName.ValueType = typeof(FileName);

        //add the column to the datagridview
        gvFilesOnServer.Columns.Add(colFileName);

        //fill the string array
        string[] filelist = GetFileListOnWebServer();

        //try making a List<FileName> from that array
        List<FileName> filenamesList = new List<FileName>(filelist.Length);
        for (int i = 0; i < filelist.Length; i++)
        {
            filenamesList.Add(new FileName(filelist[i].ToString()));
        }

        //try making a bindingsource
        BindingSource bs = new BindingSource();
        bs.DataSource = typeof(FileName);
        foreach (FileName fn in filenamesList)
        {
            bs.Add(fn);
        }
        gvFilesOnServer.DataSource = bs;
    }

Finalmente, el problema: la matriz de cadenas se llena bien, la lista se crea bien, pero obtengo una columna vacía en la vista de datos. También probé datasource = list <> directamente, en lugar de = bindingsource, todavía nada.

Realmente agradecería un consejo, esto me ha vuelto loca.

Gracias

Respuestas a la pregunta(5)

Su respuesta a la pregunta