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
James B NestleIndiaAmy Elsner NEGOTIATION
Clifford V PoquetteIndiaBernardo Dominic NEGOTIATION
Octavia Y KuskoIndiaStephen Shaw RENEWAL
Jones J DoeUnited KingdomElwin Sharvill NEGOTIATION
Salvatore D MaletCanadaXuxue Feng NEGOTIATION
Leon E AlbaresIndiaXuxue Feng RENEWAL
Octavia R GauchoGermanyElwin Sharvill NEW
Sinclair Y BriddickArgentinaAsiya Javayant NEGOTIATION
Kaitlin A KolmetzAustraliaIvan Magalhaes QUALIFIED
Faith W CaldareraAustraliaAsiya Javayant PROPOSAL
Stacey H VenereSpainIoni Bowcher QUALIFIED
Tony J TollnerArgentinaOnyama Limba NEGOTIATION
Mujtaba Q CampainJapanStephen Shaw UNQUALIFIED
Maisha X DarakjyBrazilXuxue Feng NEW
Jeanfrancois D PoquetteSpainIvan Magalhaes RENEWAL
Silvio Z SchemmerArgentinaElwin Sharvill RENEWAL
Munro A NickaUnited KingdomXuxue Feng UNQUALIFIED
Darci R PoquetteCanadaOnyama Limba NEGOTIATION
Greenwood A RoysterGermanyAmy Elsner UNQUALIFIED
Aditya F SergiUnited KingdomElwin Sharvill UNQUALIFIED
Octavia U PaprockiGermanyBernardo Dominic NEGOTIATION
Chavez V ButtCanadaIvan Magalhaes RENEWAL
Aika V FigeroaIndiaXuxue Feng NEW
Murillo B InouyeBrazilIvan Magalhaes PROPOSAL
Cody J MaletAustraliaAmy Elsner UNQUALIFIED
James R AmigonIndiaBernardo Dominic QUALIFIED
Francesco A TollnerItalyAnna Fali NEW
Julie I DoeAustraliaOnyama Limba QUALIFIED
Emily O WieserUnited KingdomAnna Fali UNQUALIFIED
Kaitlin J CampainCanadaAnna Fali UNQUALIFIED
Rodrigues B StensethJapanAnna Fali UNQUALIFIED
Jeanfrancois M OldroydAustraliaBernardo Dominic QUALIFIED
Salvatore M PerinSpainAnna Fali RENEWAL
Isabel H SergiRussiaAsiya Javayant RENEWAL
Nicolas P MaletFranceBernardo Dominic NEGOTIATION
Maria H CampainAustraliaOnyama Limba QUALIFIED
Mujtaba E GarufiItalyStephen Shaw PROPOSAL
Ashley K BologniaGermanyStephen Shaw NEW
Costa I VenereRussiaOnyama Limba UNQUALIFIED
Maisha D IturbideItalyStephen Shaw QUALIFIED
Aditya F OstroskyFranceAmy Elsner PROPOSAL
Aditya B TollnerAustraliaElwin Sharvill NEW
David S IturbideIndiaOnyama Limba UNQUALIFIED
Emily C MacleadSpainAsiya Javayant UNQUALIFIED
Octavia T VocelkaIndiaOnyama Limba RENEWAL
Maria K CaudyItalyBernardo Dominic UNQUALIFIED
Aika U KolmetzAustraliaIoni Bowcher NEGOTIATION
Nicolas U BriddickBrazilAmy Elsner QUALIFIED
Salvatore Q OldroydJapanIoni Bowcher NEGOTIATION
Salvatore L PoquetteCanadaAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Morrow G ButtCanadaBernardo Dominic QUALIFIED
Murillo L FlosiRussiaOnyama Limba PROPOSAL
Nicolas Q GarufiIndiaStephen Shaw NEGOTIATION
Faith I BowleyUnited KingdomElwin Sharvill NEGOTIATION
Jeanfrancois T RulapaughArgentinaAmy Elsner PROPOSAL
Rodrigues Y FerenczArgentinaIvan Magalhaes QUALIFIED
Jennifer S FigeroaCanadaAsiya Javayant RENEWAL
Jeanfrancois Q FigeroaBrazilOnyama Limba QUALIFIED
Faith Q PerinItalyAnna Fali UNQUALIFIED
Wickens Q GlickFranceIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie H SlusarskiGermany2025-04-29Morlong Associates PROPOSAL30Xuxue Feng
1001Aruna X SlusarskiUnited Kingdom2025-04-08Chanay, Jeffrey A Esq UNQUALIFIED32Amy Elsner
1002Aika D OstroskyFrance2025-04-03Truhlar And Truhlar Attys RENEWAL63Ioni Bowcher
1003Rodrigues L SergiAustralia2025-04-19Feiner Bros RENEWAL61Anna Fali
1004Morrow E WaycottSpain2025-04-26Dorl, James J Esq RENEWAL44Anna Fali
1005Chavez P NestleJapan2025-04-23Truhlar And Truhlar Attys NEW9Onyama Limba
1006David L WieserFrance2025-04-07King, Christopher A Esq PROPOSAL82Elwin Sharvill
1007Ricardo C ChuiJapan2025-04-02Feltz Printing Service QUALIFIED18Ioni Bowcher
1008Nicolas E RutaItaly2025-04-25Chanay, Jeffrey A Esq PROPOSAL92Anna Fali
1009Aditya Q GarufiSpain2025-04-30Commercial Press QUALIFIED7Anna Fali
1010Jennifer J MorascaRussia2025-04-05Chapman, Ross E Esq NEW78Ivan Magalhaes
1011James E FerenczJapan2025-04-02Dorl, James J Esq RENEWAL75Xuxue Feng
1012Nicolas I FigeroaIndia2025-04-08Buckley Miller Wright NEGOTIATION84Ioni Bowcher
1013Leon Q DoeUnited Kingdom2025-04-06Benton, John B Jr UNQUALIFIED69Xuxue Feng
1014Aruna M GarufiUnited Kingdom2025-04-29Commercial Press RENEWAL65Elwin Sharvill
1015Jeanfrancois W SlusarskiSpain2025-04-26Morlong Associates QUALIFIED64Ioni Bowcher
1016Octavia M NestleRussia2025-04-09Truhlar And Truhlar Attys QUALIFIED4Asiya Javayant
1017Stacey F StensethCanada2025-04-24Truhlar And Truhlar Attys NEW2Asiya Javayant
1018Silvio G OldroydArgentina2025-04-02Morlong Associates RENEWAL67Ivan Magalhaes
1019Ivar Z DoeRussia2025-04-02Rangoni Of Florence NEW73Stephen Shaw
1020Costa B DilliardAustralia2025-04-29Chapman, Ross E Esq NEGOTIATION84Amy Elsner
1021Ricardo B MorascaCanada2025-04-06Chemel, James L Cpa RENEWAL3Asiya Javayant
1022Claire V StensethAustralia2025-04-06Morlong Associates NEW51Bernardo Dominic
1023Aika Q ButtGermany2025-04-14Rangoni Of Florence RENEWAL73Amy Elsner
1024Clifford J RutaAustralia2025-04-14Commercial Press NEW29Anna Fali
1025Rodrigues E IturbideRussia2025-04-29Commercial Press NEW65Amy Elsner
1026Alejandro P ShinkoRussia2025-04-29Truhlar And Truhlar Attys UNQUALIFIED81Ivan Magalhaes
1027Rodrigues K SaylorsBrazil2025-04-03Chanay, Jeffrey A Esq PROPOSAL52Ivan Magalhaes
1028Claire L MorascaSpain2025-04-08Chanay, Jeffrey A Esq RENEWAL46Ioni Bowcher
1029Misaki X SchemmerFrance2025-04-11Dorl, James J Esq RENEWAL10Amy Elsner
1030Morrow N StensethArgentina2025-04-09Buckley Miller Wright UNQUALIFIED24Elwin Sharvill
1031Isabel J SchemmerIndia2025-04-02Rangoni Of Florence NEGOTIATION76Anna Fali
1032Adams J SergiGermany2025-04-08Chapman, Ross E Esq NEGOTIATION56Stephen Shaw
1033Nicolas K CaldareraFrance2025-04-13Rangoni Of Florence NEW58Anna Fali
1034Jefferson R RimCanada2025-04-18Commercial Press PROPOSAL46Amy Elsner
1035Antonio Q MaletJapan2025-04-08Morlong Associates NEGOTIATION34Amy Elsner
1036Ricardo M GillianItaly2025-04-26Printing Dimensions NEW16Amy Elsner
1037Munro E RulapaughBrazil2025-04-22Morlong Associates PROPOSAL66Elwin Sharvill
1038Izzy Y CaudyBrazil2025-04-19Feltz Printing Service QUALIFIED59Stephen Shaw
1039Wickens N DarakjyJapan2025-04-30Benton, John B Jr RENEWAL21Xuxue Feng
1040Leon J ShinkoArgentina2025-04-27Rousseaux, Michael Esq NEGOTIATION27Stephen Shaw
1041Mayumi Q StensethCanada2025-04-20Rangoni Of Florence NEW59Asiya Javayant
1042Izzy C CaldareraFrance2025-04-06Buckley Miller Wright UNQUALIFIED85Ivan Magalhaes
1043Costa P FlosiUnited Kingdom2025-04-27Chapman, Ross E Esq NEGOTIATION96Amy Elsner
1044David S VenereArgentina2025-04-18King, Christopher A Esq UNQUALIFIED19Bernardo Dominic
1045Cody O AlbaresItaly2025-04-29Printing Dimensions UNQUALIFIED43Elwin Sharvill
1046Cody G MaletSpain2025-04-25Chanay, Jeffrey A Esq RENEWAL27Xuxue Feng
1047Faith C WieserRussia2025-04-03Feiner Bros RENEWAL46Elwin Sharvill
1048Kadeem K GarufiBrazil2025-04-23Commercial Press RENEWAL95Anna Fali
1049Mujtaba W RimIndia2025-04-16Dorl, James J Esq RENEWAL41Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Nicolas A KolmetzItalyStephen Shaw QUALIFIED
Antonio X RoysterCanadaIvan Magalhaes QUALIFIED
Costa A ShinkoGermanyStephen Shaw NEW
Faith X InouyeItalyBernardo Dominic PROPOSAL
Stacey F AlbaresGermanyBernardo Dominic UNQUALIFIED
Misaki H MacleadSpainBernardo Dominic UNQUALIFIED
Kaitlin V NickaSpainStephen Shaw NEGOTIATION
Mayumi V GauchoAustraliaIvan Magalhaes NEGOTIATION
David X GauchoJapanIvan Magalhaes QUALIFIED
Mujtaba S GauchoBrazilElwin Sharvill NEGOTIATION
Emily N RoysterRussiaStephen Shaw NEW
Darci O AlbaresGermanyAmy Elsner NEGOTIATION
Arvin O GillianItalyOnyama Limba UNQUALIFIED
Clifford T FerenczCanadaAnna Fali NEW
Misaki B RoysterItalyOnyama Limba NEW
Munro Y FollerJapanBernardo Dominic PROPOSAL
Johnson R GillianArgentinaElwin Sharvill PROPOSAL
Leja B PaprockiUnited KingdomAmy Elsner PROPOSAL
Rodrigues I GlickItalyAsiya Javayant NEW
Faith E MarrierArgentinaAmy Elsner QUALIFIED
Julie V KuskoRussiaAsiya Javayant PROPOSAL
Isabel E MarrierFranceXuxue Feng QUALIFIED
Emily B RoysterRussiaIvan Magalhaes PROPOSAL
Aika X OstroskyArgentinaOnyama Limba RENEWAL
Leja W DarakjyJapanIoni Bowcher QUALIFIED
Cody W CampainSpainAsiya Javayant QUALIFIED
Nicolas N ButtBrazilAnna Fali PROPOSAL
Ricardo F MaletIndiaIoni Bowcher RENEWAL
Jennifer L AlbaresRussiaElwin Sharvill RENEWAL
Tony T FlosiAustraliaIvan Magalhaes QUALIFIED
Aditya L RimIndiaBernardo Dominic PROPOSAL
Maisha X KuskoArgentinaXuxue Feng NEW
Smith C GauchoFranceElwin Sharvill NEW
Julie F TollnerAustraliaBernardo Dominic QUALIFIED
Chavez X MaletIndiaXuxue Feng NEW
Isabel D PoquetteSpainAmy Elsner RENEWAL
Johnson E ChuiAustraliaXuxue Feng QUALIFIED
Emily J MaletGermanyAmy Elsner NEGOTIATION
Morrow S AlbaresUnited KingdomStephen Shaw QUALIFIED
Francesco D RutaIndiaIoni Bowcher NEW
Julie T CampainGermanyIvan Magalhaes RENEWAL
Faith T SergiJapanAnna Fali RENEWAL
Nicolas V SchemmerUnited KingdomAsiya Javayant QUALIFIED
Mayumi R CaldareraBrazilXuxue Feng NEGOTIATION
Antonio R CaudyRussiaIoni Bowcher NEGOTIATION
Maria Z FigeroaRussiaAsiya Javayant UNQUALIFIED
Aruna A StockhamAustraliaIvan Magalhaes QUALIFIED
Silvio M RimRussiaAmy Elsner NEGOTIATION
Jones B BriddickUnited KingdomElwin Sharvill NEGOTIATION
Nicolas Y StensethCanadaAsiya Javayant QUALIFIED
Frozen Columns
Name
Octavia G Poquette
Adams L Paprocki
Jeanfrancois G Oldroyd
Stacey K Campain
Adams I Vocelka
Adams N Shinko
Juan X Doe
Alejandro A Whobrey
Salvatore B Paprocki
Stacey S Oldroyd
Greenwood A Inouye
Leja F Malet
Emily U Tollner
Ivar Z Ferencz
Jennifer H Darakjy
Julie E Ruta
Arvin V Albares
Jeanfrancois W Stenseth
Kaitlin Y Gillian
Clifford B Royster
Francesco T Tollner
Claire U Rulapaugh
Wickens I Caudy
James D Flosi
Aika X Tollner
Leon Z Paprocki
Emily G Garufi
Maria E Poquette
Julie I Sergi
Leja E Saylors
David Y Chui
Jennifer Y Figeroa
Ashley F Saylors
Jeanfrancois B Tollner
Silvio H Kusko
Johnson N Foller
Julie E Vocelka
Stacey Q Whobrey
Darci S Nicka
Octavia L Glick
Stacey L Marrier
Sinclair N Morasca
Silvio H Poquette
Antonio O Darakjy
Stacey G Oldroyd
Maisha W Kusko
Ricardo P Doe
Maisha U Saylors
Adams F Morasca
Isabel S Iturbide
IdCountryDate
1000Canada2025-04-07
1001Brazil2025-04-08
1002Brazil2025-04-28
1003France2025-04-21
1004Japan2025-04-17
1005United Kingdom2025-04-19
1006Canada2025-04-05
1007Russia2025-04-07
1008Italy2025-04-02
1009Russia2025-04-12
1010Germany2025-04-16
1011Argentina2025-04-24
1012Germany2025-04-26
1013Argentina2025-04-25
1014Brazil2025-04-12
1015Japan2025-04-27
1016Argentina2025-04-11
1017France2025-04-13
1018India2025-04-30
1019Canada2025-04-03
1020United Kingdom2025-04-08
1021Germany2025-04-22
1022Canada2025-04-02
1023Japan2025-04-16
1024India2025-04-11
1025India2025-04-10
1026United Kingdom2025-04-26
1027United Kingdom2025-04-12
1028Brazil2025-04-13
1029France2025-04-21
1030Russia2025-04-09
1031Italy2025-04-02
1032Germany2025-04-02
1033Spain2025-04-14
1034Brazil2025-04-17
1035Argentina2025-04-22
1036United Kingdom2025-04-13
1037Germany2025-04-08
1038Argentina2025-04-28
1039Germany2025-04-20
1040Australia2025-04-24
1041Argentina2025-04-20
1042Italy2025-04-09
1043Brazil2025-04-14
1044Japan2025-04-25
1045United Kingdom2025-04-08
1046Japan2025-04-05
1047Italy2025-04-28
1048United Kingdom2025-04-28
1049Russia2025-04-18

On-Demand Data

NameIdCountryDate
Francesco N Stenseth1000Russia2025-04-04
Juan R Paprocki1001Argentina2025-04-19
Darci J Waycott1002Australia2025-04-11
Salvatore A Malet1003Australia2025-04-08
Salvatore H Malet1004Germany2025-04-11
Leja C Waycott1005Australia2025-04-19
Wickens G Flosi1006Russia2025-04-19
Octavia H Venere1007Canada2025-04-04
Kaitlin O Nicka1008Russia2025-04-01
Claire D Perin1009United Kingdom2025-04-30
Silvio R Caldarera1010Russia2025-04-26
Morrow Q Campain1011Argentina2025-04-15
Darci S Stenseth1012Italy2025-04-22
Adams F Nicka1013France2025-04-19
Maisha I Amigon1014Germany2025-04-07
Emily G Iturbide1015United Kingdom2025-04-30
Morrow M Bowley1016Australia2025-04-01
Izzy S Bowley1017Argentina2025-04-04
Alejandro Q Morasca1018Australia2025-04-07
Sinclair E Saylors1019Germany2025-04-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas N WieserRussiaElwin Sharvill RENEWAL
Salvatore A CampainAustraliaAsiya Javayant NEW
Stacey L FollerIndiaStephen Shaw RENEWAL
Kaitlin R VenereIndiaBernardo Dominic NEGOTIATION
Mujtaba K SlusarskiIndiaAsiya Javayant QUALIFIED
Antonio D StensethIndiaStephen Shaw NEGOTIATION
David L OldroydBrazilAnna Fali PROPOSAL
Octavia Q NickaBrazilAnna Fali NEGOTIATION
Aditya T ButtSpainIvan Magalhaes PROPOSAL
Aika B GarufiFranceAnna Fali RENEWAL
Murillo S CampainIndiaElwin Sharvill RENEWAL
Leon A CaldareraRussiaElwin Sharvill PROPOSAL
Emily D WhobreyAustraliaIvan Magalhaes PROPOSAL
Arvin S RulapaughBrazilIoni Bowcher NEGOTIATION
Leja C RoysterGermanyXuxue Feng PROPOSAL
Izzy W VocelkaBrazilAmy Elsner NEGOTIATION
Nicolas E WaycottRussiaAmy Elsner UNQUALIFIED
Salvatore A RulapaughItalyAsiya Javayant QUALIFIED
Smith Q InouyeRussiaAmy Elsner RENEWAL
Tony B BowleyGermanyIvan Magalhaes NEW
Tony Y AmigonGermanyXuxue Feng QUALIFIED
Morrow T ChuiRussiaOnyama Limba PROPOSAL
Cody U PaprockiIndiaAmy Elsner NEW
Salvatore V CaldareraFranceElwin Sharvill RENEWAL
Mayumi G IturbideIndiaIvan Magalhaes UNQUALIFIED
Maria D KolmetzItalyAnna Fali NEW
Morrow B GillianJapanAnna Fali NEW
Adams U SaylorsRussiaAsiya Javayant NEW
David G TollnerUnited KingdomIoni Bowcher NEGOTIATION
Ivar J CaudyItalyIvan Magalhaes NEW
Emily J ButtRussiaAmy Elsner QUALIFIED
Octavia A CampainJapanElwin Sharvill QUALIFIED
Mayumi J ButtIndiaAnna Fali PROPOSAL
Ivar N KolmetzGermanyBernardo Dominic QUALIFIED
James T OldroydJapanStephen Shaw NEGOTIATION
Aditya K ButtCanadaStephen Shaw RENEWAL
Julie Q RimCanadaStephen Shaw NEGOTIATION
Stacey C OldroydBrazilIoni Bowcher UNQUALIFIED
Jefferson Y GauchoJapanOnyama Limba PROPOSAL
Aditya X GauchoUnited KingdomOnyama Limba 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>