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
Julie E TollnerSpainAmy Elsner QUALIFIED
Arvin L ButtSpainIoni Bowcher NEGOTIATION
Silvio W VocelkaArgentinaAsiya Javayant PROPOSAL
Jones F WhobreyAustraliaAsiya Javayant PROPOSAL
Maria E WaycottSpainAnna Fali RENEWAL
Alejandro N SlusarskiBrazilAnna Fali RENEWAL
Wickens L InouyeAustraliaStephen Shaw QUALIFIED
Tony U InouyeIndiaStephen Shaw PROPOSAL
Costa Q FlosiArgentinaAnna Fali RENEWAL
Izzy G GlickIndiaAsiya Javayant QUALIFIED
Ricardo Q ChuiSpainXuxue Feng NEGOTIATION
Isabel M WhobreyJapanAnna Fali NEW
Aruna D BriddickItalyStephen Shaw UNQUALIFIED
Maisha N MaletIndiaIvan Magalhaes NEW
Wickens Z DilliardRussiaAsiya Javayant UNQUALIFIED
Sinclair A NickaCanadaIvan Magalhaes PROPOSAL
Jeanfrancois K FollerSpainXuxue Feng NEW
Nicolas Y WhobreyAustraliaAsiya Javayant PROPOSAL
Stacey D PaprockiSpainIoni Bowcher QUALIFIED
Francesco S GlickFranceStephen Shaw NEW
Isabel R OldroydBrazilIoni Bowcher UNQUALIFIED
Jefferson Q CampainArgentinaElwin Sharvill NEGOTIATION
Mujtaba A StockhamGermanyAsiya Javayant RENEWAL
Emily Z ShinkoCanadaXuxue Feng PROPOSAL
Wickens O OldroydJapanOnyama Limba NEW
Johnson A DoeAustraliaAsiya Javayant UNQUALIFIED
Ricardo A SchemmerGermanyAsiya Javayant NEW
Darci M WaycottCanadaAnna Fali NEW
Stacey E DoeFranceElwin Sharvill NEGOTIATION
Jennifer X PoquetteItalyBernardo Dominic RENEWAL
Maria N SlusarskiJapanXuxue Feng NEGOTIATION
Nicolas W RulapaughIndiaIoni Bowcher QUALIFIED
Claire K GauchoCanadaOnyama Limba UNQUALIFIED
Ricardo C DarakjyAustraliaOnyama Limba NEW
Leon E MacleadItalyBernardo Dominic RENEWAL
Leon J OldroydArgentinaElwin Sharvill QUALIFIED
Smith R WieserAustraliaIvan Magalhaes RENEWAL
Leja T PoquetteAustraliaAsiya Javayant PROPOSAL
Deepesh L CaudyBrazilStephen Shaw UNQUALIFIED
Ricardo X SergiSpainIvan Magalhaes UNQUALIFIED
Emily I FollerItalyXuxue Feng RENEWAL
Ivar Y ButtSpainElwin Sharvill NEW
Munro N KolmetzIndiaIoni Bowcher QUALIFIED
Aruna P OstroskyGermanyIvan Magalhaes QUALIFIED
Cody D BologniaFranceElwin Sharvill NEGOTIATION
Kaitlin X MorascaGermanyIvan Magalhaes NEGOTIATION
Silvio D DilliardArgentinaStephen Shaw UNQUALIFIED
Claire J GauchoUnited KingdomOnyama Limba UNQUALIFIED
Mujtaba P PoquetteFranceElwin Sharvill PROPOSAL
Silvio L VenereItalyBernardo Dominic RENEWAL
Horizontal
NameCountryRepresentativeStatus
Chavez M ChuiUnited KingdomOnyama Limba NEGOTIATION
Isabel V FerenczArgentinaAsiya Javayant NEW
Aruna F WhobreyBrazilBernardo Dominic NEGOTIATION
Smith G FerenczUnited KingdomXuxue Feng NEW
Ashley K FlosiItalyOnyama Limba NEGOTIATION
Ricardo T FollerJapanBernardo Dominic PROPOSAL
Deepesh F BriddickItalyBernardo Dominic UNQUALIFIED
Kaitlin T KolmetzGermanyAnna Fali NEW
Murillo P BriddickGermanyBernardo Dominic NEGOTIATION
Morrow I PerinGermanyXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin P AlbaresAustralia2024-06-04Feltz Printing Service UNQUALIFIED64Ioni Bowcher
1001Octavia E DilliardGermany2024-06-11Chemel, James L Cpa UNQUALIFIED38Elwin Sharvill
1002Darci H PoquetteIndia2024-06-14Benton, John B Jr UNQUALIFIED15Anna Fali
1003Arvin C RimGermany2024-05-21Buckley Miller Wright PROPOSAL19Xuxue Feng
1004Misaki D DilliardBrazil2024-05-31Feiner Bros NEW49Elwin Sharvill
1005Sinclair R PerinSpain2024-06-13Printing Dimensions NEW33Onyama Limba
1006Nicolas E WhobreySpain2024-06-18Printing Dimensions NEW85Elwin Sharvill
1007Morrow I SchemmerJapan2024-06-03Buckley Miller Wright NEGOTIATION81Bernardo Dominic
1008Nicolas D MaletJapan2024-06-12Dorl, James J Esq NEGOTIATION46Amy Elsner
1009Octavia I MarrierUnited Kingdom2024-06-10Morlong Associates NEW73Ioni Bowcher
1010Adams E GauchoIndia2024-06-02Chapman, Ross E Esq PROPOSAL69Anna Fali
1011Mayumi H OstroskyArgentina2024-06-16King, Christopher A Esq UNQUALIFIED83Anna Fali
1012Maria H StockhamCanada2024-05-27Buckley Miller Wright NEW14Xuxue Feng
1013Sinclair B AmigonItaly2024-05-29Chemel, James L Cpa UNQUALIFIED58Amy Elsner
1014Morrow O FerenczGermany2024-05-22Truhlar And Truhlar Attys NEW34Stephen Shaw
1015Jeanfrancois L StensethGermany2024-05-23Buckley Miller Wright QUALIFIED11Ioni Bowcher
1016Rodrigues S CaldareraAustralia2024-05-26Rangoni Of Florence UNQUALIFIED85Ioni Bowcher
1017Jones K MorascaRussia2024-06-17Chemel, James L Cpa PROPOSAL43Bernardo Dominic
1018Ricardo H CampainUnited Kingdom2024-06-13Chemel, James L Cpa NEW54Bernardo Dominic
1019Mayumi W StockhamGermany2024-05-28Chemel, James L Cpa QUALIFIED37Xuxue Feng
1020Nicolas S MaletSpain2024-05-22Buckley Miller Wright PROPOSAL70Asiya Javayant
1021Costa Y DarakjyUnited Kingdom2024-05-23Feiner Bros NEW88Bernardo Dominic
1022Tony G WaycottAustralia2024-06-15Printing Dimensions UNQUALIFIED94Ioni Bowcher
1023Francesco R DoeUnited Kingdom2024-06-09Benton, John B Jr PROPOSAL46Anna Fali
1024Johnson D WhobreyIndia2024-06-04Printing Dimensions UNQUALIFIED54Onyama Limba
1025Izzy L SergiRussia2024-06-03Chanay, Jeffrey A Esq NEW25Anna Fali
1026Adams W AlbaresItaly2024-06-17Chapman, Ross E Esq UNQUALIFIED67Ivan Magalhaes
1027Aditya A BriddickJapan2024-06-10Benton, John B Jr PROPOSAL90Ioni Bowcher
1028Jennifer C IturbideCanada2024-06-05Rangoni Of Florence QUALIFIED77Asiya Javayant
1029Greenwood O PoquetteGermany2024-06-04Dorl, James J Esq NEGOTIATION79Anna Fali
1030Isabel M MacleadRussia2024-05-26Buckley Miller Wright NEGOTIATION15Ioni Bowcher
1031Ivar C MorascaRussia2024-05-23Feiner Bros PROPOSAL7Anna Fali
1032Ricardo B PoquetteArgentina2024-05-28Truhlar And Truhlar Attys PROPOSAL64Ioni Bowcher
1033Francesco R BologniaCanada2024-06-16Dorl, James J Esq RENEWAL16Bernardo Dominic
1034Tony G RoysterIndia2024-05-30Dorl, James J Esq RENEWAL68Onyama Limba
1035Murillo U MaletIndia2024-06-14Commercial Press UNQUALIFIED54Ioni Bowcher
1036Cody V IturbideGermany2024-06-18Printing Dimensions UNQUALIFIED20Onyama Limba
1037Kadeem O WhobreyJapan2024-05-20King, Christopher A Esq QUALIFIED98Bernardo Dominic
1038Misaki F CaldareraRussia2024-05-25Rangoni Of Florence PROPOSAL29Amy Elsner
1039Maisha B CampainGermany2024-06-05King, Christopher A Esq UNQUALIFIED63Stephen Shaw
1040Maria C WaycottAustralia2024-06-13Chemel, James L Cpa NEW48Xuxue Feng
1041David U PerinAustralia2024-05-28Chapman, Ross E Esq NEGOTIATION50Amy Elsner
1042Mujtaba Y CampainCanada2024-06-08Buckley Miller Wright UNQUALIFIED53Xuxue Feng
1043Cody Z FollerFrance2024-05-27Truhlar And Truhlar Attys NEW49Ioni Bowcher
1044Maisha Y RutaIndia2024-05-29Morlong Associates NEGOTIATION85Ioni Bowcher
1045Silvio I MaletItaly2024-06-04Dorl, James J Esq UNQUALIFIED26Xuxue Feng
1046Misaki R NickaCanada2024-06-17Chanay, Jeffrey A Esq NEW98Onyama Limba
1047Aika V GillianGermany2024-06-01King, Christopher A Esq UNQUALIFIED39Stephen Shaw
1048Juan Z FigeroaJapan2024-06-12Commercial Press QUALIFIED76Elwin Sharvill
1049Juan J FerenczIndia2024-05-31Buckley Miller Wright QUALIFIED77Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
David A AlbaresAustraliaXuxue Feng PROPOSAL
Morrow F SaylorsRussiaStephen Shaw NEGOTIATION
Deepesh V PaprockiItalyStephen Shaw NEGOTIATION
Maria C FigeroaIndiaIoni Bowcher UNQUALIFIED
Mayumi A MaletUnited KingdomXuxue Feng NEGOTIATION
Deepesh T DilliardIndiaAmy Elsner UNQUALIFIED
Leja W OldroydGermanyAsiya Javayant QUALIFIED
Morrow J VocelkaFranceAmy Elsner PROPOSAL
Antonio E SlusarskiJapanXuxue Feng UNQUALIFIED
Murillo F OstroskyIndiaElwin Sharvill PROPOSAL
Morrow V BowleyIndiaXuxue Feng NEGOTIATION
Francesco U PerinAustraliaElwin Sharvill PROPOSAL
Francesco D RulapaughSpainOnyama Limba PROPOSAL
Antonio T WhobreyJapanXuxue Feng QUALIFIED
Julie Y VenereRussiaAsiya Javayant PROPOSAL
Costa O DarakjyRussiaAnna Fali PROPOSAL
Aruna I VocelkaJapanXuxue Feng UNQUALIFIED
Jennifer O WhobreySpainOnyama Limba RENEWAL
Jeanfrancois Y OstroskyArgentinaAsiya Javayant NEW
Octavia W CaldareraJapanAsiya Javayant UNQUALIFIED
Greenwood N RutaFranceIvan Magalhaes QUALIFIED
Leja Z CampainCanadaAsiya Javayant UNQUALIFIED
Aika A SchemmerGermanyAnna Fali RENEWAL
Jeanfrancois N GarufiSpainOnyama Limba QUALIFIED
Jefferson X MacleadAustraliaStephen Shaw UNQUALIFIED
Chavez L AlbaresUnited KingdomAnna Fali PROPOSAL
Johnson T SergiItalyIvan Magalhaes PROPOSAL
Leon E RimFranceBernardo Dominic RENEWAL
Ricardo N StensethGermanyIoni Bowcher UNQUALIFIED
Jeanfrancois C SchemmerGermanyBernardo Dominic QUALIFIED
Silvio C TollnerJapanBernardo Dominic PROPOSAL
Jones D FerenczUnited KingdomIvan Magalhaes NEW
Munro H IturbideFranceXuxue Feng NEW
Leon I OldroydIndiaAsiya Javayant PROPOSAL
Antonio I WieserItalyXuxue Feng QUALIFIED
Salvatore H WhobreyArgentinaXuxue Feng UNQUALIFIED
Mayumi L ShinkoItalyAsiya Javayant RENEWAL
Chavez L OstroskyItalyElwin Sharvill UNQUALIFIED
Stacey Q StockhamJapanAnna Fali QUALIFIED
Kadeem L GauchoItalyStephen Shaw PROPOSAL
Ivar P VocelkaItalyAmy Elsner UNQUALIFIED
David J ShinkoAustraliaOnyama Limba NEGOTIATION
Leja W VenereGermanyAsiya Javayant UNQUALIFIED
Leon L GillianAustraliaXuxue Feng NEW
Deepesh C BowleySpainIvan Magalhaes QUALIFIED
Misaki P RulapaughCanadaAmy Elsner NEGOTIATION
Juan G ShinkoFranceStephen Shaw PROPOSAL
Jones Q GillianSpainStephen Shaw NEW
Mujtaba D PerinCanadaIvan Magalhaes NEW
Maria R WieserAustraliaAnna Fali NEW
Frozen Columns
Name
Ricardo P Kolmetz
Sinclair Y Inouye
Cody H Briddick
Mayumi Q Schemmer
Tony V Albares
Jeanfrancois Z Stockham
Chavez E Stenseth
Francesco X Vocelka
Antonio P Dilliard
Morrow P Garufi
Jones T Albares
Wickens X Waycott
Costa J Campain
Jennifer F Poquette
Ricardo R Stockham
Isabel F Gaucho
Clifford J Ostrosky
Chavez K Iturbide
Murillo C Waycott
Munro P Iturbide
Aditya B Albares
Kaitlin R Iturbide
Jeanfrancois O Vocelka
Rodrigues N Bolognia
Aruna C Malet
Chavez D Sergi
David G Slusarski
Ashley L Ruta
Aruna W Chui
Jeanfrancois U Nestle
Izzy B Butt
Smith G Kusko
Aruna D Rim
Faith A Nicka
Sinclair Z Albares
Morrow M Malet
Jeanfrancois A Briddick
Clifford O Amigon
Costa W Waycott
Leja J Nestle
Julie T Paprocki
Ricardo Q Bolognia
Cody Q Figeroa
Isabel G Bolognia
Mayumi A Figeroa
Izzy O Saylors
Aditya F Vocelka
Murillo J Gaucho
Clifford S Bowley
Johnson U Malet
IdCountryDate
1000Canada2024-06-17
1001Russia2024-06-18
1002France2024-05-22
1003Italy2024-05-22
1004India2024-05-21
1005Japan2024-05-25
1006Spain2024-05-31
1007Japan2024-05-25
1008Canada2024-05-25
1009France2024-06-10
1010Argentina2024-06-15
1011France2024-05-29
1012Russia2024-06-15
1013Russia2024-06-17
1014France2024-06-10
1015Argentina2024-06-08
1016Italy2024-06-15
1017Brazil2024-06-08
1018Germany2024-05-21
1019Spain2024-06-17
1020India2024-06-13
1021Australia2024-05-22
1022Japan2024-06-13
1023United Kingdom2024-06-12
1024Japan2024-06-18
1025Canada2024-05-29
1026Spain2024-05-29
1027India2024-05-23
1028Russia2024-05-27
1029France2024-05-29
1030Spain2024-06-03
1031Spain2024-06-15
1032Spain2024-06-11
1033United Kingdom2024-06-03
1034Argentina2024-06-08
1035United Kingdom2024-06-05
1036Spain2024-05-24
1037India2024-06-08
1038Australia2024-06-09
1039India2024-06-15
1040India2024-06-10
1041Argentina2024-05-22
1042France2024-06-15
1043Brazil2024-05-24
1044Brazil2024-06-18
1045Germany2024-06-04
1046United Kingdom2024-06-05
1047Japan2024-05-24
1048Argentina2024-05-28
1049Russia2024-06-11

On-Demand Data

NameIdCountryDate
Wickens T Doe1000Canada2024-05-20
James G Rulapaugh1001Germany2024-06-09
Izzy O Darakjy1002United Kingdom2024-05-31
Misaki H Kusko1003Spain2024-06-02
Nicolas L Kusko1004Japan2024-05-24
Octavia H Royster1005Germany2024-05-22
Salvatore H Rim1006Canada2024-05-25
Faith Q Poquette1007Italy2024-06-05
Greenwood B Maclead1008Italy2024-06-04
Francesco O Saylors1009Italy2024-05-21
Faith Z Perin1010Russia2024-06-15
Izzy W Gillian1011Argentina2024-06-08
Aika Y Rulapaugh1012Argentina2024-05-28
Emily Y Marrier1013Canada2024-05-22
Mayumi C Kolmetz1014Canada2024-05-21
Maisha J Inouye1015Italy2024-06-07
Aika N Ruta1016Russia2024-06-02
Kaitlin J Wieser1017Argentina2024-05-25
Julie R Stenseth1018Canada2024-06-07
Francesco S Schemmer1019United Kingdom2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David I KolmetzRussiaStephen Shaw PROPOSAL
Faith W WhobreyItalyElwin Sharvill NEGOTIATION
Jennifer M GauchoArgentinaIvan Magalhaes QUALIFIED
Wickens P MorascaCanadaAnna Fali QUALIFIED
Maisha W ShinkoJapanAnna Fali NEGOTIATION
Tony U SlusarskiIndiaAsiya Javayant NEW
Adams T CaudyJapanXuxue Feng RENEWAL
Isabel Y StensethGermanyIoni Bowcher QUALIFIED
Aruna W VenereFranceIoni Bowcher PROPOSAL
Jones N IturbideGermanyAnna Fali RENEWAL
Kadeem G KolmetzItalyAnna Fali QUALIFIED
Aika Z CaudyRussiaIoni Bowcher QUALIFIED
Greenwood Q OstroskyFranceIvan Magalhaes QUALIFIED
Kadeem Q CampainGermanyAsiya Javayant QUALIFIED
Sinclair K VocelkaBrazilXuxue Feng QUALIFIED
Aika T WieserCanadaAnna Fali PROPOSAL
Stacey S StensethGermanyXuxue Feng NEW
Clifford Z GillianFranceIvan Magalhaes NEGOTIATION
Juan H KolmetzGermanyOnyama Limba NEGOTIATION
Chavez X DarakjyBrazilStephen Shaw QUALIFIED
Aika A CaldareraFranceBernardo Dominic RENEWAL
Leja M OldroydIndiaXuxue Feng NEGOTIATION
Smith L KuskoJapanIoni Bowcher NEGOTIATION
Deepesh U RulapaughJapanAnna Fali NEGOTIATION
Kadeem N OstroskySpainIvan Magalhaes PROPOSAL
Julie I CaldareraRussiaXuxue Feng UNQUALIFIED
Mujtaba O RoysterBrazilElwin Sharvill UNQUALIFIED
Leon W MaletSpainAsiya Javayant NEGOTIATION
Aika X DoeUnited KingdomIoni Bowcher RENEWAL
Kaitlin R CampainRussiaAsiya Javayant PROPOSAL
Izzy T RoysterGermanyIvan Magalhaes NEW
Jefferson S MaletJapanElwin Sharvill NEW
Greenwood Q StockhamGermanyBernardo Dominic RENEWAL
Costa X NickaJapanAnna Fali NEW
Kadeem M WhobreyJapanAnna Fali PROPOSAL
Alejandro Y WaycottBrazilElwin Sharvill UNQUALIFIED
Kaitlin B RoysterIndiaXuxue Feng RENEWAL
Octavia E KolmetzAustraliaAmy Elsner NEW
Isabel F FollerBrazilAnna Fali UNQUALIFIED
Aika D CaudyIndiaIvan Magalhaes QUALIFIED

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