Универсальные реализации IBindingListView

Упрощенный подход:

Определите helperArray и создайте его динамически (или статически, если хотите) с длиной подсчета, которую вы хотите создать ваши HTML-элементы. Например, я хочу получить некоторые данные с сервера и создать элементы с длиной возвращаемого массива.

export class AppComponent {
  helperArray: Array<any>;

  constructor(private ss: StatusService) {
  }

  ngOnInit(): void {
    this.ss.getStatusData().subscribe((status: Status[]) => {
      this.helperArray = new Array(status.length);
    });
  }
}

Затем используйте helperArray в моем HTML-шаблоне.

<div class="content-container" *ngFor="let i of helperArray">
  <general-information></general-information>
  <textfields></textfields>
</div>
20
задан Uwe 14 December 2017 в 10:04
поделиться

3 ответа

Я использовал и положился на реализацию, от которой я нашел на и старое сообщение форума MSDN несколько лет назад, но недавно я искал вокруг снова и нашел проект SourceForge названным BindingListView. Это выглядит довольно хорошим, я просто не втянул его для замены моей взломанной версии все же.

пакет самородка: Equin.ApplicationFramework.BindingListView

Пример кода:

var lst = new List<DemoClass>
{
    new DemoClass { Prop1 = "a", Prop2 = "b", Prop3 = "c" },
    new DemoClass { Prop1 = "a", Prop2 = "e", Prop3 = "f" },
    new DemoClass { Prop1 = "b", Prop2 = "h", Prop3 = "i" },
    new DemoClass { Prop1 = "b", Prop2 = "k", Prop3 = "l" }
};
dataGridView1.DataSource = new BindingListView<DemoClass>(lst);
// you can now sort by clicking the column headings 
//
// to filter the view...
var view = (BindingListView<DemoClass>)dataGridView1.DataSource;            
view.ApplyFilter(dc => dc.Prop1 == "a");
16
ответ дан 30 November 2019 в 01:08
поделиться

Несколько решений я могу думать:

  1. Проект SubSonic имеет довольно хорошую реализацию BindlingList<T>, который является открытым исходным кодом. Хотя это могло бы потребовать, чтобы использование всего двоичного файла SubSonic использовало их реализацию.

  2. я люблю использовать классы от Наборы Питания проект. Довольно просто наследоваться одному из основных наборов там и реализации IBindingListView.

1
ответ дан 30 November 2019 в 01:08
поделиться

Вот помощь для вашего метода 2 и 3 Behind the Scenes: Implementing Filtering for Windows Forms Data Binding

http://www.microsoft.com/downloads/details.aspx?FamilyID=4af0c96d-61d5-4645-8961-b423318541b4&displaylang=en

4
ответ дан 30 November 2019 в 01:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: