Получить имя файла из каталога и показать в datagridview

Я не могу отображать те же имена файлов в datagridview. Единственное время, которое имеет Длина, показывает мне.

enter image description here

Вы можете мне помочь, спасибо ... Это мой код

private void OdswiezOfer()
{
    string pathOO = (path + "\\" + id_inv);

    if (Directory.Exists(pathOO))
    {
        dgvOfer.DataSource = Directory.GetFiles(pathOO).Select(Path.GetFileName).ToArray();
    }
}

private void dgvOfer_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
    string id_inv = IdInv.Text;
    string filepath = path + "\\" + 
                      id_inv + "\\" +
                      (string)dgvOfer.Rows[e.RowIndex].Cells[0].Value;

    System.Diagnostics.Process.Start(filepath);
}

Не могли бы вы более подробно объяснить, в чем заключается ваша настоящая проблема? Теперь, когда вопрос стоит, я, честно говоря, не понимаю, о чем вы говорите ...

bassfader 11.04.2018 14:06
2
1
69
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы получаете length строки, потому что, если для dataGridView.DataMember по умолчанию установлено первое общедоступное свойство типа, к которому он привязан, в случае System.String это Length.

Вы можете определить свойство на вашем dataSource и установить желаемое значение для образца FileName. Для этого вы можете использовать анонимный объект:

string pathOO = Path.Combine(path, id_inv);
if (Directory.Exists(pathOO))
{

   dgvOfer.DataSource = Directory.GetFiles(pathOO)
                                 .Select(x => new { FileName = Path.GetFileName(x) })
                                 .ToList();
}

Результат (по c:\windows):

enter image description here

Другие вопросы по теме