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
Tony C MorascaItalyElwin Sharvill NEGOTIATION
Octavia B RutaSpainBernardo Dominic UNQUALIFIED
Clifford U OldroydAustraliaOnyama Limba RENEWAL
Octavia E GillianCanadaXuxue Feng NEGOTIATION
Alejandro Y NickaJapanIvan Magalhaes PROPOSAL
Leja Y SaylorsCanadaStephen Shaw RENEWAL
Clifford C VocelkaSpainOnyama Limba NEW
Morrow F AmigonIndiaBernardo Dominic PROPOSAL
Ivar D KuskoUnited KingdomAsiya Javayant RENEWAL
Misaki R RutaSpainStephen Shaw PROPOSAL
Tony T WhobreyBrazilAnna Fali PROPOSAL
Antonio S MarrierItalyXuxue Feng NEW
Sinclair T StensethAustraliaAsiya Javayant UNQUALIFIED
Alejandro Q VenereGermanyAnna Fali NEW
Rodrigues S KuskoAustraliaAsiya Javayant PROPOSAL
Jefferson H ChuiBrazilXuxue Feng UNQUALIFIED
Kadeem Z KolmetzBrazilAsiya Javayant UNQUALIFIED
Antonio B WieserSpainIoni Bowcher QUALIFIED
Jennifer Y SlusarskiCanadaStephen Shaw QUALIFIED
Arvin A GillianItalyOnyama Limba UNQUALIFIED
Adams K MaletBrazilXuxue Feng NEGOTIATION
Sinclair I VenereCanadaIoni Bowcher RENEWAL
Kaitlin O WieserRussiaAmy Elsner UNQUALIFIED
Misaki S CampainJapanAsiya Javayant PROPOSAL
Octavia O KuskoRussiaIoni Bowcher NEW
Francesco B PerinArgentinaAsiya Javayant NEW
David H MaletSpainXuxue Feng PROPOSAL
Antonio O MaletBrazilXuxue Feng QUALIFIED
Silvio J BriddickItalyOnyama Limba NEW
Adams I InouyeFranceElwin Sharvill QUALIFIED
Deepesh N CampainRussiaAsiya Javayant NEW
Octavia R FlosiAustraliaIvan Magalhaes QUALIFIED
Jennifer Z StockhamSpainAnna Fali QUALIFIED
Arvin S VenereRussiaElwin Sharvill NEGOTIATION
Arvin E RutaUnited KingdomIoni Bowcher UNQUALIFIED
Ashley H NickaIndiaIoni Bowcher NEW
Juan T VocelkaAustraliaOnyama Limba QUALIFIED
Murillo S CaldareraGermanyXuxue Feng PROPOSAL
Darci K BriddickItalyIvan Magalhaes PROPOSAL
Kaitlin F CampainRussiaAnna Fali UNQUALIFIED
Greenwood U BriddickAustraliaXuxue Feng RENEWAL
Maria I CampainCanadaIvan Magalhaes PROPOSAL
Adams D MacleadFranceXuxue Feng NEW
Aditya A CampainUnited KingdomStephen Shaw QUALIFIED
Rodrigues Q StensethCanadaBernardo Dominic NEGOTIATION
Munro R GauchoArgentinaOnyama Limba UNQUALIFIED
Rodrigues S GillianSpainAnna Fali RENEWAL
Jeanfrancois N RulapaughRussiaOnyama Limba PROPOSAL
Juan Z GauchoItalyIoni Bowcher NEGOTIATION
Chavez K RutaArgentinaAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Alejandro W MacleadAustraliaAsiya Javayant PROPOSAL
Maisha L RutaGermanyAnna Fali RENEWAL
Deepesh J SergiJapanAsiya Javayant QUALIFIED
Deepesh S SlusarskiAustraliaAmy Elsner PROPOSAL
David X GauchoItalyIvan Magalhaes PROPOSAL
Cody O CaudyItalyElwin Sharvill PROPOSAL
Maisha X GlickRussiaXuxue Feng NEW
Jennifer W BowleyAustraliaBernardo Dominic PROPOSAL
Aika C ButtItalyXuxue Feng PROPOSAL
Jefferson G PaprockiFranceBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford U MarrierItaly2024-05-31Feiner Bros NEGOTIATION24Onyama Limba
1001Aditya I BologniaSpain2024-05-31Rangoni Of Florence NEW89Onyama Limba
1002Rodrigues C AlbaresAustralia2024-05-18Rousseaux, Michael Esq RENEWAL45Onyama Limba
1003Kadeem V FigeroaGermany2024-05-20Morlong Associates RENEWAL52Onyama Limba
1004Deepesh P GillianUnited Kingdom2024-06-04Feiner Bros QUALIFIED4Onyama Limba
1005Tony W GlickRussia2024-05-30Rousseaux, Michael Esq NEW42Amy Elsner
1006Greenwood A FlosiSpain2024-06-05Commercial Press NEGOTIATION42Bernardo Dominic
1007Chavez E PerinUnited Kingdom2024-06-03King, Christopher A Esq NEGOTIATION96Stephen Shaw
1008Deepesh F CaudyGermany2024-05-27Commercial Press QUALIFIED90Asiya Javayant
1009Costa Q AlbaresGermany2024-06-06Benton, John B Jr QUALIFIED65Ioni Bowcher
1010Mujtaba K RutaFrance2024-06-06King, Christopher A Esq QUALIFIED97Asiya Javayant
1011Tony I SlusarskiJapan2024-06-03Dorl, James J Esq UNQUALIFIED85Anna Fali
1012Julie G BowleyIndia2024-05-31Rangoni Of Florence PROPOSAL37Xuxue Feng
1013Greenwood P KolmetzUnited Kingdom2024-05-28Printing Dimensions NEW7Amy Elsner
1014Izzy Z OstroskySpain2024-05-29King, Christopher A Esq PROPOSAL81Asiya Javayant
1015Aruna D SlusarskiGermany2024-06-07Chemel, James L Cpa PROPOSAL97Anna Fali
1016Silvio C RoysterItaly2024-05-19Feiner Bros PROPOSAL44Asiya Javayant
1017Isabel C DilliardAustralia2024-06-13Commercial Press NEW76Amy Elsner
1018Antonio C GillianRussia2024-05-19Dorl, James J Esq NEGOTIATION99Asiya Javayant
1019Morrow X OstroskyJapan2024-05-21Buckley Miller Wright QUALIFIED19Bernardo Dominic
1020Jones P FerenczArgentina2024-06-11Feiner Bros QUALIFIED69Onyama Limba
1021Ricardo H BologniaBrazil2024-06-06Buckley Miller Wright PROPOSAL99Elwin Sharvill
1022Sinclair G GauchoJapan2024-05-30Morlong Associates PROPOSAL95Onyama Limba
1023Izzy J CaldareraCanada2024-05-21Benton, John B Jr QUALIFIED56Onyama Limba
1024Izzy L WhobreyGermany2024-05-27Truhlar And Truhlar Attys UNQUALIFIED60Ivan Magalhaes
1025Greenwood R FigeroaJapan2024-05-22Benton, John B Jr NEGOTIATION44Amy Elsner
1026Kadeem H GarufiArgentina2024-05-20Benton, John B Jr QUALIFIED54Bernardo Dominic
1027James B RimBrazil2024-06-10Chanay, Jeffrey A Esq QUALIFIED96Anna Fali
1028Aika X ShinkoUnited Kingdom2024-06-06Chanay, Jeffrey A Esq QUALIFIED45Elwin Sharvill
1029Jefferson O ShinkoUnited Kingdom2024-05-24King, Christopher A Esq NEGOTIATION64Xuxue Feng
1030Arvin W GlickJapan2024-06-03Chanay, Jeffrey A Esq UNQUALIFIED19Ivan Magalhaes
1031Maisha M PoquetteJapan2024-06-09Feiner Bros QUALIFIED38Ivan Magalhaes
1032Stacey E SaylorsArgentina2024-06-05Feltz Printing Service NEGOTIATION0Ioni Bowcher
1033Johnson J OstroskyIndia2024-06-02Feltz Printing Service PROPOSAL60Amy Elsner
1034Darci B ShinkoCanada2024-05-28Feiner Bros UNQUALIFIED77Xuxue Feng
1035Leja B MaletItaly2024-05-26Chanay, Jeffrey A Esq QUALIFIED80Asiya Javayant
1036Faith R SaylorsGermany2024-05-26Chapman, Ross E Esq PROPOSAL25Anna Fali
1037Julie K BowleyIndia2024-06-07King, Christopher A Esq PROPOSAL60Ivan Magalhaes
1038Jennifer M InouyeAustralia2024-06-10Printing Dimensions NEW86Bernardo Dominic
1039Chavez J BriddickBrazil2024-05-18Chanay, Jeffrey A Esq NEGOTIATION82Xuxue Feng
1040Leja Z GlickAustralia2024-05-19Chanay, Jeffrey A Esq NEGOTIATION15Ivan Magalhaes
1041James R FerenczItaly2024-05-30Feltz Printing Service UNQUALIFIED39Ivan Magalhaes
1042Mayumi A StensethRussia2024-06-07Truhlar And Truhlar Attys PROPOSAL44Bernardo Dominic
1043Jefferson L MaletRussia2024-05-25Printing Dimensions NEGOTIATION51Stephen Shaw
1044Darci N WhobreySpain2024-05-18Benton, John B Jr QUALIFIED37Elwin Sharvill
1045Johnson E FlosiGermany2024-05-22Commercial Press NEW89Ivan Magalhaes
1046Ivar I GarufiAustralia2024-05-20King, Christopher A Esq NEW53Xuxue Feng
1047Kaitlin L PoquetteItaly2024-06-04Morlong Associates UNQUALIFIED62Bernardo Dominic
1048Julie Z FlosiArgentina2024-05-30Commercial Press UNQUALIFIED62Ivan Magalhaes
1049Sinclair A OldroydFrance2024-05-27Printing Dimensions PROPOSAL6Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Kadeem Q BowleyRussiaOnyama Limba PROPOSAL
Alejandro W BowleyRussiaAsiya Javayant NEGOTIATION
Maisha A MacleadIndiaAmy Elsner PROPOSAL
Isabel M SchemmerBrazilAnna Fali UNQUALIFIED
Mayumi L SergiFranceStephen Shaw NEGOTIATION
Tony Q GlickRussiaBernardo Dominic NEW
Greenwood C WhobreyUnited KingdomAmy Elsner UNQUALIFIED
Darci A PerinJapanIoni Bowcher UNQUALIFIED
Rodrigues G GauchoGermanyIoni Bowcher QUALIFIED
Jeanfrancois D WhobreyItalyOnyama Limba NEW
Aruna C RulapaughIndiaOnyama Limba QUALIFIED
Munro C WieserJapanAsiya Javayant UNQUALIFIED
Chavez T DarakjyIndiaIoni Bowcher UNQUALIFIED
Murillo T FlosiCanadaOnyama Limba PROPOSAL
Cody T VenereCanadaIoni Bowcher NEW
Maria K NickaCanadaXuxue Feng NEW
Isabel H AmigonSpainAmy Elsner QUALIFIED
James U StensethCanadaXuxue Feng NEGOTIATION
Tony M AmigonBrazilOnyama Limba PROPOSAL
Jefferson D RoysterGermanyElwin Sharvill UNQUALIFIED
Rodrigues D PaprockiUnited KingdomAsiya Javayant NEGOTIATION
Jennifer V StensethAustraliaAmy Elsner PROPOSAL
Leon L MorascaFranceXuxue Feng UNQUALIFIED
Smith I SlusarskiBrazilBernardo Dominic PROPOSAL
Arvin L MorascaAustraliaBernardo Dominic NEW
Smith B DilliardSpainAmy Elsner UNQUALIFIED
Jennifer M KolmetzGermanyStephen Shaw UNQUALIFIED
Leja G FerenczJapanBernardo Dominic NEGOTIATION
Costa O ChuiGermanyAnna Fali NEW
Octavia M AlbaresUnited KingdomOnyama Limba NEGOTIATION
Cody Z OstroskyGermanyIoni Bowcher RENEWAL
Murillo R MacleadBrazilElwin Sharvill UNQUALIFIED
Arvin V RulapaughAustraliaIoni Bowcher RENEWAL
Ivar I MorascaIndiaBernardo Dominic UNQUALIFIED
Silvio H RimAustraliaAnna Fali RENEWAL
Leon J GlickCanadaStephen Shaw NEGOTIATION
Jeanfrancois D PerinGermanyIoni Bowcher PROPOSAL
Maria H CaldareraGermanyStephen Shaw PROPOSAL
Rodrigues C SlusarskiGermanyStephen Shaw NEW
Rodrigues N PerinSpainIoni Bowcher NEW
Silvio J SlusarskiUnited KingdomAsiya Javayant UNQUALIFIED
Murillo I SergiGermanyStephen Shaw UNQUALIFIED
Alejandro Z FlosiCanadaStephen Shaw RENEWAL
Ricardo T DarakjyGermanyAnna Fali RENEWAL
Isabel C AlbaresIndiaXuxue Feng NEW
James V PoquetteFranceXuxue Feng NEW
Chavez W CaudyItalyAnna Fali QUALIFIED
Greenwood N PaprockiJapanAsiya Javayant NEGOTIATION
Julie W GillianGermanyStephen Shaw QUALIFIED
Faith L IturbideGermanyStephen Shaw PROPOSAL
Frozen Columns
Name
Octavia B Figeroa
Kadeem H Ferencz
Alejandro L Inouye
Sinclair R Malet
Silvio P Ruta
Morrow V Venere
Emily X Nicka
Jennifer E Poquette
Misaki K Nestle
Arvin R Inouye
Adams X Iturbide
Jeanfrancois Z Slusarski
Munro B Malet
Ivar R Gaucho
Clifford R Gaucho
Chavez P Perin
Ashley D Briddick
Sinclair B Stockham
Deepesh K Wieser
Aditya X Rim
Aditya N Schemmer
Costa N Kusko
Izzy C Albares
Darci U Gaucho
Cody N Malet
Wickens J Saylors
Jennifer F Dilliard
Maria E Flosi
Wickens U Rulapaugh
Misaki S Venere
Silvio N Morasca
Aika X Paprocki
Murillo Z Amigon
Clifford P Doe
Mujtaba W Malet
Greenwood I Glick
David L Gillian
Antonio P Figeroa
Ivar T Doe
James O Schemmer
Silvio E Waycott
Mayumi Y Sergi
Johnson K Dilliard
Smith Y Waycott
Ivar T Whobrey
Jeanfrancois V Flosi
Mujtaba C Ferencz
Wickens H Flosi
Alejandro X Dilliard
Clifford L Gillian
IdCountryDate
1000Germany2024-06-06
1001Russia2024-06-06
1002France2024-06-04
1003India2024-06-02
1004United Kingdom2024-05-20
1005India2024-06-02
1006Spain2024-05-17
1007Russia2024-05-31
1008Germany2024-05-17
1009Spain2024-05-31
1010Brazil2024-06-13
1011Spain2024-05-23
1012Argentina2024-06-10
1013United Kingdom2024-06-10
1014Australia2024-06-03
1015United Kingdom2024-05-22
1016Russia2024-06-10
1017Japan2024-05-18
1018France2024-05-28
1019India2024-05-16
1020Japan2024-06-14
1021Spain2024-05-30
1022Australia2024-06-01
1023Spain2024-06-10
1024Brazil2024-06-14
1025Germany2024-05-21
1026France2024-06-05
1027Argentina2024-05-28
1028Germany2024-06-07
1029Canada2024-06-02
1030Argentina2024-05-23
1031Japan2024-05-20
1032Japan2024-06-02
1033Australia2024-06-14
1034Russia2024-05-27
1035Japan2024-06-13
1036Germany2024-06-10
1037India2024-05-22
1038Italy2024-05-17
1039Japan2024-05-24
1040India2024-05-23
1041United Kingdom2024-05-29
1042Argentina2024-06-10
1043France2024-06-11
1044India2024-06-03
1045France2024-06-12
1046Italy2024-06-02
1047Canada2024-05-16
1048Japan2024-05-25
1049Germany2024-05-25

On-Demand Data

NameIdCountryDate
Ricardo T Bowley1000Argentina2024-05-27
Adams A Inouye1001Germany2024-05-16
Salvatore T Ferencz1002Canada2024-05-16
Aika X Rim1003Italy2024-05-16
Ashley E Nicka1004Canada2024-05-22
Leja Q Rulapaugh1005Argentina2024-06-03
Chavez V Royster1006Japan2024-05-21
Maisha D Doe1007France2024-06-06
Clifford C Whobrey1008Japan2024-06-01
Aditya Y Marrier1009United Kingdom2024-06-06
Emily F Bolognia1010Germany2024-05-23
Sinclair Q Nestle1011Argentina2024-06-04
Misaki A Glick1012India2024-05-29
Aruna B Foller1013Germany2024-05-24
Greenwood R Ruta1014Spain2024-06-01
Tony P Inouye1015Brazil2024-05-20
Clifford U Ferencz1016Canada2024-05-21
Aditya Z Royster1017India2024-06-06
Arvin X Darakjy1018Australia2024-06-02
Silvio O Kusko1019Australia2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James R OldroydCanadaBernardo Dominic NEW
Juan V TollnerArgentinaBernardo Dominic QUALIFIED
Jones E WaycottFranceIoni Bowcher UNQUALIFIED
Aditya D ShinkoBrazilOnyama Limba QUALIFIED
Isabel R AlbaresFranceOnyama Limba NEGOTIATION
Wickens W StensethSpainBernardo Dominic NEW
Mayumi K RoysterFranceElwin Sharvill NEW
Arvin N StensethIndiaAsiya Javayant PROPOSAL
Jeanfrancois U WieserItalyAnna Fali NEW
Wickens G MaletRussiaXuxue Feng NEGOTIATION
Tony F GlickRussiaXuxue Feng NEGOTIATION
Mujtaba A GauchoUnited KingdomBernardo Dominic NEGOTIATION
Julie W WieserGermanyStephen Shaw UNQUALIFIED
David R GarufiJapanAmy Elsner NEGOTIATION
Clifford J ShinkoItalyIvan Magalhaes QUALIFIED
Cody Q BologniaRussiaIoni Bowcher NEGOTIATION
Leon J SlusarskiArgentinaOnyama Limba NEW
Mujtaba S MorascaFranceBernardo Dominic PROPOSAL
Emily A MaletCanadaIvan Magalhaes RENEWAL
Arvin R AmigonBrazilXuxue Feng NEW
Arvin Y PaprockiIndiaStephen Shaw NEGOTIATION
David U MarrierCanadaXuxue Feng NEGOTIATION
Kadeem U StensethArgentinaOnyama Limba RENEWAL
Izzy F GauchoAustraliaStephen Shaw QUALIFIED
Costa A FollerCanadaStephen Shaw NEW
Jennifer X GauchoGermanyAsiya Javayant UNQUALIFIED
Kaitlin Y BowleyUnited KingdomAsiya Javayant RENEWAL
Jeanfrancois J FigeroaCanadaAnna Fali UNQUALIFIED
Greenwood G PerinBrazilXuxue Feng RENEWAL
Ashley I VenereCanadaAnna Fali RENEWAL
David Q InouyeFranceStephen Shaw QUALIFIED
Octavia E GarufiGermanyAnna Fali RENEWAL
Chavez V FlosiSpainAmy Elsner RENEWAL
Octavia V CampainFranceIvan Magalhaes RENEWAL
Silvio S OldroydItalyElwin Sharvill NEGOTIATION
Aditya Z SlusarskiAustraliaBernardo Dominic UNQUALIFIED
Leon A GillianSpainOnyama Limba RENEWAL
Mujtaba D GillianUnited KingdomAsiya Javayant RENEWAL
David A RimIndiaIvan Magalhaes PROPOSAL
Isabel E WaycottSpainBernardo Dominic 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>