webmail123 Ответов: 2

Откройте файл с помощью openfiledialog


Я использую диалоговое окно openfiledialog в C# для открытия .CSV-файл. Теперь я хочу отфильтровать csv-файлы, которые начинаются с буквы "L".
напр.. Если я открою диалоговое окно с помощью opendialog с фильтром .csv, оно покажет мне все файлы .csv в текущей папке. Но я хочу отфильтровать csv-файлы, имя которых начинается с буквы "L".
Возможно ли это?

Что я уже пробовал:

private void btmImport_Click(object sender, EventArgs e)
       {
           try
           {
               string filename = "";
               OpenFileDialog dialog = new OpenFileDialog();
               dialog.Title = "Open CSV File";
               dialog.Filter = "CSV Files (*.csv)|*.csv";
               if (dialog.ShowDialog() == DialogResult.OK)
               {
                   filename = dialog.FileName;
               }
               else
               {
                   return;
               }
               //code to load file in datatable.
               DataTable data = new DataTable();
               data = NewDataTable(filename, ",", true);
               grdDataImp.DataSource = data;
           }
           catch (Exception)
           {
               throw;
           }

       }

Richard MacCutchan

Вам нужно добавить букву в начало фильтра "*.csv".

2 Ответов

Рейтинг:
15

Christiaan van Bergen

Измените свой фильтр на

dialog.Filter = "CSV Files (L*.csv)|L*.csv";


Рейтинг:
11

OriginalGriff

Попробуй:

private void btmImport_Click(object sender, EventArgs e)
    {
    string filename = "";
    OpenFileDialog dialog = new OpenFileDialog();
    dialog.Title = "Open CSV File";
    dialog.Filter = "CSV Files (L*.csv)|L*.csv";
    if (dialog.ShowDialog() == DialogResult.OK)
        {
        filename = dialog.FileName;
        //code to load file in datatable.
        DataTable data = new DataTable();
        data = NewDataTable(filename, ",", true);
        grdDataImp.DataSource = data;
        }
    }
Ловить все исключения только для того, чтобы переосмыслить их, на самом деле не нужно...