Применение атрибута к свойству в бизнес-объекте, чтобы столбец не отображался после привязки данных - PullRequest
0 голосов
/ 30 декабря 2011

Мне просто интересно, можно ли применить атрибут к свойству в бизнес-объекте (MyBusinessObject), чтобы после того, как DataSource сетки установлен в List (Of MyBusinessObject), видимое свойство столбца будет автоматически быть ложным. Например:

myGrid.DataSource = New List(Of MyBusinessObject)

Public Class MyBusinessObject

   'I want these three columns to be visible after data binding

   <DisplayName("Property 1")> _
   Public Property MyProperty1 As String
   <DisplayName("Property 2")> _
   Public Property MyProperty2 As Integer
   <DisplayName("Property 3")> _
   Public Property MyProperty3 As String

   'I want this column to have Visible = False after data binding

   Public Property MyProperty4 As Integer

End Class

Надеюсь, это имеет смысл. Спасибо!

РЕДАКТИРОВАТЬ: Я хотел бы уточнить - я все еще хотел бы, чтобы MyProperty4 был привязан к базе данных, я просто не хочу, чтобы столбец был видимым.

1 Ответ

2 голосов
/ 30 декабря 2011

Использование атрибута BrowsableAttribute (<Browsable(False)>) в вашем классе должно выполнить то, что вам нужно, однако я считаю, что это использование атрибута "не по назначению".

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

Обновление

Возможно, вы также захотите рассмотреть сторонние элементы управления сеткой, такие как Infragistics или Telerik (только два из них, которые мы используем, никаких других причин для их выбора).Это значительно облегчает выполнение подобных задач.

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