Я привязываю linq Query к datagridview для того, чтобы позволить пользователю вставлять/обновлять/удалять. Однако я хотел бы скрыть столбец идентификатора. но я бы предпочел не жестко кодироватьКак программно скрыть столбец linq-to-sql на datagridview?
datagridview.columns[id].visible=false
В случае изменения имени столбца идентификатора. Я читал, что вы можете пройти через отражение, чтобы получить список столбцов во время выполнения, но я не могу это проверить во время разработки для имени столбца. Является ли это возможным?
Если я изменяю запрос, чтобы не включать идентификатор, тогда я жестко кодирую список столбцов вместо имени столбца идентификатора, поэтому, если бы столбцы были добавлены, мне пришлось бы вручную обновлять там.
Источник привязки работает только в том случае, если я использую время проектирования databinding =/ В настоящее время нет такой вещи, как частичные свойства, поэтому я не могу добавить к этим столбцам атрибут [Browsable (false)]. – Maslow
@Maslow: Ваш вопрос, казалось, указывал на то, что вы хотели что-то использовать во время разработки. Есть ли конкретная причина, по которой вы не хотите/не можете использовать привязку времени проектирования? В любом случае, нет способа сделать индексирующее (например, datagridview.columns) время компиляции безопасным, насколько передается значение, если это то, о чем вы просите. –
@Adam: Я не занимаюсь связыванием времени разработки, потому что datagridview показывает разные типы объектов в зависимости от того, какой вид пользователя установлен. Возможно, это преждевременная оптимизация, и над головой выскакивать и разрабатывать разные времена разработки datagridviews неплохо. Да, похоже, что безопасность для времени компиляции для имен свойств не существует, это действительно не похоже на сложную функцию для добавления в компилятор. – Maslow