Два DataGridViews с одинаковым содержимым. Могу ли я иметь одинаковые имена столбцов? - PullRequest
0 голосов
/ 19 марта 2020

Я использую 2 DataGridViews на 2 вкладках в одной и той же форме, и они содержат одинаковую информацию, но используются двумя различными способами. Поверь мне, в этой ситуации есть смысл. :)

Когда я создаю DataGridView, C#, кажется, говорит мне, что мне нужно дать столбцам уникальные имена, даже если они находятся в разных таблицах.

Есть ли способ обойти это? Мне кажется, что это совершенно не нужно с точки зрения логики c, и это приведет к грязному коду, если мне понадобятся две функции, которые будут заполнять две таблицы одинаковыми значениями. Было бы здорово, если бы я мог использовать ту же функцию и просто передать целевой DataGridView в качестве аргумента. Я надеюсь, что мне просто не хватает чего-то очевидного.

Любой совет ... или логическое объяснение?

Ответы [ 2 ]

2 голосов
/ 19 марта 2020

Если вы создаете столбцы с помощью конструктора, то их имена должны быть уникальными, как и у любого другого компонента.

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

Если вы не создаете столбцы с помощью конструктора, а просто создаете их с помощью кода или устанавливаете AutoGenerateColumns на true, то нет никаких ограничений, поскольку столбцы будут просто добавляться в DataGridView без полей в форме.

К вашему сведению, кроме того, чтобы найти столбцы по имени, вы также можете найти их по Index.

1 голос
/ 21 марта 2020

Нет, вы не можете. Потому что у каждого инструмента в форме есть одно уникальное имя идентификатора для его вызова. Так что каждый «dataGridView», и каждый столбец имеет свой уникальный идентификатор.

Попробуйте использовать один или два «groupBox» или «панели» , Размещать каждый «dataGridView» отдельно в своем блоке.

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