Привязка C # Windows Forms — DataRepeater «На основе шаблонов»?

#c# #winforms

#c# #winforms

Вопрос:

Обычно я работаю с веб-формами, но у меня есть проект, для которого вместо этого требуется Windows form. Мне нужно отобразить данные с помощью элемента управления DataRepeater однако я не могу напрямую привязаться к источнику данных, поскольку мне нужно «помассировать» данные перед их отображением. Используя версию веб-формы datarepeater, этого можно достичь с помощью ItemTemplate и передачи возвращаемого элемента данных общедоступному методу, например, как я передаю его методу «getModel» в примере ниже. Как я могу выполнить что-то подобное в Windows form?

 <ItemTemplate>
    <asp:Label ID="lbAsModel" runat="server" Text='<%# GetModel(Convert.ToInt32(Eval("ALAN8"))) %>' CssClass="repGridText" />
</ItemTemplate>
  

Комментарии:

1. Если вы хотите создавать формы на основе шаблонов, возможно, взгляните на wpf 🙂

Ответ №1:

Microsoft.VisualBasic.Сборка PowerPacks содержит класс DataRepeater для Winforms.

Ответ №2:

Просто привяжите его к обработанным данным…

Ответ №3:

Вы можете отформатировать привязанные данные для отображения, обработав Format событие в Binding классе. Вам просто нужно будет добавить свои привязки вручную (не используя конструктор).

Вот страница MSDN с примером.