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
Mujtaba V ShinkoSpainAnna Fali PROPOSAL
Julie L PaprockiAustraliaStephen Shaw PROPOSAL
Rodrigues Z InouyeAustraliaIoni Bowcher NEGOTIATION
Claire O RulapaughUnited KingdomAsiya Javayant QUALIFIED
Mujtaba N BowleyArgentinaStephen Shaw QUALIFIED
Isabel L NickaAustraliaOnyama Limba NEGOTIATION
Deepesh V SlusarskiBrazilIvan Magalhaes QUALIFIED
Arvin C NestleAustraliaAsiya Javayant QUALIFIED
Arvin X PaprockiIndiaAnna Fali RENEWAL
Kadeem S WhobreyJapanIvan Magalhaes PROPOSAL
Jefferson Q FigeroaIndiaIoni Bowcher RENEWAL
Emily R TollnerGermanyAsiya Javayant NEGOTIATION
Chavez Y PoquetteGermanyAmy Elsner PROPOSAL
Leja E GauchoSpainAsiya Javayant PROPOSAL
Leja P PoquetteSpainAmy Elsner NEGOTIATION
Nicolas D TollnerIndiaXuxue Feng NEGOTIATION
Leja C KuskoItalyAsiya Javayant NEGOTIATION
Stacey J PerinGermanyOnyama Limba RENEWAL
Faith D InouyeItalyIvan Magalhaes NEGOTIATION
Morrow L MorascaUnited KingdomAnna Fali PROPOSAL
Claire U InouyeFranceAsiya Javayant PROPOSAL
Maisha Y InouyeJapanAnna Fali QUALIFIED
Alejandro G FlosiItalyAmy Elsner NEW
Morrow O ChuiFranceIoni Bowcher RENEWAL
Claire D AmigonCanadaAnna Fali PROPOSAL
Darci E ShinkoJapanIvan Magalhaes UNQUALIFIED
Deepesh N RulapaughFranceAnna Fali NEGOTIATION
Ivar H BriddickUnited KingdomAsiya Javayant NEGOTIATION
Salvatore R VenereAustraliaBernardo Dominic RENEWAL
Greenwood W ButtRussiaAmy Elsner QUALIFIED
Aika B MarrierGermanyElwin Sharvill QUALIFIED
Antonio P CaldareraAustraliaAnna Fali NEGOTIATION
Deepesh R FollerSpainElwin Sharvill RENEWAL
Octavia Z PerinAustraliaIvan Magalhaes NEGOTIATION
Maria B ChuiBrazilAmy Elsner PROPOSAL
Maria U RimRussiaIvan Magalhaes NEGOTIATION
Morrow R SergiIndiaAmy Elsner RENEWAL
Isabel C GillianJapanIvan Magalhaes PROPOSAL
Wickens P VenereSpainAmy Elsner QUALIFIED
Isabel X AlbaresGermanyStephen Shaw PROPOSAL
Cody S GlickFranceXuxue Feng QUALIFIED
Antonio M FigeroaAustraliaElwin Sharvill PROPOSAL
Isabel H RimGermanyIvan Magalhaes QUALIFIED
David J MorascaItalyAsiya Javayant UNQUALIFIED
Munro T FollerIndiaXuxue Feng RENEWAL
Kaitlin E DoeGermanyOnyama Limba PROPOSAL
Salvatore E WaycottFranceXuxue Feng RENEWAL
Emily Z SergiSpainIoni Bowcher QUALIFIED
Morrow A ButtCanadaAmy Elsner RENEWAL
Salvatore E BologniaFranceBernardo Dominic NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Munro H RimGermanyIoni Bowcher UNQUALIFIED
Costa W StensethSpainIoni Bowcher QUALIFIED
Kaitlin C MaletItalyOnyama Limba PROPOSAL
Mujtaba X VocelkaFranceElwin Sharvill NEW
Deepesh J StockhamBrazilXuxue Feng QUALIFIED
Munro V OldroydSpainStephen Shaw QUALIFIED
Kaitlin D SaylorsAustraliaAmy Elsner UNQUALIFIED
Izzy X MacleadBrazilAnna Fali NEW
Deepesh U AlbaresGermanyBernardo Dominic NEGOTIATION
Chavez W DilliardItalyBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki V MaletCanada2024-06-14Rousseaux, Michael Esq NEW36Ioni Bowcher
1001Izzy X DoeIndia2024-06-19Dorl, James J Esq UNQUALIFIED50Asiya Javayant
1002Munro N MacleadAustralia2024-06-13Benton, John B Jr NEW90Bernardo Dominic
1003Jennifer I AlbaresCanada2024-06-10Feiner Bros NEW58Onyama Limba
1004James Y CaldareraCanada2024-06-04Rangoni Of Florence UNQUALIFIED87Ivan Magalhaes
1005Stacey C FigeroaIndia2024-06-14Dorl, James J Esq NEGOTIATION19Stephen Shaw
1006Maisha F MacleadBrazil2024-06-02Rangoni Of Florence NEGOTIATION10Anna Fali
1007Claire W WieserRussia2024-06-02Morlong Associates QUALIFIED46Asiya Javayant
1008Misaki Z DoeBrazil2024-05-31Printing Dimensions NEW77Stephen Shaw
1009Aditya A MacleadItaly2024-05-23Truhlar And Truhlar Attys RENEWAL12Bernardo Dominic
1010Chavez O KolmetzIndia2024-06-08Chanay, Jeffrey A Esq QUALIFIED92Onyama Limba
1011Silvio F SlusarskiRussia2024-06-21Buckley Miller Wright QUALIFIED11Stephen Shaw
1012Morrow I ButtBrazil2024-06-04Commercial Press RENEWAL62Elwin Sharvill
1013Francesco Z VenereArgentina2024-06-12Commercial Press UNQUALIFIED20Amy Elsner
1014Johnson Y WhobreyBrazil2024-06-11Chapman, Ross E Esq PROPOSAL99Elwin Sharvill
1015Alejandro P RulapaughRussia2024-06-19Rangoni Of Florence PROPOSAL71Xuxue Feng
1016Mayumi S PerinBrazil2024-05-25Commercial Press UNQUALIFIED12Stephen Shaw
1017Faith O BriddickSpain2024-06-13Dorl, James J Esq UNQUALIFIED65Ioni Bowcher
1018Jeanfrancois C FollerIndia2024-06-13Rousseaux, Michael Esq UNQUALIFIED34Stephen Shaw
1019Silvio H DarakjyBrazil2024-05-28Chapman, Ross E Esq RENEWAL66Xuxue Feng
1020Alejandro Y CaudyItaly2024-06-01Printing Dimensions UNQUALIFIED18Ivan Magalhaes
1021Deepesh F BologniaFrance2024-05-30Rousseaux, Michael Esq RENEWAL54Stephen Shaw
1022Juan V BowleyBrazil2024-05-28Feltz Printing Service NEW77Anna Fali
1023Izzy V MarrierAustralia2024-06-06Chapman, Ross E Esq PROPOSAL52Stephen Shaw
1024Antonio J CaudyItaly2024-05-25Truhlar And Truhlar Attys QUALIFIED74Amy Elsner
1025Izzy U FerenczCanada2024-06-10Chapman, Ross E Esq UNQUALIFIED53Asiya Javayant
1026Adams S PerinBrazil2024-05-27King, Christopher A Esq QUALIFIED34Asiya Javayant
1027Chavez O InouyeItaly2024-06-20Commercial Press UNQUALIFIED75Asiya Javayant
1028Adams C WhobreyRussia2024-06-17Chemel, James L Cpa NEGOTIATION28Stephen Shaw
1029Chavez P SchemmerSpain2024-05-26Feltz Printing Service PROPOSAL93Ivan Magalhaes
1030David M SchemmerFrance2024-06-19Feltz Printing Service NEW83Stephen Shaw
1031Munro T KuskoBrazil2024-06-17Printing Dimensions PROPOSAL74Elwin Sharvill
1032Ricardo W MaletSpain2024-06-16Chapman, Ross E Esq QUALIFIED17Ivan Magalhaes
1033Jeanfrancois Q CaldareraGermany2024-06-04Commercial Press NEGOTIATION86Elwin Sharvill
1034Nicolas J ButtUnited Kingdom2024-05-23Truhlar And Truhlar Attys NEW26Ioni Bowcher
1035Jeanfrancois G PoquetteFrance2024-06-06Buckley Miller Wright RENEWAL90Ioni Bowcher
1036Ricardo T DilliardFrance2024-05-27Dorl, James J Esq NEGOTIATION31Onyama Limba
1037Wickens T BologniaGermany2024-06-18Chapman, Ross E Esq UNQUALIFIED63Anna Fali
1038Johnson E VenereGermany2024-06-03Rousseaux, Michael Esq PROPOSAL61Anna Fali
1039Sinclair K ButtIndia2024-06-05Chemel, James L Cpa RENEWAL72Amy Elsner
1040Maisha O MacleadItaly2024-06-04Rousseaux, Michael Esq PROPOSAL32Anna Fali
1041Johnson C SlusarskiFrance2024-05-27Rangoni Of Florence NEGOTIATION38Ioni Bowcher
1042Leja I RutaItaly2024-05-24Feltz Printing Service NEW44Ivan Magalhaes
1043Salvatore B DilliardJapan2024-05-26Morlong Associates NEGOTIATION58Onyama Limba
1044Ivar L FollerItaly2024-05-30Buckley Miller Wright UNQUALIFIED6Asiya Javayant
1045Costa A KuskoRussia2024-06-07Buckley Miller Wright UNQUALIFIED90Ioni Bowcher
1046Antonio K WhobreyJapan2024-05-23King, Christopher A Esq NEGOTIATION57Ivan Magalhaes
1047David V ShinkoSpain2024-06-07Rousseaux, Michael Esq RENEWAL11Amy Elsner
1048Francesco C AlbaresCanada2024-06-02Rousseaux, Michael Esq NEGOTIATION11Stephen Shaw
1049Munro N GlickRussia2024-06-12Morlong Associates RENEWAL61Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Wickens Q StockhamSpainElwin Sharvill QUALIFIED
Ashley B SchemmerCanadaXuxue Feng PROPOSAL
Mayumi Z StockhamRussiaXuxue Feng NEGOTIATION
Kadeem X PoquetteFranceElwin Sharvill UNQUALIFIED
Jones X MarrierArgentinaIvan Magalhaes UNQUALIFIED
Aika Q ButtFranceStephen Shaw PROPOSAL
Morrow W TollnerSpainAsiya Javayant QUALIFIED
Tony C ButtArgentinaStephen Shaw PROPOSAL
Ricardo C KolmetzRussiaIvan Magalhaes QUALIFIED
Mujtaba K BriddickSpainStephen Shaw PROPOSAL
Izzy B IturbideCanadaAmy Elsner NEW
Wickens U ButtBrazilAnna Fali UNQUALIFIED
Jennifer T InouyeRussiaAmy Elsner NEW
Rodrigues N ChuiIndiaIoni Bowcher NEW
Aditya L FigeroaUnited KingdomStephen Shaw UNQUALIFIED
Octavia W WaycottGermanyIvan Magalhaes NEW
Leja Y PaprockiSpainIoni Bowcher UNQUALIFIED
Ivar A SchemmerUnited KingdomBernardo Dominic NEGOTIATION
Maria V NestleFranceAsiya Javayant PROPOSAL
Julie D FigeroaArgentinaAmy Elsner QUALIFIED
Rodrigues V RoysterJapanOnyama Limba QUALIFIED
Costa K PaprockiGermanyElwin Sharvill QUALIFIED
Munro O RimIndiaBernardo Dominic QUALIFIED
Greenwood K StensethJapanStephen Shaw NEW
Sinclair H FerenczBrazilBernardo Dominic UNQUALIFIED
Jones L WaycottJapanIvan Magalhaes NEW
Rodrigues L WhobreyItalyStephen Shaw UNQUALIFIED
Deepesh V ShinkoIndiaStephen Shaw PROPOSAL
Octavia Z ChuiRussiaElwin Sharvill UNQUALIFIED
Johnson H GillianRussiaXuxue Feng QUALIFIED
Izzy G BowleySpainAmy Elsner NEGOTIATION
Jefferson Q GarufiFranceXuxue Feng RENEWAL
Alejandro Y SlusarskiCanadaOnyama Limba NEGOTIATION
Greenwood S PaprockiGermanyOnyama Limba RENEWAL
Isabel V ShinkoBrazilAsiya Javayant QUALIFIED
Francesco P BriddickFranceElwin Sharvill NEW
David B VenereFranceStephen Shaw RENEWAL
Salvatore S MacleadUnited KingdomElwin Sharvill QUALIFIED
Misaki J MarrierJapanBernardo Dominic NEW
Deepesh C BriddickJapanAnna Fali NEGOTIATION
Jefferson Z FigeroaBrazilOnyama Limba NEW
Wickens U AlbaresCanadaIvan Magalhaes RENEWAL
Salvatore X ChuiFranceBernardo Dominic QUALIFIED
Izzy I CaldareraCanadaAsiya Javayant RENEWAL
Misaki X FlosiBrazilXuxue Feng QUALIFIED
Morrow L CaudySpainBernardo Dominic NEGOTIATION
Jennifer R MacleadBrazilIvan Magalhaes QUALIFIED
Johnson P SchemmerIndiaStephen Shaw PROPOSAL
Arvin Y SergiIndiaStephen Shaw NEGOTIATION
Mujtaba H KolmetzUnited KingdomOnyama Limba QUALIFIED
Frozen Columns
Name
Mayumi R Wieser
Tony K Figeroa
Julie H Morasca
David G Whobrey
Adams M Iturbide
Claire K Ostrosky
Julie G Amigon
Cody T Gillian
David U Kolmetz
Alejandro Q Schemmer
Ivar U Bolognia
Johnson J Ostrosky
Arvin L Rulapaugh
Mujtaba C Malet
Izzy O Schemmer
Misaki F Wieser
Rodrigues H Caudy
Jeanfrancois X Waycott
Silvio M Chui
Cody B Slusarski
Salvatore X Oldroyd
Claire T Schemmer
Ivar N Kusko
Octavia P Caldarera
Jennifer W Maclead
Jones D Ruta
Adams A Butt
Cody C Garufi
Deepesh F Rulapaugh
Isabel G Oldroyd
Jeanfrancois B Saylors
Salvatore G Campain
Alejandro D Stenseth
Johnson E Schemmer
Morrow A Caudy
Darci S Briddick
Ricardo N Wieser
Costa C Rulapaugh
Isabel O Tollner
Aika R Vocelka
Francesco D Shinko
Claire N Doe
Julie R Foller
Wickens J Wieser
Sinclair K Tollner
Jefferson H Flosi
Mujtaba J Morasca
Salvatore C Ferencz
Maria J Nestle
Wickens A Nicka
IdCountryDate
1000Germany2024-06-21
1001United Kingdom2024-06-11
1002Germany2024-06-06
1003France2024-06-19
1004France2024-06-13
1005Argentina2024-05-23
1006Canada2024-05-25
1007Germany2024-05-28
1008Australia2024-06-15
1009Italy2024-06-19
1010Italy2024-06-14
1011Australia2024-06-14
1012Canada2024-06-15
1013Canada2024-05-31
1014United Kingdom2024-06-12
1015Japan2024-05-27
1016Canada2024-06-09
1017Argentina2024-06-12
1018Spain2024-06-13
1019Australia2024-05-30
1020Italy2024-06-07
1021Argentina2024-06-21
1022Japan2024-05-30
1023Australia2024-05-28
1024Japan2024-06-21
1025Germany2024-06-06
1026Germany2024-05-29
1027Germany2024-06-20
1028Spain2024-06-13
1029France2024-06-15
1030Argentina2024-06-14
1031Australia2024-06-16
1032Brazil2024-06-13
1033India2024-05-29
1034Australia2024-06-18
1035India2024-06-03
1036France2024-06-20
1037Germany2024-06-16
1038Brazil2024-06-15
1039Argentina2024-06-20
1040Australia2024-05-26
1041India2024-06-01
1042United Kingdom2024-05-23
1043France2024-06-03
1044Germany2024-06-17
1045Italy2024-06-05
1046Russia2024-06-10
1047Italy2024-05-25
1048India2024-06-14
1049France2024-05-31

On-Demand Data

NameIdCountryDate
Jennifer O Malet1000Spain2024-05-31
James H Sergi1001Russia2024-05-24
Silvio Z Perin1002Argentina2024-06-10
Deepesh V Perin1003France2024-05-28
Sinclair C Dilliard1004Spain2024-06-08
Aika S Iturbide1005Germany2024-05-26
Maria I Caldarera1006Canada2024-06-13
Aruna J Gaucho1007Canada2024-06-18
Ashley V Foller1008Spain2024-06-02
Greenwood F Iturbide1009France2024-06-12
Kaitlin V Garufi1010Italy2024-06-10
Clifford F Rulapaugh1011Italy2024-06-03
David G Iturbide1012Argentina2024-06-20
Octavia Q Paprocki1013Canada2024-06-04
Ashley B Campain1014Canada2024-06-03
James C Darakjy1015Argentina2024-06-07
David I Royster1016Australia2024-06-21
Ricardo I Bowley1017France2024-06-12
Aruna K Ostrosky1018Japan2024-06-16
Murillo G Shinko1019Australia2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo L FigeroaBrazilAmy Elsner NEGOTIATION
Maria H GauchoGermanyAnna Fali NEGOTIATION
Nicolas Q FollerRussiaAsiya Javayant PROPOSAL
Adams T BowleyRussiaIvan Magalhaes UNQUALIFIED
Chavez M WieserRussiaIoni Bowcher NEGOTIATION
Tony X MaletCanadaElwin Sharvill UNQUALIFIED
Juan J VenereFranceStephen Shaw NEGOTIATION
James K DoeJapanIoni Bowcher RENEWAL
Deepesh D OldroydRussiaXuxue Feng NEW
Kaitlin R ShinkoFranceOnyama Limba RENEWAL
Costa U PerinArgentinaOnyama Limba NEGOTIATION
Emily J PoquetteRussiaBernardo Dominic PROPOSAL
Ivar R RimUnited KingdomAsiya Javayant NEW
Maria E WhobreyGermanyAnna Fali UNQUALIFIED
Maisha H TollnerIndiaStephen Shaw UNQUALIFIED
Ivar A IturbideFranceIoni Bowcher UNQUALIFIED
Aditya L BologniaRussiaOnyama Limba NEW
James W RulapaughCanadaIoni Bowcher PROPOSAL
Ashley B CaudyBrazilStephen Shaw NEGOTIATION
Sinclair J CaudyJapanIoni Bowcher PROPOSAL
Clifford G GauchoRussiaAnna Fali UNQUALIFIED
Deepesh S SaylorsCanadaElwin Sharvill NEW
Darci E ChuiBrazilAsiya Javayant UNQUALIFIED
Silvio W ChuiItalyStephen Shaw UNQUALIFIED
Leon P SaylorsUnited KingdomXuxue Feng PROPOSAL
Mujtaba H TollnerIndiaBernardo Dominic NEW
Ivar A RutaJapanElwin Sharvill QUALIFIED
Darci S AlbaresBrazilAmy Elsner PROPOSAL
Julie U MorascaJapanBernardo Dominic RENEWAL
Morrow D GlickBrazilOnyama Limba NEGOTIATION
Deepesh D CaldareraSpainAnna Fali PROPOSAL
Smith N WieserAustraliaAmy Elsner PROPOSAL
Jones C SaylorsJapanIoni Bowcher RENEWAL
Maisha G RoysterSpainAsiya Javayant PROPOSAL
Ricardo G GillianRussiaAnna Fali PROPOSAL
Mujtaba F WaycottBrazilBernardo Dominic NEW
Maisha M WhobreyUnited KingdomElwin Sharvill RENEWAL
Morrow O VenereAustraliaAsiya Javayant PROPOSAL
Misaki G SlusarskiSpainAmy Elsner QUALIFIED
Leja T MaletRussiaIoni Bowcher 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>