Member 13846964 Ответов: 1

Не отображать скрытые файлы в datagridview


Привет,
Любой, пожалуйста , направьте меня, я получаю скрытые файлы в строке datagridview.

Я не хочу показывать скрытые файлы в datagridview, я пробовал брать примеры, но это не работает.

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

var dirs = Directory.GetDirectories(SelectedPath)
             .Select(d => new { Attr = new DirectoryInfo(d).Attributes, Dir = d })
             .Where(x => !x.Attr.HasFlag(FileAttributes.System))
             .Where(x => !x.Attr.HasFlag(FileAttributes.Hidden))
             .Select(x => x.Dir)
             .ToList();
					DataGridViewCheckBoxColumn CheckBoxColumn = new DataGridViewCheckBoxColumn();
					DataGridViewTextBoxColumn FileNameColumn = new DataGridViewTextBoxColumn();                
					CheckBoxColumn.HeaderText = "Check Items";
					FileNameColumn.HeaderText = "File Name";                
					dataGridView1.Columns.Clear();
					dataGridView1.Rows.Clear();               
					dataGridView1.Columns.Add(CheckBoxColumn);
					dataGridView1.Columns.Add(FileNameColumn);   
					dataGridView1.Columns[1].ReadOnly = true;				  				            
					for (int i = 0; i < files.Length; i++) {
				   
					   dataGridView1.Rows.Add(false, files[i]);
					}     									
				}					

1 Ответов

Рейтинг:
2

OriginalGriff

Вы обрабатываете свои папки для "не системных, не скрытых" - но тогда вы не используете результаты, которые храните в них dirs и использовать files вместо.


Member 13846964

извините, что не понял вас, могу ли я привести какой-нибудь пример?

OriginalGriff

Посмотри на свой код.
Где заполняется "файлы"?

Member 13846964

файлы отображаются в Datagridview.private void FillGridView()
{
пробовать {
если (System.IO.Directory.Exists(SelectedPath)) {
Path.GetFileName(SelectedPath);
String[] files = System.IO.Directory.GetFiles(SelectedPath);

var dirs = каталог.GetDirectories(SelectedPath)
.Выберите(д =&ГТ; новое { м = новый Directoryinfoкласс(д).Атрибуты, Dir = d })
.Где(Х =&ГТ; !х.АТР.HasFlag(FileAttributes.Система))
.Где(Х =&ГТ; !х.АТР.HasFlag(FileAttributes.Скрытый))
.Select(x => x.Dir)
.Список();
DataGridViewCheckBoxColumn CheckBoxColumn = новый DataGridViewCheckBoxColumn();
DataGridViewTextBoxColumn FileNameColumn = новый DataGridViewTextBoxColumn();
CheckBoxColumn.HeaderText = "Проверить Элементы";
Столбец FileNameColumn.HeaderText = "Имя Файла";
dataGridView1.Columns.Четкий();
dataGridView1.Rows.Четкий();
dataGridView1.Columns.Добавить(CheckBoxColumn);
dataGridView1.Columns.Добавить(FileNameColumn);
dataGridView1.Columns[1].ReadOnly = true;
для (int i = 0; i < files.Длина; i++) {

dataGridView1.Rows.Add(false,Path.GetFileName(files[i]));
}
}
} catch (исключение e) {
Ящик для сообщений.Показать(например,сообщение);
}
}

OriginalGriff

А вы смотрели свой код?
Вы заполняете файлы, а затем полностью игнорируете его, пока не заполните свой ГИРД - вы обрабатываете каталоги, а затем игнорируете это.

Подумай об этом немного ...

Member 13846964

это код для заполнения datagridview файлами.