какой winforms управляет / подходит для привязки к списку пользовательских объектов List <? - PullRequest
2 голосов
/ 05 октября 2009

Какой подход управления я могу использовать, чтобы быстро обеспечить визуальное редактирование моей коллекции Списка.
Коллекция в памяти у меня есть ниже.

Мои требования в основном:

  1. укажите в моей форме winform средства, позволяющие добавлять / просматривать / редактировать список данных ConfigFileDTO, НО
  2. Только поле «PATH» в ConfigFileDTO необходимо сделать доступным для пользователя, поэтому использование может:
    • добавить новый PATH в список,
    • удалить PATH, следовательно, удаляя ConfigFileDTO из списка,
    • и отредактируйте список, разрешив изменение одного из PATH в списке.

Мой код

    private static List<ConfigFileDTO> files;

    public class ConfigFileDTO
    {
        private string filename, content_type, path;
        private int file_size;
        private DateTime updated_at;

        public ConfigFileDTO() {  }

        public int FileSize {
            get { return this.file_size;  }
            set { this.file_size = value; }
        }    
        public string ContentType {
            get { return this.content_type; }
            set { this.content_type = value; }
        }    
        public string Filename {
            get { return this.filename; }
            set { this.filename = value; }
        }    
        public DateTime UpdatedAt {
            get { return this.updated_at; }
            set { this.updated_at = value; }
        }    
        public string Path {
            get { return this.path; }
            set { this.path = value; }
        }    
    }

Спасибо

1 Ответ

2 голосов
/ 05 октября 2009

Если вы хотите, чтобы манипулировали только столбцом Path, то обычно лучше просто установить привязки столбцов (для таких вещей, как DataGridView) вручную; однако вы также можете использовать такие вещи, как [Browsable(false)] (удаляет свойство из отображения) и [ReadOnly(true)] (обрабатывают свойство как доступное только для чтения, даже если оно имеет установщик), чтобы управлять обработкой свойств (/ столбцов).

Если вы хотите контролировать, как создаются новые экземпляры, наследуйте от BindingList<T> и переопределяйте AddNewCore().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...