Кажется, я бегаю кругами и делал это в последние часы.
Я хочу заполнить сетку данных из массива строк. Я читал, что это невозможно напрямую, и что мне нужно создать пользовательский тип, который содержит строку как открытое свойство. Итак, я сделал класс:
public class FileName
    {
        private string _value;
        public FileName(string pValue)
        {
            _value = pValue;
        }
        public string Value
        {
            get 
            {
                return _value;
            }
            set { _value = value; }
        }
    }
 это класс контейнера, и он просто имеет свойство со значением строки. Все, что я хочу сейчас - это чтобы эта строка появлялась в сетке данных, когда я связываю ее источник данных со списком.
Также у меня есть этот метод, BindGrid(), которым я хочу заполнить представление данных. Вот:
    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;
    }
 Наконец, проблема: массив строк заполняется нормально, список создается нормально, но я получаю пустой столбец в представлении данных. Я также попробовал datasource = List<> напрямую, а не = bindingsource, но ничего не получилось.
Буду очень признателен за совет, это сводит меня с ума.