logo
small logo
  • Produkty
  • Zamów
  • Wsparcie techniczne
  • Articles
  • Customer panel Wsparcie techniczne
    • en
    • pt
    • es
    • de
    • pl
    • JP
    • ZH
  • Glówna strona
  • /
  • Articles
  • /
  • Jak filtrować zbudowaną matrycę
  • Jak wybrać najwyższe wartości w macierzy?

    22 kwietnia 2021

    Artykuł jest aktualny do wersji 2022.1. FastReport .NET posiada świetne narzędzie do wyświetlania danych w postaci

    read more
  • Jak wykonać sortowanie od końca do końca podobnych macierzy na kilku stronach w FastReport .NET

    22 września 2021

    Załóżmy, że mamy zadanie: posortować macierz na pierwszej stronie w odpowiedniej kolejności. Możesz również potrzebować

    read more
  • Tworzenie złożonego raportu z kilkoma macierzami w FastReport .NET

    16 czerwca 2021

    Dzisiaj przyjrzymy się złożonemu raportowi z podejściem pasmowym, które zazwyczaj jest wykorzystywane w FastReport. Na

    read more
  • Jak posortować macierz według wskaźnika

    30 czerwca 2021

    Sortowanie danych jest bardzo ważnym narzędziem analitycznym, które pozwala szybko ocenić dynamikę wzrostu lub spadku,

    read more
  • Nowe właściwości i porównanie obiektów Matrix i AdvancedMatrix

    23 marca 2022

    Niedawno w FastReport.NET został zaimplementowany obiekt AdvancedMatrix. W tym artykule przyjrzymy się strukturze nowej

    read more

Jak filtrować zbudowaną matrycę

23 czerwca 2021

W FastReport obiekt Matrix pozwala nam na filtrowanie danych. Jest to jedna z najbardziej popularnych funkcjonalności i wielu użytkowników chętnie z niej korzysta. Czasami jednak filtrowanie oryginalnych danych nie wchodzi w grę.

Spójrzmy na poniższą matrycę.

Macierz źródłowa

Jak widać, są to statystyki sprzedaży według pracowników za 5 lat. Nie ma statystyk dla pracownika Steven Buchanan dla lat 2011, 2012 i 2015. Oznacza to, że Steven zniknie z macierzy jeśli przefiltrujemy macierz przez rok i odliczymy 2013 i 2014.

Aby uzyskać pełny obraz, należy policzyć wszystkich pracowników, nawet jeśli nie prowadzili sprzedaży w okresiesprawozdawczym. W tym przypadku będziesz musiał skorzystać z jednej z poniższych opcji:

1) sztuczne uzupełnienie pierwotnych danych o wartości zerowe dla każdego roku, w którym pracownik nie miał sprzedaży;
2) przefiltrowanie już zbudowanej macierzy poprzez usunięcie zbędnych kolumn.

W szablonie raportu:

Szablon raportu

Dodajmy teraz do tabeli zdarzenie BeforePrint dla komórki Year:

Dodajemy Zdarzenie BeforePrint dla komórki roku

Z następującym kodem:

private int index = 1;
 private List<int> removeColumns = new List<int>();
 
 private void Cell4_BeforePrint(object sender, EventArgs e)
 { 
 if (new List<int>(){2013, 2014}.Contains((int)Cell4.Value))
 {
 removeColumns.Add(index); 
 }
 index++; 
 }

Tutaj ustawiliśmy indeksy kolumn, które chcemy usunąć. Teraz stworzymy obsługę zdarzenia ModifyResult dla macierzy, aby edytować już zbudowany obiekt "matrix":

 private void Matrix1_ModifyResult(object sender, EventArgs e)
 {
 removeColumns.Reverse();
 foreach (int del in removeColumns)
 { 
 Matrix1.ResultTable.Columns.RemoveAt(del);
 }
 }

Należy kasować od końca - od największego indeksu, ponieważ podczas kasowania kolumn lub wierszy, indeks wszystkich następnych jest przesuwany. Dlatego lista indeksów do usunięcia została zbudowana w odwrotnej kolejności za pomocą metody Reverse (). Następnie po prostu usunęliśmy kolumny dla odpowiadających im indeksów. Zobaczmy, co mamy na końcu:

Tabela podsumowująca

Z matrycy zniknęły kolumny za lata 2013 i 2014, ale pracownik Steven Buchanan pozostał. Uzyskaliśmy pożądany efekt! Możesz również usunąć niepotrzebne wiersze za pomocą innej kolekcji Matrix1.ResultTable.Rows. Teraz już wiesz, jak filtrować macierz, gdy filtrowanie danych nie jest opcją.

about product pobierz zamów
avatar
Dmitriy Fedyashov
Technical Writer
Fast Reports Team: Dmitriy Fedyashov - Technical Writer at Fast Reports
.NET FastReport Matrix

Add comment
logo
  • 800-985-8986 (English, US)
  • +4930568373928 (German)
  • +55 19 98147-8148 (Portuguese)
  • info@fast-report.com
  • 901 N Pitt Str #325 Alexandria VA 22314
  • Zamów
  • Pobierz
  • Dokumentacja
  • Opinie użytkowników
  • Jak odinstalować nasze produkty
  • Ticket system
  • FAQ
  • Tutorial Video
  • Forum
  • Articles
  • Our News
  • Prasa o nas
  • Partnerzy
  • Kontakty

© 1998-2022 by Fast Reports Inc.

  • Poufność