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
Aditya V DoeCanadaBernardo Dominic UNQUALIFIED
Ashley V InouyeJapanElwin Sharvill NEGOTIATION
Morrow Q RulapaughIndiaElwin Sharvill NEGOTIATION
Arvin G GauchoJapanIoni Bowcher NEGOTIATION
Munro C GauchoItalyElwin Sharvill NEGOTIATION
Tony B KolmetzUnited KingdomStephen Shaw NEW
Juan L BologniaAustraliaStephen Shaw PROPOSAL
Maria G PoquetteArgentinaElwin Sharvill NEGOTIATION
Nicolas W ButtSpainXuxue Feng NEW
Octavia S BowleyAustraliaAsiya Javayant UNQUALIFIED
Mayumi T RutaBrazilIvan Magalhaes QUALIFIED
Stacey J AmigonRussiaOnyama Limba RENEWAL
Silvio D WhobreyIndiaOnyama Limba RENEWAL
Wickens E DilliardRussiaAsiya Javayant UNQUALIFIED
Jones J ShinkoArgentinaOnyama Limba PROPOSAL
Johnson V MorascaBrazilBernardo Dominic RENEWAL
Chavez Q DoeCanadaIoni Bowcher NEW
Arvin G ButtUnited KingdomAsiya Javayant NEGOTIATION
Claire Y VenereArgentinaAnna Fali QUALIFIED
Aruna I WieserArgentinaBernardo Dominic PROPOSAL
Costa H RutaUnited KingdomElwin Sharvill QUALIFIED
Octavia U VocelkaSpainIvan Magalhaes QUALIFIED
Nicolas E ShinkoIndiaOnyama Limba UNQUALIFIED
Tony K BriddickJapanStephen Shaw PROPOSAL
James H WaycottItalyAsiya Javayant NEGOTIATION
Leja Y WhobreyBrazilOnyama Limba NEGOTIATION
Greenwood Y SaylorsJapanAmy Elsner NEGOTIATION
Julie H GlickAustraliaIvan Magalhaes QUALIFIED
Mujtaba F MaletBrazilAnna Fali UNQUALIFIED
Antonio U CampainUnited KingdomIvan Magalhaes NEW
Ashley X GlickFranceAnna Fali NEGOTIATION
Jefferson G StensethRussiaStephen Shaw NEW
Isabel R MaletRussiaStephen Shaw PROPOSAL
David J RimUnited KingdomIvan Magalhaes UNQUALIFIED
Izzy N RutaCanadaStephen Shaw UNQUALIFIED
Ricardo P FlosiRussiaIoni Bowcher QUALIFIED
Deepesh Y RoysterIndiaOnyama Limba NEW
Cody M NickaJapanXuxue Feng RENEWAL
Tony W MacleadItalyBernardo Dominic RENEWAL
Ashley Z SergiCanadaXuxue Feng NEW
Aditya F DilliardArgentinaIvan Magalhaes QUALIFIED
Misaki N CaldareraAustraliaBernardo Dominic PROPOSAL
Leon H DilliardArgentinaBernardo Dominic RENEWAL
Greenwood E SchemmerSpainIvan Magalhaes PROPOSAL
David C BriddickAustraliaXuxue Feng NEGOTIATION
Adams B ButtSpainAnna Fali UNQUALIFIED
Smith L DarakjyCanadaAnna Fali NEW
Aditya Q RutaBrazilOnyama Limba RENEWAL
Cody J ChuiItalyStephen Shaw NEGOTIATION
James V CaudyIndiaStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Julie Z VocelkaAustraliaOnyama Limba NEGOTIATION
Alejandro U KolmetzBrazilXuxue Feng NEW
Aruna V FlosiUnited KingdomXuxue Feng NEGOTIATION
Clifford L FlosiBrazilAmy Elsner RENEWAL
Smith A CaldareraBrazilAmy Elsner UNQUALIFIED
Darci T MacleadFranceXuxue Feng QUALIFIED
Clifford M BologniaSpainXuxue Feng NEW
Emily G FlosiUnited KingdomElwin Sharvill RENEWAL
Chavez K PerinRussiaBernardo Dominic UNQUALIFIED
Francesco N MaletFranceBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro B OldroydIndia2025-04-06Chemel, James L Cpa UNQUALIFIED70Onyama Limba
1001Maria Y DilliardIndia2025-04-18Chanay, Jeffrey A Esq NEW15Ivan Magalhaes
1002Stacey J GlickUnited Kingdom2025-04-06Buckley Miller Wright NEGOTIATION12Elwin Sharvill
1003Isabel P IturbideBrazil2025-04-24Feltz Printing Service NEGOTIATION35Anna Fali
1004Ricardo H PaprockiGermany2025-04-22Feiner Bros QUALIFIED91Stephen Shaw
1005Stacey C TollnerGermany2025-04-22Rousseaux, Michael Esq PROPOSAL50Elwin Sharvill
1006Morrow N RimCanada2025-04-22King, Christopher A Esq RENEWAL48Amy Elsner
1007Arvin S MaletGermany2025-04-19Feltz Printing Service PROPOSAL88Bernardo Dominic
1008Aditya J FlosiSpain2025-04-06Rousseaux, Michael Esq NEGOTIATION4Bernardo Dominic
1009Greenwood H AlbaresAustralia2025-04-12Dorl, James J Esq NEGOTIATION14Bernardo Dominic
1010Maria V BowleyArgentina2025-04-03Chapman, Ross E Esq NEGOTIATION71Ioni Bowcher
1011Izzy D NickaIndia2025-04-24Feiner Bros UNQUALIFIED98Elwin Sharvill
1012Kaitlin B CampainItaly2025-04-06Feiner Bros NEGOTIATION71Onyama Limba
1013Isabel X WhobreyUnited Kingdom2025-04-27Benton, John B Jr NEW38Ivan Magalhaes
1014Isabel L RoysterIndia2025-04-15Printing Dimensions QUALIFIED40Stephen Shaw
1015Ashley M RimUnited Kingdom2025-04-13King, Christopher A Esq PROPOSAL28Elwin Sharvill
1016David I DarakjyUnited Kingdom2025-04-19Feiner Bros UNQUALIFIED6Xuxue Feng
1017Smith W MacleadItaly2025-04-01Benton, John B Jr QUALIFIED75Onyama Limba
1018Morrow F DarakjyAustralia2025-04-08Printing Dimensions RENEWAL9Ioni Bowcher
1019Juan P MarrierFrance2025-04-08Buckley Miller Wright NEGOTIATION18Elwin Sharvill
1020Tony Z FigeroaSpain2025-04-17Rousseaux, Michael Esq PROPOSAL70Ivan Magalhaes
1021Costa C KuskoGermany2025-04-29Dorl, James J Esq UNQUALIFIED59Bernardo Dominic
1022Ivar V SlusarskiArgentina2025-04-14Buckley Miller Wright QUALIFIED71Xuxue Feng
1023Wickens K CampainCanada2025-03-31Benton, John B Jr QUALIFIED92Ioni Bowcher
1024Juan X BologniaFrance2025-04-29Chapman, Ross E Esq RENEWAL0Anna Fali
1025Alejandro U FollerItaly2025-04-28Chanay, Jeffrey A Esq QUALIFIED0Anna Fali
1026Juan Y SergiSpain2025-04-07Chemel, James L Cpa PROPOSAL99Amy Elsner
1027Kadeem S RoysterArgentina2025-04-11King, Christopher A Esq NEGOTIATION25Amy Elsner
1028Maria P FollerAustralia2025-04-06Rousseaux, Michael Esq PROPOSAL47Bernardo Dominic
1029Salvatore E WieserGermany2025-04-16Chemel, James L Cpa NEGOTIATION94Bernardo Dominic
1030Arvin M PerinUnited Kingdom2025-04-05Commercial Press RENEWAL72Asiya Javayant
1031Jeanfrancois C MacleadIndia2025-04-07Chanay, Jeffrey A Esq UNQUALIFIED77Asiya Javayant
1032Izzy F OldroydAustralia2025-04-21King, Christopher A Esq NEGOTIATION41Amy Elsner
1033Misaki D DarakjyAustralia2025-04-13Chapman, Ross E Esq NEW30Ivan Magalhaes
1034Julie X StockhamCanada2025-04-15Feltz Printing Service UNQUALIFIED75Amy Elsner
1035Kaitlin X ChuiJapan2025-04-03Benton, John B Jr QUALIFIED85Stephen Shaw
1036Arvin C GauchoItaly2025-04-29Chapman, Ross E Esq NEW60Asiya Javayant
1037Leon O BriddickIndia2025-04-11Commercial Press NEGOTIATION90Xuxue Feng
1038Octavia A CaldareraIndia2025-04-05King, Christopher A Esq UNQUALIFIED75Anna Fali
1039Faith E IturbideJapan2025-04-17Morlong Associates PROPOSAL23Ioni Bowcher
1040Ricardo M GlickFrance2025-04-01Rangoni Of Florence QUALIFIED20Xuxue Feng
1041Ricardo H CaudySpain2025-04-23Printing Dimensions UNQUALIFIED51Ioni Bowcher
1042Chavez S PerinUnited Kingdom2025-04-13Feiner Bros NEW94Stephen Shaw
1043Faith Y MacleadItaly2025-04-23Chanay, Jeffrey A Esq RENEWAL57Stephen Shaw
1044Wickens W DilliardArgentina2025-04-19Morlong Associates RENEWAL71Xuxue Feng
1045Julie B SchemmerAustralia2025-04-12Chemel, James L Cpa QUALIFIED97Amy Elsner
1046Chavez A RulapaughIndia2025-04-02Chemel, James L Cpa UNQUALIFIED92Elwin Sharvill
1047Aika X PerinAustralia2025-04-29Morlong Associates RENEWAL61Elwin Sharvill
1048Faith G VocelkaJapan2025-04-28Rangoni Of Florence UNQUALIFIED16Bernardo Dominic
1049Cody T CaudyArgentina2025-04-04Benton, John B Jr RENEWAL61Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Maria Y WieserArgentinaAnna Fali RENEWAL
Jefferson Q DarakjyBrazilOnyama Limba PROPOSAL
Johnson A TollnerAustraliaAsiya Javayant NEW
Sinclair T SchemmerFranceStephen Shaw RENEWAL
Rodrigues W InouyeJapanAmy Elsner RENEWAL
Misaki X WhobreyJapanAsiya Javayant RENEWAL
Octavia Q InouyeFranceAsiya Javayant NEW
Cody V PerinJapanIvan Magalhaes NEW
David C FlosiFranceAnna Fali PROPOSAL
Smith J KolmetzFranceIvan Magalhaes UNQUALIFIED
Octavia G DoeIndiaAnna Fali RENEWAL
Deepesh H FigeroaCanadaBernardo Dominic RENEWAL
Stacey E GarufiSpainAmy Elsner UNQUALIFIED
Rodrigues O CaudyArgentinaAsiya Javayant UNQUALIFIED
Chavez W DarakjyCanadaAnna Fali RENEWAL
Emily E WhobreyRussiaIvan Magalhaes NEGOTIATION
Clifford V NestleSpainAmy Elsner NEGOTIATION
Nicolas F MaletJapanBernardo Dominic PROPOSAL
Claire E DarakjyAustraliaBernardo Dominic NEGOTIATION
Nicolas Z KolmetzUnited KingdomStephen Shaw RENEWAL
Maria V BriddickAustraliaAnna Fali PROPOSAL
Clifford A ShinkoCanadaIvan Magalhaes QUALIFIED
Mujtaba P VenereUnited KingdomAnna Fali RENEWAL
Mayumi K ButtRussiaAsiya Javayant QUALIFIED
Maria Y MaletRussiaAnna Fali NEGOTIATION
David T ButtRussiaAnna Fali PROPOSAL
Mujtaba O AmigonFranceIoni Bowcher NEGOTIATION
Nicolas K KolmetzBrazilOnyama Limba RENEWAL
Julie P WaycottSpainOnyama Limba PROPOSAL
Smith E ChuiBrazilXuxue Feng RENEWAL
Izzy F MaletRussiaIvan Magalhaes NEW
Ivar M BowleyJapanIvan Magalhaes PROPOSAL
Antonio W NestleAustraliaXuxue Feng NEW
Silvio Q WieserFranceXuxue Feng RENEWAL
Nicolas R MarrierJapanAsiya Javayant QUALIFIED
Aika L ShinkoFranceAnna Fali NEW
Antonio U FollerGermanyBernardo Dominic RENEWAL
Aika T InouyeBrazilAmy Elsner PROPOSAL
Jones H MarrierCanadaIoni Bowcher NEGOTIATION
Munro I PoquetteUnited KingdomBernardo Dominic QUALIFIED
Izzy U ShinkoArgentinaOnyama Limba NEGOTIATION
Wickens H PerinCanadaOnyama Limba PROPOSAL
Aditya H WaycottCanadaElwin Sharvill NEW
Morrow P MaletCanadaBernardo Dominic NEGOTIATION
Ricardo G WieserAustraliaIoni Bowcher RENEWAL
Wickens N PaprockiArgentinaAnna Fali QUALIFIED
Jeanfrancois I VenereArgentinaXuxue Feng UNQUALIFIED
Cody O WhobreyJapanBernardo Dominic UNQUALIFIED
Izzy V DarakjyFranceAsiya Javayant UNQUALIFIED
Izzy M RutaItalyXuxue Feng UNQUALIFIED
Frozen Columns
Name
Juan P Maclead
Juan Z Bowley
Jeanfrancois I Caudy
Arvin E Doe
Smith K Caldarera
Faith L Malet
Ashley P Whobrey
Darci F Tollner
Darci P Dilliard
Arvin L Bowley
Aruna T Whobrey
Morrow C Chui
Juan Q Butt
Isabel D Tollner
Rodrigues Q Saylors
Mujtaba K Vocelka
Rodrigues T Saylors
Deepesh H Doe
Aruna U Malet
Emily J Nestle
Wickens Q Stockham
Tony V Garufi
Claire Y Vocelka
Morrow E Albares
Aika F Waycott
Francesco V Marrier
Leja L Caudy
Antonio W Doe
Izzy R Wieser
Aika A Sergi
Francesco C Nicka
Aditya E Gillian
Octavia K Stenseth
Ashley O Figeroa
Johnson F Kusko
Octavia B Kolmetz
Clifford U Kusko
Isabel Z Iturbide
Maisha M Whobrey
Smith W Ruta
Aika S Caldarera
Jefferson G Flosi
Smith Z Rulapaugh
Johnson A Gaucho
Aika R Bolognia
Stacey Y Caldarera
Clifford C Glick
Octavia Z Garufi
Antonio I Ruta
Juan C Malet
IdCountryDate
1000Italy2025-04-09
1001Germany2025-04-19
1002Argentina2025-04-13
1003Italy2025-04-22
1004United Kingdom2025-04-15
1005Australia2025-04-24
1006Spain2025-04-24
1007France2025-04-22
1008Germany2025-03-31
1009India2025-04-05
1010Russia2025-04-08
1011France2025-04-11
1012Italy2025-04-26
1013Germany2025-04-08
1014France2025-04-20
1015Argentina2025-04-05
1016France2025-04-19
1017Australia2025-04-04
1018Russia2025-04-26
1019United Kingdom2025-04-22
1020Australia2025-04-09
1021Italy2025-04-26
1022Canada2025-04-26
1023Brazil2025-04-16
1024Brazil2025-04-03
1025Germany2025-04-18
1026Canada2025-04-19
1027Spain2025-04-26
1028Australia2025-04-12
1029Germany2025-04-25
1030France2025-04-02
1031Canada2025-04-01
1032Brazil2025-04-20
1033Spain2025-04-19
1034Spain2025-04-27
1035Spain2025-04-09
1036Russia2025-04-21
1037Australia2025-04-29
1038Italy2025-04-07
1039Russia2025-04-10
1040Germany2025-04-15
1041Spain2025-04-01
1042Australia2025-04-25
1043Brazil2025-04-28
1044United Kingdom2025-04-11
1045Germany2025-04-27
1046India2025-04-13
1047Australia2025-04-20
1048Australia2025-04-06
1049Australia2025-04-20

On-Demand Data

NameIdCountryDate
Maria J Caldarera1000Canada2025-04-10
Smith V Inouye1001Canada2025-04-15
Adams J Morasca1002Italy2025-04-04
Ashley K Maclead1003Russia2025-04-18
Maisha X Caudy1004Spain2025-04-15
Munro Y Schemmer1005Brazil2025-04-10
Izzy H Perin1006Brazil2025-04-21
Stacey U Darakjy1007Russia2025-04-13
Wickens S Ostrosky1008Russia2025-04-23
Kaitlin C Bowley1009Russia2025-04-13
Chavez M Stenseth1010Italy2025-04-07
Misaki N Wieser1011France2025-04-23
Sinclair Z Shinko1012United Kingdom2025-04-21
Jennifer H Rulapaugh1013Spain2025-04-06
Aditya L Stockham1014Spain2025-04-03
Adams Z Doe1015United Kingdom2025-04-01
Ricardo R Stockham1016Japan2025-04-16
Ricardo T Nicka1017Spain2025-04-28
Murillo X Morasca1018Australia2025-04-25
Stacey P Oldroyd1019Spain2025-04-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas T DarakjyArgentinaOnyama Limba NEW
Deepesh M TollnerSpainElwin Sharvill PROPOSAL
Wickens Y TollnerJapanAnna Fali NEW
Deepesh S PerinFranceBernardo Dominic NEW
Kadeem J RoysterFranceXuxue Feng NEW
Francesco H FollerAustraliaOnyama Limba RENEWAL
Jones V WhobreyCanadaAsiya Javayant UNQUALIFIED
Costa Z KolmetzSpainXuxue Feng PROPOSAL
Isabel W MaletSpainIvan Magalhaes RENEWAL
Misaki R PerinCanadaBernardo Dominic PROPOSAL
Kaitlin D MorascaArgentinaAnna Fali PROPOSAL
Wickens S BriddickRussiaAsiya Javayant NEGOTIATION
Clifford G GauchoAustraliaAnna Fali PROPOSAL
Adams O SergiGermanyAsiya Javayant QUALIFIED
Francesco B GarufiAustraliaOnyama Limba QUALIFIED
Alejandro F WhobreyFranceIvan Magalhaes NEW
Ivar U PerinCanadaAnna Fali RENEWAL
David B FerenczCanadaElwin Sharvill NEW
Costa S NestleFranceXuxue Feng NEGOTIATION
Clifford S SaylorsUnited KingdomIvan Magalhaes UNQUALIFIED
Juan B WieserArgentinaOnyama Limba QUALIFIED
Aditya O BowleyIndiaOnyama Limba NEGOTIATION
Cody J DarakjyUnited KingdomXuxue Feng NEW
Emily K AlbaresIndiaAsiya Javayant PROPOSAL
Ricardo Q ButtCanadaAsiya Javayant PROPOSAL
Sinclair B TollnerCanadaAnna Fali QUALIFIED
Rodrigues E BologniaRussiaAsiya Javayant NEGOTIATION
Wickens I AlbaresBrazilStephen Shaw QUALIFIED
Greenwood X RutaItalyIoni Bowcher QUALIFIED
Jennifer X MarrierSpainIvan Magalhaes QUALIFIED
Kaitlin Q FerenczBrazilStephen Shaw UNQUALIFIED
Rodrigues F AmigonIndiaAnna Fali RENEWAL
Julie P RimCanadaOnyama Limba RENEWAL
Emily W RulapaughAustraliaStephen Shaw RENEWAL
Morrow S FerenczCanadaBernardo Dominic PROPOSAL
Emily E RoysterUnited KingdomIoni Bowcher PROPOSAL
Mayumi U DarakjyItalyIvan Magalhaes RENEWAL
David M MorascaGermanyIvan Magalhaes RENEWAL
Julie W BriddickJapanBernardo Dominic UNQUALIFIED
Silvio W MorascaSpainAnna Fali NEW

<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>