Locale

Change the locale of the datepicker, schedule and client side validation messages.

Language
English
English
English
French
German
German
German
Italian
Korean
Spanish
Catalan
Dutch
Portuguese
Portuguese
Arabic
Arabic
Bulgarian
Czech
Greek
Persian
Finnish
Danish
Hindi
Indonesian
Croatian
Japanese
Hungarian
Hebrew
Georgian
Central Kurdish
Khmer
Kyrgyz
Kazakh
Lithuanian
Latvian
Malay
Norwegian
Polish
Romanian
Russian
Slovak
Slovenian
Serbian
Serbian
Swedish
Thai
Turkish
Ukrainian
Vietnamese
Chinese
Chinese

Input Style

Themes

PrimeOne
Saga Saga
Vela Vela
Arya Arya
Bootstrap
bootstrap4-blue-light Bootstrap Blue
bootstrap4-purple-light Bootstrap Purple
bootstrap4-blue-dark Bootstrap Blue
bootstrap4-purple-dark Bootstrap Purple
Material Design
material-indigo-light Indigo
material-deeppurple-light' Deep Purple
material-indigo-dark Indigo
material-deeppurple-dark' Deep Purple
Material Design Compact
material-indigo-light Indigo
material-deeppurple-light' Deep Purple
material-indigo-dark Indigo
material-deeppurple-dark' Deep Purple

DataTable Scroll

Both vertical and horizontal scrolling of the data is supported with optional frozen rows-columns and on-demand loading features.

Vertical
NameCountryRepresentativeStatus
Salvatore E RimAustraliaAnna Fali QUALIFIED
Octavia H BowleyRussiaStephen Shaw PROPOSAL
David C BowleyArgentinaAsiya Javayant QUALIFIED
Maisha L BriddickBrazilAmy Elsner NEW
Rodrigues O FlosiSpainIvan Magalhaes UNQUALIFIED
Jennifer B SaylorsJapanElwin Sharvill RENEWAL
Arvin G WaycottUnited KingdomOnyama Limba NEGOTIATION
Stacey N CaldareraItalyAsiya Javayant PROPOSAL
Stacey Y CampainJapanXuxue Feng RENEWAL
Tony Q MaletCanadaOnyama Limba NEW
Francesco Q ButtRussiaBernardo Dominic NEGOTIATION
Aditya V RulapaughItalyAnna Fali UNQUALIFIED
Jefferson D FlosiSpainXuxue Feng QUALIFIED
Kadeem M SlusarskiGermanyIvan Magalhaes PROPOSAL
Silvio L ButtIndiaOnyama Limba NEGOTIATION
Cody A SergiIndiaAnna Fali NEW
Julie X MacleadFranceAmy Elsner PROPOSAL
Juan T BriddickRussiaOnyama Limba RENEWAL
Juan C AmigonBrazilAnna Fali RENEWAL
Darci H PaprockiGermanyAnna Fali PROPOSAL
Adams S StockhamIndiaElwin Sharvill NEW
Arvin Q BologniaItalyAsiya Javayant RENEWAL
Salvatore N MaletIndiaIvan Magalhaes PROPOSAL
Aditya X OldroydCanadaXuxue Feng QUALIFIED
Aika R ShinkoUnited KingdomIoni Bowcher NEW
David C DoeItalyIoni Bowcher PROPOSAL
Costa E AlbaresCanadaIvan Magalhaes PROPOSAL
Leja S FerenczArgentinaXuxue Feng UNQUALIFIED
Antonio Y PerinIndiaIvan Magalhaes RENEWAL
Stacey F StensethFranceXuxue Feng RENEWAL
Nicolas Y FigeroaAustraliaElwin Sharvill NEW
Chavez H PaprockiArgentinaAmy Elsner NEW
Silvio R DilliardArgentinaOnyama Limba PROPOSAL
Murillo S KuskoArgentinaAsiya Javayant NEW
Aika S StockhamArgentinaElwin Sharvill UNQUALIFIED
Leon J CampainBrazilXuxue Feng UNQUALIFIED
Jones G FerenczGermanyAmy Elsner NEGOTIATION
Emily M PoquetteJapanIoni Bowcher PROPOSAL
Jones T MarrierCanadaIoni Bowcher NEGOTIATION
Morrow M DarakjySpainAnna Fali NEW
Ivar L MaletArgentinaAsiya Javayant QUALIFIED
Leon O PaprockiFranceElwin Sharvill QUALIFIED
Julie M RimRussiaIoni Bowcher QUALIFIED
Ivar J KuskoRussiaIvan Magalhaes NEGOTIATION
Jeanfrancois Y KuskoItalyOnyama Limba NEW
Aditya G ShinkoIndiaElwin Sharvill UNQUALIFIED
Mujtaba J FollerGermanyIoni Bowcher RENEWAL
Costa B MacleadRussiaAsiya Javayant NEW
Smith H GlickItalyIoni Bowcher RENEWAL
Jones C AlbaresUnited KingdomAmy Elsner RENEWAL
Horizontal
NameCountryRepresentativeStatus
Emily W BologniaSpainOnyama Limba PROPOSAL
Darci I StockhamRussiaXuxue Feng QUALIFIED
Jefferson J AmigonBrazilStephen Shaw PROPOSAL
Mujtaba H PoquetteSpainAmy Elsner RENEWAL
Mayumi E MaletSpainBernardo Dominic NEW
Isabel R PoquetteSpainXuxue Feng UNQUALIFIED
Greenwood F BologniaGermanyXuxue Feng NEW
Mujtaba V VenereArgentinaAnna Fali PROPOSAL
Tony V IturbideFranceIoni Bowcher NEGOTIATION
Silvio M FlosiArgentinaAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco D MacleadAustralia2024-05-25Feltz Printing Service NEW25Bernardo Dominic
1001Aditya J DoeFrance2024-06-08Chapman, Ross E Esq PROPOSAL28Stephen Shaw
1002Juan D BriddickGermany2024-06-13Dorl, James J Esq QUALIFIED58Asiya Javayant
1003Antonio Y NestleRussia2024-06-08Rangoni Of Florence UNQUALIFIED32Onyama Limba
1004Aruna C MacleadRussia2024-06-14Printing Dimensions NEW85Elwin Sharvill
1005Izzy B DarakjyGermany2024-05-25Rangoni Of Florence PROPOSAL52Elwin Sharvill
1006Wickens Z CaldareraUnited Kingdom2024-06-09Morlong Associates QUALIFIED40Asiya Javayant
1007Leon F RulapaughGermany2024-06-14Truhlar And Truhlar Attys QUALIFIED98Stephen Shaw
1008James S FollerArgentina2024-06-09Chapman, Ross E Esq QUALIFIED7Elwin Sharvill
1009Mujtaba M CaudyCanada2024-05-29Dorl, James J Esq NEW44Xuxue Feng
1010Greenwood M CaldareraUnited Kingdom2024-06-10Truhlar And Truhlar Attys UNQUALIFIED54Elwin Sharvill
1011Alejandro P CampainItaly2024-06-09Dorl, James J Esq RENEWAL34Amy Elsner
1012Ivar R VenereCanada2024-06-08Rousseaux, Michael Esq QUALIFIED40Anna Fali
1013Isabel E MorascaAustralia2024-06-16Rangoni Of Florence NEGOTIATION10Xuxue Feng
1014Aika Y CampainItaly2024-06-03Feltz Printing Service UNQUALIFIED68Amy Elsner
1015Morrow D SaylorsJapan2024-06-08Buckley Miller Wright NEGOTIATION45Bernardo Dominic
1016Emily K SlusarskiArgentina2024-06-09Rangoni Of Florence RENEWAL72Amy Elsner
1017Johnson W GauchoUnited Kingdom2024-06-21Chanay, Jeffrey A Esq UNQUALIFIED44Anna Fali
1018Tony M IturbideSpain2024-06-11Feltz Printing Service RENEWAL67Asiya Javayant
1019Jones D SlusarskiRussia2024-06-05Commercial Press NEGOTIATION5Amy Elsner
1020Jennifer B GarufiBrazil2024-05-28Benton, John B Jr QUALIFIED75Stephen Shaw
1021Claire G StensethItaly2024-05-31Rangoni Of Florence NEW34Onyama Limba
1022Ivar E DarakjyBrazil2024-06-12Printing Dimensions UNQUALIFIED67Stephen Shaw
1023Adams X SlusarskiUnited Kingdom2024-05-31Rangoni Of Florence NEW71Xuxue Feng
1024Antonio R GauchoRussia2024-05-28Morlong Associates NEGOTIATION48Amy Elsner
1025Izzy C DarakjyGermany2024-06-09Rangoni Of Florence QUALIFIED40Ioni Bowcher
1026Adams O MaletCanada2024-06-07Dorl, James J Esq PROPOSAL30Bernardo Dominic
1027Salvatore J NickaGermany2024-06-10Feltz Printing Service RENEWAL15Stephen Shaw
1028David L CaldareraArgentina2024-06-12Chemel, James L Cpa UNQUALIFIED57Ivan Magalhaes
1029Isabel O WieserFrance2024-06-08Chapman, Ross E Esq PROPOSAL1Amy Elsner
1030Ivar U PerinCanada2024-06-15Morlong Associates PROPOSAL40Bernardo Dominic
1031Mayumi B GauchoFrance2024-06-15Feltz Printing Service PROPOSAL96Asiya Javayant
1032Jennifer M GarufiBrazil2024-05-28Commercial Press NEW99Ioni Bowcher
1033Mayumi V DoeIndia2024-06-17Chapman, Ross E Esq PROPOSAL11Anna Fali
1034Murillo O MarrierItaly2024-06-21Chanay, Jeffrey A Esq NEW34Ivan Magalhaes
1035Francesco M FlosiSpain2024-06-01Feltz Printing Service NEGOTIATION46Elwin Sharvill
1036Ricardo L BriddickUnited Kingdom2024-06-03Feiner Bros NEGOTIATION93Bernardo Dominic
1037Maisha M BowleyBrazil2024-06-15Morlong Associates NEW22Ioni Bowcher
1038Wickens V KuskoAustralia2024-05-29Rousseaux, Michael Esq UNQUALIFIED8Xuxue Feng
1039Clifford T FerenczCanada2024-06-08Feiner Bros PROPOSAL73Xuxue Feng
1040Maria D IturbideRussia2024-05-27Commercial Press RENEWAL44Xuxue Feng
1041Salvatore O VocelkaUnited Kingdom2024-05-29Rousseaux, Michael Esq RENEWAL58Onyama Limba
1042Maria Z RulapaughIndia2024-06-07Feiner Bros NEGOTIATION91Ioni Bowcher
1043Ashley D TollnerAustralia2024-06-18Chemel, James L Cpa PROPOSAL16Onyama Limba
1044Darci T BowleyFrance2024-05-23Buckley Miller Wright NEGOTIATION72Bernardo Dominic
1045Morrow G CaldareraGermany2024-06-13Chanay, Jeffrey A Esq NEGOTIATION70Stephen Shaw
1046Silvio X RoysterItaly2024-06-06Feiner Bros NEW82Amy Elsner
1047Maisha Z CaudyArgentina2024-06-06Chemel, James L Cpa RENEWAL65Amy Elsner
1048Jones H PerinArgentina2024-05-23Dorl, James J Esq UNQUALIFIED75Elwin Sharvill
1049Ivar B StockhamAustralia2024-06-08Feltz Printing Service RENEWAL78Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Smith J WieserIndiaAmy Elsner PROPOSAL
Jennifer Y ShinkoItalyBernardo Dominic NEW
Jeanfrancois R BologniaFranceAsiya Javayant NEW
Juan X NickaRussiaAmy Elsner UNQUALIFIED
Cody B TollnerArgentinaOnyama Limba UNQUALIFIED
Greenwood Z PaprockiAustraliaXuxue Feng NEGOTIATION
Salvatore D GlickFranceAmy Elsner QUALIFIED
Sinclair F PaprockiIndiaBernardo Dominic PROPOSAL
Munro T VocelkaBrazilBernardo Dominic NEW
Leon P OstroskyFranceElwin Sharvill UNQUALIFIED
Izzy K MacleadBrazilAmy Elsner QUALIFIED
Greenwood K RimSpainIvan Magalhaes NEW
Claire H FollerItalyXuxue Feng NEW
Aruna H CaudyIndiaIoni Bowcher UNQUALIFIED
Jefferson B RimJapanIoni Bowcher NEW
Jennifer K ChuiFranceXuxue Feng NEW
Izzy Z WhobreyRussiaElwin Sharvill NEGOTIATION
Aruna R PaprockiSpainIvan Magalhaes PROPOSAL
Aruna P SergiFranceElwin Sharvill UNQUALIFIED
Aika U CaudyBrazilBernardo Dominic RENEWAL
Wickens G ShinkoGermanyStephen Shaw UNQUALIFIED
Juan L SchemmerUnited KingdomAsiya Javayant NEGOTIATION
Maria H WhobreyGermanyXuxue Feng PROPOSAL
Jefferson Y DoeBrazilAsiya Javayant RENEWAL
David F FigeroaRussiaIvan Magalhaes RENEWAL
Deepesh L VocelkaGermanyIvan Magalhaes NEW
Emily H ShinkoCanadaXuxue Feng PROPOSAL
Maisha Z MacleadIndiaStephen Shaw PROPOSAL
Murillo N BriddickRussiaStephen Shaw RENEWAL
Ashley G MaletGermanyAsiya Javayant RENEWAL
Maria X NestleArgentinaElwin Sharvill PROPOSAL
Cody H StensethJapanIoni Bowcher NEW
Aruna D SlusarskiUnited KingdomAsiya Javayant NEGOTIATION
Faith A DilliardItalyOnyama Limba QUALIFIED
Antonio Q RulapaughItalyIoni Bowcher UNQUALIFIED
Aruna H FerenczJapanElwin Sharvill NEGOTIATION
Jennifer U InouyeRussiaAsiya Javayant PROPOSAL
Nicolas S ChuiGermanyXuxue Feng UNQUALIFIED
Darci V WieserSpainOnyama Limba PROPOSAL
Morrow V VocelkaUnited KingdomOnyama Limba NEGOTIATION
Nicolas I VocelkaCanadaOnyama Limba RENEWAL
Darci G OstroskyUnited KingdomXuxue Feng RENEWAL
Mujtaba R RutaFranceOnyama Limba NEGOTIATION
Chavez V ButtItalyIvan Magalhaes NEGOTIATION
Kaitlin X GarufiIndiaElwin Sharvill RENEWAL
Aika B NestleRussiaElwin Sharvill RENEWAL
Murillo P CampainFranceAnna Fali NEGOTIATION
Ashley J PaprockiFranceAmy Elsner NEGOTIATION
Izzy C NestleSpainAsiya Javayant NEGOTIATION
Adams T PerinArgentinaXuxue Feng PROPOSAL
Frozen Columns
Name
Smith B Rulapaugh
Deepesh U Stockham
Johnson J Maclead
Juan R Dilliard
Juan Z Doe
Murillo O Iturbide
Adams H Bowley
Wickens E Dilliard
Adams O Caudy
Greenwood K Venere
Emily F Garufi
Kadeem U Glick
Leja U Malet
Arvin D Sergi
Cody T Schemmer
Claire C Gaucho
Maisha L Amigon
Clifford H Perin
Nicolas A Nicka
Jeanfrancois Z Stenseth
Clifford P Figeroa
Jefferson V Caudy
Johnson L Caudy
Silvio K Marrier
Misaki D Wieser
Ivar H Bolognia
Julie K Sergi
Jeanfrancois U Malet
Clifford Z Schemmer
Wickens V Stenseth
Leja F Perin
Smith B Kusko
Kadeem I Sergi
Maisha S Foller
Munro O Bowley
Claire J Waycott
Stacey D Garufi
Jones T Inouye
Claire R Foller
Alejandro P Ostrosky
Silvio X Rulapaugh
Clifford Q Briddick
Julie O Kusko
David Z Ruta
Greenwood K Chui
Arvin G Oldroyd
Morrow N Slusarski
Deepesh Y Kusko
Darci H Foller
Mujtaba W Ruta
IdCountryDate
1000Brazil2024-06-04
1001France2024-06-08
1002Australia2024-05-31
1003India2024-06-05
1004Japan2024-05-31
1005Japan2024-06-20
1006Brazil2024-06-06
1007Italy2024-05-25
1008Spain2024-06-18
1009Australia2024-05-31
1010Germany2024-06-20
1011Spain2024-06-02
1012Australia2024-05-29
1013France2024-06-11
1014Spain2024-06-03
1015India2024-06-20
1016Russia2024-06-19
1017Australia2024-06-10
1018Canada2024-06-19
1019Brazil2024-05-26
1020Australia2024-05-30
1021Spain2024-06-11
1022Italy2024-06-19
1023United Kingdom2024-06-10
1024United Kingdom2024-06-12
1025India2024-05-25
1026France2024-06-05
1027Argentina2024-05-28
1028Italy2024-05-29
1029Japan2024-06-08
1030Germany2024-05-23
1031Argentina2024-05-27
1032Germany2024-06-08
1033Germany2024-06-05
1034Russia2024-06-05
1035Russia2024-05-28
1036United Kingdom2024-05-24
1037Russia2024-06-07
1038United Kingdom2024-06-11
1039France2024-06-11
1040Argentina2024-06-02
1041Brazil2024-06-08
1042Italy2024-05-26
1043Russia2024-06-10
1044Argentina2024-05-23
1045Russia2024-06-02
1046Russia2024-06-07
1047Germany2024-06-04
1048Germany2024-06-04
1049Germany2024-05-28

On-Demand Data

NameIdCountryDate
Clifford M Doe1000Brazil2024-06-05
Octavia G Caudy1001Australia2024-06-17
Arvin X Whobrey1002Brazil2024-06-16
Silvio O Caudy1003Russia2024-06-01
Leja M Butt1004Argentina2024-05-23
Jones P Doe1005Germany2024-05-24
Emily I Caudy1006Spain2024-06-10
Munro U Caldarera1007Russia2024-06-03
Juan A Amigon1008Spain2024-06-04
Mujtaba D Chui1009Russia2024-06-17
Alejandro F Nestle1010Brazil2024-05-27
Antonio R Doe1011India2024-05-30
Kadeem U Briddick1012Australia2024-06-15
Antonio G Paprocki1013Canada2024-05-28
Aruna I Nicka1014Spain2024-06-20
Morrow Y Kusko1015Australia2024-05-25
David E Caudy1016Japan2024-06-06
Rodrigues F Maclead1017Argentina2024-06-19
Aditya G Stockham1018Spain2024-06-16
Emily R Dilliard1019Australia2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jones P FollerGermanyAmy Elsner UNQUALIFIED
Greenwood Y DilliardSpainAsiya Javayant UNQUALIFIED
Jeanfrancois M StockhamCanadaIoni Bowcher PROPOSAL
Ivar J IturbideRussiaElwin Sharvill QUALIFIED
Kaitlin T CampainJapanAnna Fali NEGOTIATION
Faith Z AmigonFranceAmy Elsner PROPOSAL
Francesco T DarakjyFranceElwin Sharvill NEW
Aditya G OldroydIndiaAnna Fali UNQUALIFIED
Murillo P RutaJapanStephen Shaw NEGOTIATION
Rodrigues Z ChuiItalyOnyama Limba NEGOTIATION
Sinclair Z WaycottBrazilAmy Elsner UNQUALIFIED
Leon K FerenczSpainIoni Bowcher PROPOSAL
Julie I NickaIndiaXuxue Feng QUALIFIED
Mayumi F CampainItalyIvan Magalhaes NEGOTIATION
Adams T MaletGermanyAsiya Javayant PROPOSAL
David E BriddickItalyBernardo Dominic NEW
Sinclair X GauchoRussiaElwin Sharvill UNQUALIFIED
Francesco P DarakjyRussiaStephen Shaw NEGOTIATION
Cody P ShinkoFranceIoni Bowcher RENEWAL
Johnson D IturbideFranceXuxue Feng UNQUALIFIED
Morrow T AmigonCanadaAnna Fali RENEWAL
Octavia S BriddickItalyElwin Sharvill RENEWAL
Stacey R PoquetteJapanAmy Elsner PROPOSAL
Emily X SchemmerCanadaXuxue Feng PROPOSAL
Leja I SergiJapanAnna Fali QUALIFIED
Morrow N BologniaArgentinaIvan Magalhaes NEW
Jefferson G CampainArgentinaElwin Sharvill RENEWAL
Claire Q GauchoJapanOnyama Limba QUALIFIED
Mujtaba U CampainRussiaAsiya Javayant RENEWAL
Rodrigues N VocelkaItalyBernardo Dominic NEW
Francesco J FigeroaUnited KingdomElwin Sharvill RENEWAL
Sinclair O GauchoAustraliaBernardo Dominic QUALIFIED
Ashley E StockhamAustraliaElwin Sharvill RENEWAL
Chavez N WieserRussiaElwin Sharvill NEW
Ashley J NestleArgentinaAmy Elsner NEW
Misaki M FigeroaAustraliaOnyama Limba UNQUALIFIED
Aruna N ShinkoRussiaAmy Elsner NEW
Faith D IturbideCanadaBernardo Dominic QUALIFIED
Clifford V SaylorsItalyIoni Bowcher RENEWAL
Darci B MacleadRussiaElwin Sharvill PROPOSAL

<style>
    .ui-datatable-frozenlayout-left {
        width: 20%;
    }

    .ui-datatable-frozenlayout-right {
        width: 80%;
    }
</style>


<h:form>
    <div class="card">
        <h5 style="margin-top:0">Vertical</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers1}" scrollable="true" scrollHeight="250">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Horizontal</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers2}" scrollable="true" scrollWidth="600">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Horizontal and Vertical</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers3}" scrollable="true" scrollWidth="50%" scrollHeight="250">
            <p:column headerText="Id" footerText="Id">
                <h:outputText value="#{customer.id}"/>
            </p:column>
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Date" footerText="Date">
                <h:outputText value="#{customer.date}"/>
            </p:column>
            <p:column headerText="Company" footerText="Company">
                <h:outputText value="#{customer.company}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
            <p:column headerText="Activity" footerText="Activity">
                <h:outputText value="#{customer.activity}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Frozen Rows</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers4}" scrollable="true" scrollHeight="250"
                     frozenRows="2">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Frozen Columns</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers5}" scrollable="true" scrollHeight="250"
                     scrollWidth="300" frozenColumns="1">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Id" footerText="Id">
                <h:outputText value="#{customer.id}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Date" footerText="Date">
                <h:outputText value="#{customer.date}"/>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h3>On-Demand Data</h3>
        <p:dataTable var="customer" value="#{dtScrollView.customers6}" scrollRows="20" scrollable="true" liveScroll="true" scrollHeight="150">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Id" footerText="Id">
                <h:outputText value="#{customer.id}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Date" footerText="Date">
                <h:outputText value="#{customer.date}"/>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Virtual Scrolling - 20000 Rows</h5>
        <p:dataTable var="customer" value="#{dtScrollView.lazyModel}" scrollRows="20" scrollable="true"
                     virtualScroll="true" scrollHeight="200" rows="40" style="margin-bottom:0">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

</h:form>