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
Emily X WaycottJapanStephen Shaw NEW
Ashley T FerenczCanadaStephen Shaw NEW
Ricardo Y KuskoFranceAsiya Javayant NEGOTIATION
Johnson Q PerinSpainStephen Shaw NEGOTIATION
Ricardo N DarakjyUnited KingdomXuxue Feng NEW
Emily P AmigonGermanyXuxue Feng UNQUALIFIED
Isabel D RulapaughJapanXuxue Feng UNQUALIFIED
Rodrigues A SergiAustraliaIoni Bowcher NEGOTIATION
Ivar D MaletItalyAsiya Javayant RENEWAL
Faith P PoquetteGermanyElwin Sharvill PROPOSAL
Stacey M KuskoRussiaOnyama Limba QUALIFIED
Ricardo F PaprockiIndiaBernardo Dominic NEW
Ashley L OldroydSpainXuxue Feng NEW
Adams L DilliardGermanyAmy Elsner UNQUALIFIED
Kadeem R SaylorsBrazilXuxue Feng RENEWAL
Jennifer H MaletRussiaOnyama Limba NEGOTIATION
Salvatore G BowleyUnited KingdomIoni Bowcher NEGOTIATION
Stacey L IturbideAustraliaBernardo Dominic QUALIFIED
Ricardo B CaudyBrazilAmy Elsner NEGOTIATION
Aruna U StockhamAustraliaElwin Sharvill NEGOTIATION
Kaitlin X MarrierSpainAsiya Javayant PROPOSAL
Maisha X MarrierIndiaXuxue Feng RENEWAL
Mayumi C DilliardSpainIoni Bowcher QUALIFIED
Maisha Q CampainGermanyAnna Fali RENEWAL
Aditya S RulapaughJapanAsiya Javayant RENEWAL
Antonio K RulapaughBrazilElwin Sharvill NEW
Johnson K WhobreyRussiaElwin Sharvill NEGOTIATION
Octavia I RimArgentinaAsiya Javayant NEW
Ricardo K StockhamBrazilElwin Sharvill UNQUALIFIED
Wickens A WieserCanadaStephen Shaw NEGOTIATION
Jones Q OldroydJapanIvan Magalhaes RENEWAL
Faith V BologniaBrazilBernardo Dominic RENEWAL
Smith L GlickAustraliaAnna Fali NEW
Rodrigues O CampainAustraliaIvan Magalhaes QUALIFIED
Murillo A MacleadGermanyBernardo Dominic UNQUALIFIED
Stacey M GauchoCanadaXuxue Feng PROPOSAL
Faith K KolmetzGermanyStephen Shaw QUALIFIED
David C DarakjyArgentinaOnyama Limba NEGOTIATION
Ricardo K StockhamAustraliaStephen Shaw UNQUALIFIED
Jennifer M NickaIndiaOnyama Limba NEGOTIATION
Ricardo J InouyeCanadaXuxue Feng QUALIFIED
Francesco R SergiFranceAnna Fali NEW
Jennifer K WieserJapanIoni Bowcher QUALIFIED
Kadeem Z BologniaBrazilAsiya Javayant NEW
Mujtaba B NickaAustraliaAmy Elsner UNQUALIFIED
Nicolas F FerenczCanadaBernardo Dominic PROPOSAL
Tony A GarufiRussiaXuxue Feng RENEWAL
Deepesh D KuskoUnited KingdomAnna Fali RENEWAL
Morrow D VocelkaJapanElwin Sharvill PROPOSAL
Kaitlin Q NickaGermanyBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Jennifer F CampainArgentinaAnna Fali PROPOSAL
Jennifer J InouyeIndiaAnna Fali UNQUALIFIED
Faith B CaudyUnited KingdomAnna Fali NEGOTIATION
Maisha J KuskoCanadaIoni Bowcher QUALIFIED
Rodrigues T OldroydIndiaIvan Magalhaes PROPOSAL
Maisha T ShinkoBrazilIvan Magalhaes UNQUALIFIED
Antonio T MacleadUnited KingdomAmy Elsner QUALIFIED
Sinclair L RulapaughBrazilIvan Magalhaes UNQUALIFIED
Johnson O FollerArgentinaAsiya Javayant RENEWAL
Kadeem T VenereGermanyIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna K OstroskyArgentina2024-05-05Chemel, James L Cpa QUALIFIED86Ivan Magalhaes
1001Chavez W RoysterSpain2024-05-24Dorl, James J Esq UNQUALIFIED32Asiya Javayant
1002Alejandro X WhobreyGermany2024-05-22Chapman, Ross E Esq RENEWAL40Ioni Bowcher
1003Mujtaba L CaudyJapan2024-05-04Benton, John B Jr PROPOSAL58Bernardo Dominic
1004Jeanfrancois O ChuiFrance2024-05-20Chemel, James L Cpa UNQUALIFIED63Elwin Sharvill
1005Izzy I ChuiUnited Kingdom2024-05-21Chemel, James L Cpa NEGOTIATION92Amy Elsner
1006Kadeem T MorascaGermany2024-05-08Buckley Miller Wright NEW84Amy Elsner
1007Stacey G ButtAustralia2024-05-23Dorl, James J Esq NEGOTIATION83Ioni Bowcher
1008Aruna K CaldareraFrance2024-05-12Chanay, Jeffrey A Esq NEW60Onyama Limba
1009Smith Y MarrierFrance2024-05-14Feiner Bros UNQUALIFIED23Bernardo Dominic
1010Jones E MaletRussia2024-05-14Commercial Press NEGOTIATION61Elwin Sharvill
1011Faith E BologniaFrance2024-05-16Feltz Printing Service RENEWAL61Amy Elsner
1012Rodrigues T ShinkoCanada2024-05-09Buckley Miller Wright NEGOTIATION36Bernardo Dominic
1013Jefferson U SergiRussia2024-05-06Benton, John B Jr QUALIFIED9Stephen Shaw
1014Leon D InouyeJapan2024-05-18Rousseaux, Michael Esq QUALIFIED93Ivan Magalhaes
1015Rodrigues X CaldareraSpain2024-05-17Chapman, Ross E Esq RENEWAL58Bernardo Dominic
1016Rodrigues Y BowleyRussia2024-05-04Feltz Printing Service PROPOSAL38Onyama Limba
1017Claire U CaudySpain2024-05-06Commercial Press NEW19Elwin Sharvill
1018Clifford K PaprockiAustralia2024-05-24Feiner Bros NEGOTIATION3Anna Fali
1019Mayumi N StensethFrance2024-05-29Chanay, Jeffrey A Esq NEGOTIATION36Ioni Bowcher
1020Jefferson X CampainIndia2024-05-05Buckley Miller Wright NEW9Stephen Shaw
1021Ivar P InouyeFrance2024-05-12Dorl, James J Esq NEGOTIATION28Elwin Sharvill
1022Wickens O BologniaArgentina2024-05-22Rangoni Of Florence UNQUALIFIED67Anna Fali
1023Johnson O RimBrazil2024-05-24Chemel, James L Cpa RENEWAL13Xuxue Feng
1024Leja C FigeroaCanada2024-05-06Feiner Bros NEW57Xuxue Feng
1025Costa D RoysterJapan2024-05-02Rangoni Of Florence QUALIFIED16Ivan Magalhaes
1026Kaitlin U MorascaGermany2024-05-05King, Christopher A Esq PROPOSAL81Onyama Limba
1027Salvatore I WieserRussia2024-05-14Buckley Miller Wright NEGOTIATION99Ivan Magalhaes
1028Arvin N SergiCanada2024-05-21Chemel, James L Cpa PROPOSAL65Amy Elsner
1029Salvatore O AmigonRussia2024-05-18Truhlar And Truhlar Attys NEGOTIATION29Amy Elsner
1030Smith M AmigonJapan2024-05-07Truhlar And Truhlar Attys UNQUALIFIED40Stephen Shaw
1031Darci W StensethAustralia2024-05-14Chanay, Jeffrey A Esq PROPOSAL71Amy Elsner
1032Clifford B SaylorsRussia2024-05-08Benton, John B Jr UNQUALIFIED0Xuxue Feng
1033Stacey E WaycottArgentina2024-05-17Rousseaux, Michael Esq UNQUALIFIED32Anna Fali
1034Smith D ShinkoIndia2024-05-05Commercial Press RENEWAL69Asiya Javayant
1035Jennifer G ChuiRussia2024-05-17Morlong Associates UNQUALIFIED46Xuxue Feng
1036Munro E RimRussia2024-05-09Feltz Printing Service NEW29Xuxue Feng
1037Jennifer F DilliardItaly2024-05-12King, Christopher A Esq NEGOTIATION81Onyama Limba
1038Octavia S GlickRussia2024-05-29Printing Dimensions NEW6Xuxue Feng
1039Maria L StockhamUnited Kingdom2024-05-30Chapman, Ross E Esq PROPOSAL92Stephen Shaw
1040Ivar P WieserRussia2024-05-15Rousseaux, Michael Esq NEW29Ivan Magalhaes
1041Jones V MaletUnited Kingdom2024-05-05Printing Dimensions RENEWAL71Ioni Bowcher
1042Alejandro D ShinkoJapan2024-05-21Buckley Miller Wright RENEWAL35Stephen Shaw
1043Silvio G MaletRussia2024-05-12Truhlar And Truhlar Attys NEGOTIATION33Ioni Bowcher
1044Emily T KuskoSpain2024-05-13Rousseaux, Michael Esq UNQUALIFIED24Ioni Bowcher
1045Maria B FollerCanada2024-05-03Chapman, Ross E Esq QUALIFIED9Bernardo Dominic
1046Faith G AlbaresFrance2024-05-18Feiner Bros UNQUALIFIED75Ivan Magalhaes
1047Emily X ButtRussia2024-05-05King, Christopher A Esq QUALIFIED36Asiya Javayant
1048Murillo A MacleadItaly2024-05-08Commercial Press PROPOSAL68Onyama Limba
1049Maisha H BologniaArgentina2024-05-24Rousseaux, Michael Esq NEW47Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Munro C PoquetteCanadaAsiya Javayant QUALIFIED
David R GlickSpainIoni Bowcher PROPOSAL
Misaki C VocelkaUnited KingdomAmy Elsner UNQUALIFIED
Tony K PoquetteIndiaAnna Fali UNQUALIFIED
Claire F ChuiFranceBernardo Dominic QUALIFIED
Aditya J ButtGermanyElwin Sharvill NEGOTIATION
Jeanfrancois V OldroydAustraliaIvan Magalhaes QUALIFIED
Munro C MorascaCanadaIoni Bowcher NEW
Jeanfrancois T OldroydArgentinaElwin Sharvill UNQUALIFIED
Jefferson D BowleyFranceAsiya Javayant NEW
Kaitlin G RutaUnited KingdomXuxue Feng UNQUALIFIED
Leja M CaldareraSpainIoni Bowcher PROPOSAL
Mayumi T NickaGermanyBernardo Dominic UNQUALIFIED
Jefferson W ButtJapanAsiya Javayant QUALIFIED
Maisha Y GlickCanadaAmy Elsner NEGOTIATION
Kaitlin O ButtSpainIoni Bowcher NEW
Leon W RoysterRussiaIvan Magalhaes NEW
Leon V DilliardFranceIoni Bowcher QUALIFIED
Francesco O MaletRussiaXuxue Feng PROPOSAL
Leon D NickaGermanyAmy Elsner RENEWAL
Misaki L MorascaCanadaOnyama Limba UNQUALIFIED
Tony D RutaBrazilStephen Shaw QUALIFIED
Faith G VocelkaCanadaAnna Fali NEW
Silvio V SlusarskiCanadaAsiya Javayant NEGOTIATION
Rodrigues E WhobreyGermanyIvan Magalhaes UNQUALIFIED
Leon B TollnerGermanyXuxue Feng QUALIFIED
Deepesh G MorascaFranceAnna Fali UNQUALIFIED
Sinclair H NestleSpainXuxue Feng QUALIFIED
Leja Y RutaSpainAnna Fali RENEWAL
Mujtaba T MaletItalyXuxue Feng UNQUALIFIED
Izzy L PaprockiArgentinaIvan Magalhaes NEGOTIATION
Ashley K TollnerIndiaElwin Sharvill NEW
Silvio E FollerGermanyStephen Shaw RENEWAL
James Q DoeRussiaIvan Magalhaes PROPOSAL
Misaki X PaprockiBrazilAnna Fali QUALIFIED
David O NickaIndiaIoni Bowcher NEW
Rodrigues D OstroskySpainStephen Shaw RENEWAL
Mujtaba L VocelkaUnited KingdomOnyama Limba QUALIFIED
Maisha D BriddickJapanIvan Magalhaes RENEWAL
Misaki V KuskoIndiaIvan Magalhaes QUALIFIED
Morrow O VenereIndiaAmy Elsner NEW
Johnson C BowleyGermanyOnyama Limba QUALIFIED
Johnson S OstroskyGermanyBernardo Dominic PROPOSAL
Tony Q MacleadSpainAsiya Javayant PROPOSAL
Ivar M AlbaresBrazilElwin Sharvill QUALIFIED
Stacey D FerenczCanadaStephen Shaw NEW
Alejandro X SaylorsRussiaXuxue Feng NEW
Antonio V KolmetzGermanyIvan Magalhaes NEGOTIATION
Alejandro X OldroydArgentinaAmy Elsner UNQUALIFIED
Cody G SlusarskiUnited KingdomAsiya Javayant RENEWAL
Frozen Columns
Name
Chavez W Kusko
Octavia I Dilliard
Claire E Wieser
Maisha S Tollner
Salvatore P Glick
Aika F Tollner
Kaitlin A Doe
Deepesh L Foller
Faith J Gaucho
Mujtaba B Inouye
Silvio X Stockham
Alejandro L Briddick
Julie I Doe
Munro F Bolognia
Ricardo C Ostrosky
Leja T Vocelka
Maisha Y Marrier
Sinclair T Poquette
Nicolas U Royster
Leja V Poquette
Maria R Saylors
Claire T Campain
Jefferson I Morasca
Tony A Oldroyd
Wickens C Rulapaugh
Maisha A Iturbide
Antonio B Kolmetz
Jeanfrancois S Stockham
Ashley B Chui
Adams R Amigon
Salvatore N Campain
Sinclair G Albares
Morrow I Doe
Adams X Iturbide
Stacey L Briddick
James J Vocelka
Morrow J Wieser
Faith W Stenseth
Aditya R Paprocki
Wickens L Chui
Leon B Dilliard
Jones P Perin
Cody R Chui
Antonio I Royster
Jeanfrancois L Bowley
Maisha H Paprocki
Stacey W Waycott
Stacey U Malet
Jennifer Y Nestle
Aika G Vocelka
IdCountryDate
1000Italy2024-05-16
1001Japan2024-05-08
1002Canada2024-05-07
1003Spain2024-05-15
1004Spain2024-05-17
1005Japan2024-05-21
1006Japan2024-05-15
1007Germany2024-05-25
1008Canada2024-05-25
1009Russia2024-05-15
1010Argentina2024-05-09
1011India2024-05-24
1012Spain2024-05-31
1013Japan2024-05-22
1014Japan2024-05-06
1015Japan2024-05-06
1016Germany2024-05-09
1017France2024-05-18
1018India2024-05-11
1019Germany2024-05-15
1020Germany2024-05-08
1021Italy2024-05-06
1022United Kingdom2024-05-25
1023Australia2024-05-16
1024Russia2024-05-20
1025Italy2024-05-14
1026Japan2024-05-30
1027Spain2024-05-29
1028Russia2024-05-13
1029India2024-05-17
1030Italy2024-05-18
1031Spain2024-05-31
1032Russia2024-05-08
1033Argentina2024-05-20
1034Canada2024-05-22
1035Germany2024-05-02
1036Japan2024-05-06
1037Argentina2024-05-06
1038Australia2024-05-25
1039Canada2024-05-06
1040Russia2024-05-30
1041Brazil2024-05-17
1042Argentina2024-05-16
1043Russia2024-05-02
1044Japan2024-05-17
1045Argentina2024-05-23
1046Italy2024-05-16
1047India2024-05-21
1048Germany2024-05-24
1049Australia2024-05-18

On-Demand Data

NameIdCountryDate
Stacey P Saylors1000Canada2024-05-23
Silvio Q Inouye1001Spain2024-05-25
Munro N Foller1002Italy2024-05-27
Ashley E Malet1003Germany2024-05-28
Maria H Perin1004Russia2024-05-12
Jennifer Z Darakjy1005Japan2024-05-23
Murillo T Bolognia1006Argentina2024-05-05
Jefferson L Figeroa1007Germany2024-05-09
Mujtaba H Slusarski1008Germany2024-05-23
Costa G Royster1009Canada2024-05-09
Darci Y Butt1010Germany2024-05-11
Morrow P Nicka1011Japan2024-05-21
Leja C Paprocki1012India2024-05-05
Octavia V Shinko1013Italy2024-05-04
Antonio T Caldarera1014France2024-05-20
Kaitlin T Malet1015Argentina2024-05-22
Stacey F Nestle1016Spain2024-05-27
Faith A Flosi1017Germany2024-05-06
Izzy R Stockham1018Argentina2024-05-20
Costa Q Tollner1019Germany2024-05-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna R MacleadSpainBernardo Dominic UNQUALIFIED
Emily Q RoysterIndiaAsiya Javayant PROPOSAL
Mayumi C WhobreyRussiaOnyama Limba UNQUALIFIED
Antonio S CampainUnited KingdomOnyama Limba UNQUALIFIED
Greenwood U VenereItalyOnyama Limba NEW
Cody F DoeUnited KingdomAmy Elsner UNQUALIFIED
Maria W RutaIndiaBernardo Dominic PROPOSAL
Smith T CaudyGermanyAsiya Javayant PROPOSAL
Ashley O PoquetteSpainIvan Magalhaes NEGOTIATION
Jefferson F VenereGermanyIoni Bowcher NEW
Alejandro I AlbaresGermanyAmy Elsner NEGOTIATION
Faith W NestleAustraliaIvan Magalhaes UNQUALIFIED
Antonio X RutaJapanElwin Sharvill NEGOTIATION
Misaki X CaldareraSpainStephen Shaw RENEWAL
Ashley D OldroydRussiaXuxue Feng QUALIFIED
Maisha A InouyeUnited KingdomOnyama Limba RENEWAL
Alejandro I WaycottBrazilBernardo Dominic RENEWAL
Faith S MarrierBrazilAsiya Javayant PROPOSAL
Johnson I MaletItalyOnyama Limba RENEWAL
Tony O CaldareraArgentinaAmy Elsner NEW
Aditya O KolmetzCanadaElwin Sharvill NEGOTIATION
Aika B IturbideFranceIoni Bowcher QUALIFIED
Kaitlin N CaldareraUnited KingdomAmy Elsner NEGOTIATION
Izzy F FlosiUnited KingdomAmy Elsner PROPOSAL
Silvio O WieserItalyBernardo Dominic RENEWAL
Arvin T SlusarskiGermanyAsiya Javayant PROPOSAL
Cody R WhobreySpainAmy Elsner RENEWAL
Aditya F StockhamRussiaOnyama Limba QUALIFIED
Deepesh J MaletArgentinaBernardo Dominic NEGOTIATION
Julie V SaylorsBrazilIoni Bowcher NEGOTIATION
Adams G RoysterBrazilElwin Sharvill NEGOTIATION
Costa M OldroydArgentinaAmy Elsner RENEWAL
Silvio G NickaArgentinaOnyama Limba RENEWAL
Arvin I BologniaItalyOnyama Limba RENEWAL
Chavez X SaylorsSpainOnyama Limba NEGOTIATION
Leja C GauchoUnited KingdomBernardo Dominic UNQUALIFIED
Stacey P VocelkaArgentinaAmy Elsner NEGOTIATION
David S ChuiJapanStephen Shaw UNQUALIFIED
Cody U InouyeArgentinaXuxue Feng RENEWAL
Silvio D AmigonIndiaBernardo Dominic 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>