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
Antonio Y DoeUnited KingdomIoni Bowcher QUALIFIED
Ricardo J SlusarskiBrazilBernardo Dominic PROPOSAL
Mujtaba D IturbideBrazilElwin Sharvill NEW
Izzy A GlickAustraliaIvan Magalhaes PROPOSAL
Isabel Q VocelkaGermanyAsiya Javayant PROPOSAL
James A WaycottJapanAmy Elsner NEW
Darci Y StockhamSpainIvan Magalhaes UNQUALIFIED
Smith V CaudyJapanBernardo Dominic UNQUALIFIED
Aika O WaycottArgentinaElwin Sharvill RENEWAL
Jones F IturbideUnited KingdomAnna Fali UNQUALIFIED
Stacey N SergiArgentinaAnna Fali RENEWAL
Darci W OldroydJapanBernardo Dominic PROPOSAL
Stacey W RimCanadaOnyama Limba NEGOTIATION
Mayumi B RimRussiaStephen Shaw PROPOSAL
Salvatore A RutaGermanyBernardo Dominic PROPOSAL
Jefferson F MacleadBrazilIvan Magalhaes NEW
Faith P InouyeGermanyOnyama Limba UNQUALIFIED
Chavez D KuskoAustraliaElwin Sharvill RENEWAL
Costa M ChuiUnited KingdomAnna Fali NEW
Maisha A CaudyGermanyIvan Magalhaes QUALIFIED
Rodrigues E BologniaGermanyIoni Bowcher PROPOSAL
Clifford Y DoeSpainBernardo Dominic NEW
Murillo A BologniaUnited KingdomIoni Bowcher QUALIFIED
Aruna E CampainBrazilAsiya Javayant UNQUALIFIED
Emily Y InouyeUnited KingdomElwin Sharvill QUALIFIED
David R NestleCanadaElwin Sharvill UNQUALIFIED
Mujtaba J PaprockiAustraliaBernardo Dominic RENEWAL
Arvin E KolmetzSpainIoni Bowcher NEW
Arvin V CaudyUnited KingdomBernardo Dominic NEGOTIATION
Kadeem B PaprockiUnited KingdomOnyama Limba UNQUALIFIED
Octavia K PaprockiCanadaAmy Elsner NEGOTIATION
Leon O GarufiIndiaAmy Elsner NEW
Cody K InouyeUnited KingdomIoni Bowcher RENEWAL
Misaki B GlickItalyStephen Shaw RENEWAL
Misaki G ButtArgentinaOnyama Limba PROPOSAL
David T ChuiCanadaElwin Sharvill UNQUALIFIED
Mayumi T RulapaughJapanXuxue Feng NEGOTIATION
Ashley E SaylorsFranceAnna Fali NEW
Darci X ButtIndiaBernardo Dominic NEW
Ricardo I PerinJapanAmy Elsner NEGOTIATION
Mujtaba R SchemmerGermanyIvan Magalhaes PROPOSAL
Izzy K SergiFranceElwin Sharvill NEGOTIATION
David X SchemmerFranceXuxue Feng QUALIFIED
Kaitlin O SergiJapanAsiya Javayant NEGOTIATION
Morrow D PaprockiBrazilIoni Bowcher RENEWAL
Chavez U AmigonSpainBernardo Dominic RENEWAL
Aruna C GauchoSpainBernardo Dominic QUALIFIED
Tony B FollerItalyXuxue Feng PROPOSAL
James B RoysterArgentinaAsiya Javayant QUALIFIED
Aditya Y GlickFranceIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Adams P IturbideIndiaOnyama Limba QUALIFIED
Costa L GillianBrazilAsiya Javayant NEGOTIATION
Deepesh F TollnerAustraliaStephen Shaw PROPOSAL
Maria L ShinkoCanadaXuxue Feng RENEWAL
Jeanfrancois A IturbideIndiaXuxue Feng QUALIFIED
Arvin R RoysterBrazilElwin Sharvill NEGOTIATION
Munro K NestleAustraliaBernardo Dominic UNQUALIFIED
Adams I MorascaJapanOnyama Limba PROPOSAL
Deepesh R BologniaArgentinaOnyama Limba PROPOSAL
Aika Z StensethGermanyBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba E OldroydUnited Kingdom2024-06-05Benton, John B Jr RENEWAL8Anna Fali
1001Mujtaba B IturbideArgentina2024-05-28Buckley Miller Wright PROPOSAL10Xuxue Feng
1002Jefferson J FlosiBrazil2024-05-29Rousseaux, Michael Esq UNQUALIFIED36Bernardo Dominic
1003Smith I MacleadSpain2024-06-22Printing Dimensions QUALIFIED33Bernardo Dominic
1004Maria P RoysterFrance2024-06-03Rangoni Of Florence QUALIFIED20Ioni Bowcher
1005Kaitlin N PaprockiRussia2024-06-03Morlong Associates NEW99Anna Fali
1006Aruna W MarrierRussia2024-06-19Feiner Bros PROPOSAL82Anna Fali
1007Darci L TollnerUnited Kingdom2024-06-22Benton, John B Jr RENEWAL36Stephen Shaw
1008Claire I GillianCanada2024-06-05Feltz Printing Service NEGOTIATION38Asiya Javayant
1009Claire G TollnerRussia2024-06-16Chemel, James L Cpa UNQUALIFIED69Bernardo Dominic
1010David C GarufiArgentina2024-06-01Benton, John B Jr NEW57Onyama Limba
1011Alejandro B DarakjyRussia2024-05-27Benton, John B Jr NEW93Elwin Sharvill
1012Rodrigues Y ChuiUnited Kingdom2024-05-29King, Christopher A Esq QUALIFIED42Ioni Bowcher
1013Morrow E SchemmerGermany2024-06-17Truhlar And Truhlar Attys RENEWAL14Ioni Bowcher
1014Julie N SaylorsIndia2024-06-04Commercial Press QUALIFIED86Elwin Sharvill
1015Wickens B SchemmerRussia2024-05-25King, Christopher A Esq RENEWAL42Onyama Limba
1016Kaitlin C PaprockiGermany2024-06-23Rousseaux, Michael Esq PROPOSAL56Anna Fali
1017Clifford F SaylorsSpain2024-05-27Morlong Associates PROPOSAL39Elwin Sharvill
1018Ashley O ButtSpain2024-05-30Printing Dimensions RENEWAL64Ivan Magalhaes
1019Darci A FlosiJapan2024-06-18Chanay, Jeffrey A Esq PROPOSAL4Ioni Bowcher
1020Sinclair V RimIndia2024-06-03Commercial Press UNQUALIFIED35Amy Elsner
1021Munro N WaycottArgentina2024-06-18Chapman, Ross E Esq PROPOSAL5Elwin Sharvill
1022Octavia P MaletArgentina2024-06-16Rousseaux, Michael Esq QUALIFIED23Bernardo Dominic
1023Sinclair H TollnerCanada2024-06-23Printing Dimensions RENEWAL35Anna Fali
1024Antonio S FerenczIndia2024-06-21Chemel, James L Cpa NEGOTIATION84Onyama Limba
1025Nicolas H PaprockiAustralia2024-06-20Chemel, James L Cpa UNQUALIFIED74Bernardo Dominic
1026Tony C InouyeIndia2024-06-10Benton, John B Jr NEGOTIATION38Onyama Limba
1027Costa R TollnerSpain2024-06-08Feltz Printing Service NEW54Bernardo Dominic
1028Deepesh C TollnerBrazil2024-05-31Feiner Bros QUALIFIED49Onyama Limba
1029Isabel Z GauchoIndia2024-06-16Feiner Bros NEW21Xuxue Feng
1030Murillo Y PaprockiItaly2024-06-21Rangoni Of Florence RENEWAL61Ivan Magalhaes
1031Maria K VocelkaRussia2024-05-26Chemel, James L Cpa QUALIFIED83Xuxue Feng
1032Antonio N WieserBrazil2024-05-29Commercial Press NEGOTIATION3Asiya Javayant
1033Isabel E MaletFrance2024-06-22Truhlar And Truhlar Attys NEW38Xuxue Feng
1034Faith C MorascaIndia2024-06-13Chemel, James L Cpa QUALIFIED86Elwin Sharvill
1035Morrow H PerinCanada2024-06-16Rangoni Of Florence UNQUALIFIED31Amy Elsner
1036Jones Q WieserUnited Kingdom2024-05-30Truhlar And Truhlar Attys UNQUALIFIED48Onyama Limba
1037Stacey U FollerIndia2024-06-20Printing Dimensions PROPOSAL7Anna Fali
1038Tony D GarufiCanada2024-06-09Buckley Miller Wright RENEWAL27Xuxue Feng
1039Claire J MarrierItaly2024-05-31Chemel, James L Cpa UNQUALIFIED40Asiya Javayant
1040Juan K CaudyItaly2024-05-27Morlong Associates NEGOTIATION31Amy Elsner
1041Kaitlin W FigeroaFrance2024-06-16Chapman, Ross E Esq NEGOTIATION81Amy Elsner
1042James P SchemmerFrance2024-06-06Benton, John B Jr PROPOSAL29Asiya Javayant
1043Salvatore I FollerArgentina2024-05-31Rangoni Of Florence PROPOSAL92Ivan Magalhaes
1044Misaki O InouyeJapan2024-06-07Rousseaux, Michael Esq NEW48Elwin Sharvill
1045Leja T DarakjyArgentina2024-06-06Morlong Associates PROPOSAL7Ivan Magalhaes
1046Johnson G FigeroaIndia2024-06-01Feltz Printing Service RENEWAL51Anna Fali
1047Jefferson P NestleGermany2024-06-22Morlong Associates QUALIFIED52Bernardo Dominic
1048Morrow Q VocelkaFrance2024-05-28Dorl, James J Esq QUALIFIED36Anna Fali
1049Nicolas C KolmetzSpain2024-05-31Truhlar And Truhlar Attys QUALIFIED11Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Wickens K RutaRussiaOnyama Limba PROPOSAL
Kaitlin K DarakjyGermanyAnna Fali PROPOSAL
Munro U CaldareraJapanAmy Elsner PROPOSAL
Clifford C GauchoUnited KingdomElwin Sharvill QUALIFIED
David Y FollerUnited KingdomIoni Bowcher UNQUALIFIED
Leja G SaylorsItalyStephen Shaw PROPOSAL
Morrow O OldroydCanadaStephen Shaw UNQUALIFIED
Jones Q RutaJapanAmy Elsner RENEWAL
Emily K DarakjyUnited KingdomElwin Sharvill PROPOSAL
Faith V StockhamAustraliaIoni Bowcher NEGOTIATION
James D RoysterArgentinaElwin Sharvill NEGOTIATION
Ashley D CaldareraAustraliaAnna Fali PROPOSAL
David X GarufiCanadaXuxue Feng NEGOTIATION
Claire G SaylorsGermanyBernardo Dominic PROPOSAL
Faith M DoeItalyAnna Fali NEW
Mujtaba E GauchoBrazilElwin Sharvill QUALIFIED
Aditya W GillianJapanXuxue Feng NEW
Nicolas X CaudyIndiaAsiya Javayant UNQUALIFIED
Maisha M MaletFranceXuxue Feng RENEWAL
Jefferson P SchemmerSpainAsiya Javayant NEGOTIATION
Darci U BologniaBrazilIoni Bowcher UNQUALIFIED
Kaitlin D GauchoRussiaBernardo Dominic PROPOSAL
Maria Y TollnerFranceBernardo Dominic NEGOTIATION
Adams G BriddickArgentinaOnyama Limba QUALIFIED
Ricardo Q FlosiCanadaAnna Fali NEGOTIATION
Juan A KuskoItalyStephen Shaw UNQUALIFIED
Leon K RimCanadaAsiya Javayant RENEWAL
David X PoquetteRussiaAmy Elsner UNQUALIFIED
Aruna P GarufiCanadaAmy Elsner RENEWAL
Antonio P RutaArgentinaAnna Fali QUALIFIED
Antonio S PaprockiArgentinaBernardo Dominic RENEWAL
Smith S ShinkoFranceBernardo Dominic NEGOTIATION
Jefferson A AmigonFranceOnyama Limba RENEWAL
Adams W SlusarskiSpainOnyama Limba QUALIFIED
Octavia P MorascaBrazilAmy Elsner PROPOSAL
Mayumi V StockhamFranceElwin Sharvill NEGOTIATION
Maria T StensethBrazilIoni Bowcher RENEWAL
Munro R NickaItalyAsiya Javayant QUALIFIED
Cody M RutaRussiaAmy Elsner RENEWAL
Leon P MorascaFranceBernardo Dominic NEW
David C KuskoUnited KingdomOnyama Limba NEGOTIATION
Jefferson R AmigonIndiaAmy Elsner UNQUALIFIED
Kaitlin L OldroydSpainAnna Fali PROPOSAL
Jeanfrancois Q FollerSpainIvan Magalhaes RENEWAL
Cody E NestleSpainIvan Magalhaes UNQUALIFIED
Aruna S GillianAustraliaAmy Elsner NEGOTIATION
Johnson I VenereUnited KingdomIvan Magalhaes NEW
Aditya H InouyeItalyIoni Bowcher QUALIFIED
Sinclair N WhobreySpainAmy Elsner UNQUALIFIED
Greenwood M BologniaBrazilStephen Shaw UNQUALIFIED
Frozen Columns
Name
Stacey B Sergi
Aika J Gaucho
Kadeem Q Bolognia
Morrow X Schemmer
Morrow U Vocelka
Faith W Tollner
Emily W Royster
Greenwood P Dilliard
Aika N Saylors
Munro O Malet
Aika J Schemmer
Maria M Albares
Arvin D Stockham
Murillo X Malet
Tony J Malet
Nicolas D Gaucho
Ricardo W Ostrosky
Aika W Vocelka
Wickens G Gaucho
Jennifer Z Doe
Ricardo K Paprocki
Ivar J Albares
Leja R Whobrey
Nicolas S Venere
Leja L Garufi
Aditya Q Amigon
Stacey V Gaucho
Nicolas H Waycott
Izzy V Shinko
David T Poquette
Kadeem Q Glick
Leon J Vocelka
Maria N Stockham
Ivar F Shinko
Sinclair A Bolognia
Salvatore W Foller
Alejandro H Bolognia
Jeanfrancois R Iturbide
Greenwood F Nestle
Aruna K Venere
Chavez C Glick
Mayumi I Kolmetz
Juan W Gaucho
Wickens K Sergi
Aruna O Poquette
Jefferson P Shinko
James V Oldroyd
Maria W Kolmetz
Ashley W Paprocki
Sinclair V Waycott
IdCountryDate
1000Canada2024-06-15
1001Argentina2024-06-17
1002Canada2024-06-18
1003Italy2024-05-30
1004Germany2024-06-19
1005Russia2024-06-07
1006United Kingdom2024-06-11
1007France2024-05-28
1008Argentina2024-05-25
1009Brazil2024-06-13
1010France2024-05-25
1011Argentina2024-06-13
1012Australia2024-06-16
1013Italy2024-06-09
1014Brazil2024-06-03
1015United Kingdom2024-06-10
1016United Kingdom2024-06-04
1017United Kingdom2024-06-06
1018United Kingdom2024-06-14
1019Italy2024-05-29
1020Canada2024-05-28
1021United Kingdom2024-06-12
1022India2024-06-18
1023United Kingdom2024-06-17
1024Russia2024-06-19
1025Argentina2024-06-13
1026Japan2024-06-11
1027Brazil2024-06-22
1028Japan2024-06-06
1029France2024-06-08
1030Japan2024-06-17
1031Spain2024-05-31
1032Italy2024-06-07
1033Spain2024-06-10
1034Russia2024-06-11
1035Brazil2024-06-07
1036Spain2024-06-02
1037Spain2024-06-21
1038Germany2024-06-18
1039United Kingdom2024-06-01
1040India2024-06-21
1041Australia2024-06-21
1042Russia2024-06-04
1043Argentina2024-06-03
1044Brazil2024-06-06
1045India2024-06-14
1046Russia2024-06-08
1047Germany2024-06-16
1048Russia2024-06-10
1049Australia2024-06-13

On-Demand Data

NameIdCountryDate
Salvatore M Poquette1000Argentina2024-06-23
Arvin N Darakjy1001Japan2024-05-26
Greenwood Y Maclead1002Australia2024-06-03
Greenwood I Stenseth1003Germany2024-06-13
Leon P Briddick1004United Kingdom2024-06-01
Faith S Schemmer1005France2024-06-17
Chavez R Amigon1006India2024-06-14
Clifford F Foller1007Germany2024-06-11
Costa A Butt1008Canada2024-06-01
Alejandro S Ostrosky1009Brazil2024-06-19
Ivar I Garufi1010United Kingdom2024-06-10
Morrow D Ruta1011Spain2024-06-01
Greenwood E Tollner1012Italy2024-05-26
Jones R Foller1013Germany2024-06-07
Deepesh F Darakjy1014Russia2024-05-27
Murillo K Wieser1015Argentina2024-06-06
Munro T Amigon1016Germany2024-06-12
Isabel R Shinko1017Argentina2024-05-26
Claire Z Butt1018Canada2024-06-21
Isabel A Kusko1019Russia2024-06-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco V DilliardJapanAnna Fali UNQUALIFIED
Jones W RoysterJapanIvan Magalhaes RENEWAL
Kadeem B WaycottFranceOnyama Limba UNQUALIFIED
Stacey I SaylorsAustraliaAnna Fali PROPOSAL
Munro P AlbaresItalyXuxue Feng PROPOSAL
Jefferson D BologniaBrazilBernardo Dominic PROPOSAL
Clifford X OstroskyUnited KingdomIvan Magalhaes NEGOTIATION
Ricardo N MacleadFranceIoni Bowcher QUALIFIED
Antonio P BologniaJapanElwin Sharvill QUALIFIED
Faith M BriddickItalyAsiya Javayant RENEWAL
Mujtaba X OldroydUnited KingdomOnyama Limba NEW
Leja I FollerArgentinaAmy Elsner NEW
Faith U GillianRussiaBernardo Dominic NEGOTIATION
Jennifer W TollnerJapanAsiya Javayant NEGOTIATION
Claire Y FerenczCanadaElwin Sharvill NEGOTIATION
Kaitlin Y NickaSpainAnna Fali RENEWAL
Octavia I RimSpainIvan Magalhaes NEW
Aruna L DilliardBrazilStephen Shaw PROPOSAL
Morrow H TollnerSpainAsiya Javayant PROPOSAL
Francesco Z VocelkaFranceOnyama Limba NEGOTIATION
Ivar U OstroskyGermanyElwin Sharvill QUALIFIED
Alejandro J SaylorsRussiaStephen Shaw UNQUALIFIED
Arvin G CampainArgentinaAnna Fali QUALIFIED
Rodrigues D ShinkoAustraliaAnna Fali QUALIFIED
Ivar O SlusarskiGermanyIoni Bowcher UNQUALIFIED
Maria R WhobreyIndiaElwin Sharvill PROPOSAL
Mayumi S BriddickIndiaStephen Shaw RENEWAL
Cody K MaletIndiaIoni Bowcher UNQUALIFIED
Darci J CaldareraAustraliaBernardo Dominic UNQUALIFIED
Kaitlin Y MaletRussiaAmy Elsner PROPOSAL
Claire L SchemmerRussiaXuxue Feng QUALIFIED
Claire N BowleyBrazilAsiya Javayant NEW
Clifford X TollnerAustraliaBernardo Dominic NEGOTIATION
Mayumi U RoysterGermanyBernardo Dominic RENEWAL
Francesco R CaudyJapanOnyama Limba UNQUALIFIED
Johnson B MacleadItalyElwin Sharvill NEGOTIATION
Rodrigues A RoysterUnited KingdomElwin Sharvill PROPOSAL
Nicolas J PaprockiCanadaIoni Bowcher NEGOTIATION
David X NestleJapanElwin Sharvill RENEWAL
Juan R CaudyJapanBernardo 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>