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 T PerinIndiaAsiya Javayant PROPOSAL
Silvio E GillianJapanBernardo Dominic NEGOTIATION
Murillo J FollerGermanyAsiya Javayant UNQUALIFIED
Deepesh Y ButtGermanyBernardo Dominic UNQUALIFIED
Cody J MacleadArgentinaAmy Elsner RENEWAL
Faith G AlbaresIndiaElwin Sharvill UNQUALIFIED
Leja K OldroydFranceBernardo Dominic RENEWAL
Maria X CaudyCanadaAmy Elsner NEGOTIATION
Arvin Q DoeRussiaElwin Sharvill NEGOTIATION
Costa V VenereArgentinaAsiya Javayant NEGOTIATION
Murillo J StensethArgentinaBernardo Dominic QUALIFIED
Jennifer Q InouyeRussiaOnyama Limba UNQUALIFIED
Octavia F RulapaughFranceElwin Sharvill UNQUALIFIED
Jones I WaycottJapanAnna Fali PROPOSAL
Sinclair H RulapaughJapanStephen Shaw NEW
Jefferson Y BriddickGermanyAsiya Javayant QUALIFIED
James Y ButtCanadaOnyama Limba QUALIFIED
Jones S SchemmerGermanyStephen Shaw RENEWAL
Aruna J VocelkaSpainAmy Elsner UNQUALIFIED
Sinclair J MaletUnited KingdomOnyama Limba PROPOSAL
Francesco E ShinkoFranceStephen Shaw NEGOTIATION
Izzy Y GauchoArgentinaOnyama Limba QUALIFIED
Leja O NestleUnited KingdomBernardo Dominic NEGOTIATION
Silvio X KuskoItalyIvan Magalhaes UNQUALIFIED
Julie S DilliardFranceAnna Fali UNQUALIFIED
Mayumi O InouyeIndiaAnna Fali PROPOSAL
Adams H FigeroaBrazilIvan Magalhaes RENEWAL
Jeanfrancois O FerenczFranceBernardo Dominic UNQUALIFIED
Nicolas S FollerJapanAsiya Javayant UNQUALIFIED
Faith C WaycottFranceAnna Fali QUALIFIED
Mujtaba E GlickRussiaAnna Fali NEGOTIATION
Aditya Q MorascaSpainBernardo Dominic UNQUALIFIED
Ricardo L AlbaresGermanyBernardo Dominic NEW
Deepesh D VenereSpainXuxue Feng NEW
Cody N CampainGermanyAsiya Javayant UNQUALIFIED
Aruna B WhobreySpainAsiya Javayant UNQUALIFIED
Emily W StockhamCanadaAnna Fali PROPOSAL
Leon M VocelkaUnited KingdomAsiya Javayant QUALIFIED
Adams Q CaudySpainOnyama Limba PROPOSAL
Leja N TollnerFranceAsiya Javayant NEGOTIATION
Nicolas C MaletBrazilAsiya Javayant RENEWAL
Mayumi C GillianCanadaAmy Elsner NEW
Jennifer A FollerSpainBernardo Dominic QUALIFIED
Jefferson I BologniaFranceXuxue Feng NEGOTIATION
Silvio K TollnerRussiaStephen Shaw PROPOSAL
Octavia P KuskoGermanyIoni Bowcher PROPOSAL
Jeanfrancois O StockhamSpainElwin Sharvill UNQUALIFIED
Darci L GarufiBrazilOnyama Limba RENEWAL
Emily D StockhamGermanyAmy Elsner NEGOTIATION
Jones Z GarufiFranceStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Silvio O ShinkoRussiaOnyama Limba RENEWAL
Izzy V StensethUnited KingdomAnna Fali RENEWAL
Costa U RoysterCanadaAnna Fali QUALIFIED
Arvin T VocelkaIndiaIvan Magalhaes QUALIFIED
Octavia R MarrierUnited KingdomIvan Magalhaes PROPOSAL
Deepesh Q RutaAustraliaAmy Elsner UNQUALIFIED
Tony W InouyeFranceIoni Bowcher UNQUALIFIED
Jeanfrancois Z WaycottIndiaStephen Shaw RENEWAL
Aruna F MorascaIndiaBernardo Dominic RENEWAL
Darci T FollerSpainElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith T BriddickUnited Kingdom2024-06-01Feiner Bros PROPOSAL85Anna Fali
1001Aika M CaudyIndia2024-06-17Buckley Miller Wright UNQUALIFIED44Ivan Magalhaes
1002Mayumi O OldroydAustralia2024-05-28Feltz Printing Service PROPOSAL37Ivan Magalhaes
1003Leja V KolmetzCanada2024-05-29Morlong Associates RENEWAL83Elwin Sharvill
1004Claire A AmigonArgentina2024-06-15Feltz Printing Service RENEWAL63Xuxue Feng
1005Morrow I ChuiArgentina2024-05-31Printing Dimensions RENEWAL0Ioni Bowcher
1006Morrow L CampainUnited Kingdom2024-06-14Chanay, Jeffrey A Esq UNQUALIFIED48Amy Elsner
1007Juan P SergiJapan2024-05-30Printing Dimensions QUALIFIED69Bernardo Dominic
1008Mayumi V ButtGermany2024-06-13Feltz Printing Service RENEWAL84Stephen Shaw
1009James Z VocelkaFrance2024-06-16Printing Dimensions QUALIFIED4Ioni Bowcher
1010Julie G AlbaresCanada2024-06-22Rousseaux, Michael Esq QUALIFIED28Stephen Shaw
1011Silvio L GauchoJapan2024-06-11Feltz Printing Service QUALIFIED10Bernardo Dominic
1012Ricardo W ChuiBrazil2024-06-09Chapman, Ross E Esq UNQUALIFIED45Elwin Sharvill
1013Rodrigues A CaldareraArgentina2024-06-22King, Christopher A Esq NEW98Onyama Limba
1014Francesco A PaprockiJapan2024-06-07Truhlar And Truhlar Attys NEGOTIATION68Asiya Javayant
1015Octavia B MaletAustralia2024-06-15King, Christopher A Esq PROPOSAL5Stephen Shaw
1016Silvio C OstroskyArgentina2024-06-08Chemel, James L Cpa QUALIFIED33Elwin Sharvill
1017Deepesh Q NestleFrance2024-06-20Printing Dimensions RENEWAL80Onyama Limba
1018Misaki D AmigonArgentina2024-06-08Rangoni Of Florence NEGOTIATION90Elwin Sharvill
1019Chavez T BologniaCanada2024-06-20Benton, John B Jr NEW58Asiya Javayant
1020Claire P NickaGermany2024-06-05Chemel, James L Cpa QUALIFIED98Ioni Bowcher
1021James L IturbideIndia2024-06-18Truhlar And Truhlar Attys RENEWAL65Ivan Magalhaes
1022Julie K FollerAustralia2024-06-14Benton, John B Jr PROPOSAL49Amy Elsner
1023Kaitlin W RutaIndia2024-05-27Rangoni Of Florence PROPOSAL34Onyama Limba
1024Stacey B BowleyUnited Kingdom2024-06-01Chemel, James L Cpa PROPOSAL59Stephen Shaw
1025Rodrigues C FollerUnited Kingdom2024-06-02Morlong Associates UNQUALIFIED83Xuxue Feng
1026Darci K MacleadBrazil2024-06-18Commercial Press QUALIFIED80Asiya Javayant
1027Darci L RoysterBrazil2024-06-06Chanay, Jeffrey A Esq UNQUALIFIED86Asiya Javayant
1028Jones M AlbaresRussia2024-06-12Feiner Bros NEGOTIATION89Elwin Sharvill
1029Emily H AlbaresBrazil2024-05-24King, Christopher A Esq NEGOTIATION57Amy Elsner
1030Octavia V SchemmerCanada2024-05-30Truhlar And Truhlar Attys NEGOTIATION64Bernardo Dominic
1031Octavia O FigeroaSpain2024-06-17Benton, John B Jr NEW43Amy Elsner
1032Aruna J OstroskyArgentina2024-05-28King, Christopher A Esq QUALIFIED64Ivan Magalhaes
1033Cody O GillianJapan2024-06-01Printing Dimensions NEW0Ioni Bowcher
1034Juan F AmigonAustralia2024-05-31Feiner Bros RENEWAL62Elwin Sharvill
1035Adams D OstroskyGermany2024-06-20King, Christopher A Esq NEW29Asiya Javayant
1036Leon B DilliardSpain2024-06-01Feltz Printing Service NEW50Stephen Shaw
1037Greenwood K KuskoBrazil2024-06-03Benton, John B Jr PROPOSAL20Amy Elsner
1038Johnson B OstroskyRussia2024-05-29Chemel, James L Cpa RENEWAL38Xuxue Feng
1039Antonio L RutaUnited Kingdom2024-06-07Chapman, Ross E Esq NEW75Asiya Javayant
1040Smith F MacleadFrance2024-06-16Truhlar And Truhlar Attys NEW25Ivan Magalhaes
1041Maria W CaldareraBrazil2024-06-10King, Christopher A Esq QUALIFIED29Elwin Sharvill
1042Jefferson L GillianUnited Kingdom2024-06-03Morlong Associates NEW77Anna Fali
1043Rodrigues Z MacleadRussia2024-06-04Feiner Bros PROPOSAL50Xuxue Feng
1044Emily I NestleGermany2024-06-13Feiner Bros PROPOSAL82Stephen Shaw
1045Antonio H FlosiSpain2024-05-28Rangoni Of Florence NEW31Ivan Magalhaes
1046Maisha K MaletFrance2024-05-27Rousseaux, Michael Esq QUALIFIED7Elwin Sharvill
1047Johnson K AlbaresJapan2024-06-09Dorl, James J Esq QUALIFIED99Asiya Javayant
1048Faith E TollnerCanada2024-06-02Truhlar And Truhlar Attys QUALIFIED8Anna Fali
1049Kadeem Q FollerArgentina2024-06-20Benton, John B Jr NEW72Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Maisha Q RimCanadaXuxue Feng NEW
Smith M WaycottGermanyOnyama Limba QUALIFIED
Silvio E OldroydUnited KingdomXuxue Feng RENEWAL
Antonio G RimIndiaBernardo Dominic NEGOTIATION
Darci X WieserFranceIoni Bowcher UNQUALIFIED
Aika H BriddickGermanyAmy Elsner NEW
Ashley B IturbideRussiaAsiya Javayant RENEWAL
Octavia N DilliardBrazilStephen Shaw UNQUALIFIED
Sinclair B CaldareraBrazilBernardo Dominic NEW
Misaki L PoquetteIndiaBernardo Dominic QUALIFIED
Leja R BriddickRussiaElwin Sharvill UNQUALIFIED
Cody Q FlosiRussiaXuxue Feng NEGOTIATION
Smith K WaycottSpainIoni Bowcher RENEWAL
David N FollerGermanyElwin Sharvill QUALIFIED
Izzy C AmigonRussiaElwin Sharvill UNQUALIFIED
Aditya R FerenczArgentinaIvan Magalhaes QUALIFIED
Aditya R MaletRussiaXuxue Feng RENEWAL
Alejandro Z BowleyArgentinaAmy Elsner NEGOTIATION
Mujtaba F KuskoGermanyBernardo Dominic QUALIFIED
Aika D TollnerGermanyAsiya Javayant NEGOTIATION
Morrow W KolmetzJapanAnna Fali QUALIFIED
Claire G VenereJapanAnna Fali NEW
Chavez P SaylorsUnited KingdomIvan Magalhaes NEGOTIATION
Kaitlin W KolmetzBrazilElwin Sharvill NEW
Chavez R MacleadCanadaBernardo Dominic NEGOTIATION
Rodrigues R FollerSpainIoni Bowcher RENEWAL
Aika I PerinCanadaBernardo Dominic PROPOSAL
Leon O ShinkoJapanAsiya Javayant QUALIFIED
Leja F WaycottBrazilAnna Fali RENEWAL
Mayumi K OstroskyBrazilAnna Fali PROPOSAL
Sinclair Y RutaIndiaBernardo Dominic UNQUALIFIED
Arvin I ButtJapanIoni Bowcher PROPOSAL
Munro D MaletUnited KingdomIoni Bowcher QUALIFIED
Maria J NickaJapanBernardo Dominic NEGOTIATION
Aruna E IturbideGermanyIvan Magalhaes NEGOTIATION
Izzy Y TollnerGermanyXuxue Feng NEW
Emily C GillianUnited KingdomBernardo Dominic NEW
Octavia B PoquetteJapanXuxue Feng NEGOTIATION
Claire C AmigonBrazilBernardo Dominic NEGOTIATION
Aditya E KolmetzFranceElwin Sharvill RENEWAL
Munro O StockhamArgentinaBernardo Dominic NEGOTIATION
Munro H StockhamJapanStephen Shaw UNQUALIFIED
Morrow I InouyeUnited KingdomIoni Bowcher PROPOSAL
Alejandro Y MarrierBrazilOnyama Limba UNQUALIFIED
Antonio O GauchoIndiaBernardo Dominic NEGOTIATION
Izzy Z AmigonGermanyBernardo Dominic PROPOSAL
Adams H DoeArgentinaBernardo Dominic UNQUALIFIED
Ivar L DarakjyUnited KingdomXuxue Feng QUALIFIED
Misaki T BologniaItalyAsiya Javayant NEGOTIATION
Silvio N KolmetzJapanBernardo Dominic PROPOSAL
Frozen Columns
Name
Chavez V Slusarski
Wickens B Gillian
Antonio G Kusko
Arvin K Ferencz
Juan L Amigon
Murillo H Briddick
Jeanfrancois L Tollner
James H Waycott
Sinclair J Briddick
Faith Q Wieser
Claire M Glick
Aruna G Oldroyd
David W Nicka
Maria T Perin
Wickens F Doe
Mujtaba I Rulapaugh
Sinclair L Darakjy
Francesco W Whobrey
Aruna O Ostrosky
Leja V Wieser
Greenwood O Slusarski
Stacey W Figeroa
Sinclair V Malet
Octavia L Marrier
Stacey U Caudy
Stacey C Vocelka
Maria L Albares
Izzy P Morasca
Clifford X Doe
Cody Z Glick
Aika P Oldroyd
Emily D Waycott
Rodrigues L Garufi
James R Gaucho
Munro R Glick
Rodrigues M Rim
Juan I Nicka
Julie V Saylors
Mayumi D Malet
Faith E Caldarera
Claire X Gillian
Deepesh G Shinko
Nicolas G Shinko
David W Bolognia
Clifford K Ferencz
Juan I Ferencz
Juan B Saylors
Isabel K Doe
Misaki V Ruta
Aditya L Albares
IdCountryDate
1000India2024-05-27
1001Germany2024-06-10
1002Canada2024-06-12
1003Italy2024-06-20
1004Russia2024-05-27
1005Japan2024-05-31
1006India2024-05-30
1007Canada2024-06-11
1008Italy2024-05-24
1009Russia2024-06-21
1010United Kingdom2024-06-05
1011Italy2024-05-26
1012Russia2024-06-13
1013Australia2024-05-27
1014Russia2024-06-04
1015Spain2024-06-09
1016Italy2024-06-08
1017Russia2024-06-16
1018India2024-06-09
1019India2024-06-04
1020Italy2024-06-09
1021Canada2024-05-24
1022Brazil2024-06-15
1023India2024-06-10
1024Argentina2024-06-14
1025Brazil2024-06-10
1026Canada2024-06-08
1027Russia2024-06-07
1028Russia2024-06-20
1029Germany2024-06-05
1030Japan2024-05-30
1031Italy2024-06-02
1032United Kingdom2024-06-07
1033Brazil2024-05-27
1034Spain2024-05-28
1035Australia2024-06-20
1036Brazil2024-06-10
1037India2024-06-20
1038Brazil2024-05-27
1039France2024-05-27
1040France2024-06-17
1041Argentina2024-06-01
1042Spain2024-06-09
1043Russia2024-06-18
1044Brazil2024-05-24
1045Japan2024-05-29
1046Russia2024-06-07
1047Spain2024-06-04
1048Russia2024-06-02
1049Italy2024-06-17

On-Demand Data

NameIdCountryDate
Salvatore N Dilliard1000Italy2024-05-25
Emily K Venere1001France2024-06-03
Cody J Stenseth1002Brazil2024-05-27
Tony J Gaucho1003India2024-06-13
Isabel O Morasca1004India2024-06-03
Faith Z Vocelka1005Australia2024-06-18
Jeanfrancois U Royster1006Canada2024-06-11
Aika X Amigon1007Australia2024-06-17
Chavez F Caldarera1008Spain2024-06-05
Tony U Darakjy1009Japan2024-06-02
Leja B Flosi1010Australia2024-06-14
Mujtaba T Bolognia1011Canada2024-06-10
Jones K Ferencz1012Spain2024-05-30
Darci B Tollner1013Russia2024-06-06
Costa D Rim1014Brazil2024-05-24
Deepesh T Albares1015Argentina2024-05-31
Izzy H Darakjy1016United Kingdom2024-06-19
Clifford Q Bolognia1017Germany2024-06-13
Rodrigues C Schemmer1018United Kingdom2024-05-28
Ricardo P Caudy1019Russia2024-06-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ivar Q NestleRussiaIoni Bowcher NEGOTIATION
Munro R StockhamItalyIoni Bowcher UNQUALIFIED
Tony M AlbaresRussiaIvan Magalhaes QUALIFIED
Stacey U FlosiRussiaXuxue Feng PROPOSAL
Cody M MacleadFranceAmy Elsner PROPOSAL
Kadeem H SlusarskiIndiaAnna Fali QUALIFIED
Adams G ButtArgentinaBernardo Dominic NEW
Alejandro F AmigonArgentinaAmy Elsner NEGOTIATION
Emily Y KolmetzUnited KingdomXuxue Feng UNQUALIFIED
Salvatore Z OstroskyGermanyOnyama Limba UNQUALIFIED
Juan K CaldareraFranceAsiya Javayant NEGOTIATION
Ashley C MorascaAustraliaOnyama Limba UNQUALIFIED
Kaitlin C KolmetzUnited KingdomElwin Sharvill RENEWAL
Arvin A BowleyUnited KingdomIoni Bowcher QUALIFIED
Ashley H SlusarskiIndiaBernardo Dominic NEW
Alejandro T SaylorsArgentinaIvan Magalhaes NEGOTIATION
Chavez U PoquetteBrazilAmy Elsner PROPOSAL
Izzy U DarakjyGermanyBernardo Dominic NEGOTIATION
Isabel J RulapaughRussiaElwin Sharvill NEGOTIATION
Deepesh H NestleCanadaElwin Sharvill NEGOTIATION
Nicolas A TollnerGermanyAmy Elsner NEW
Mujtaba H CampainBrazilAmy Elsner RENEWAL
Maria N DoeUnited KingdomIoni Bowcher UNQUALIFIED
Octavia X PaprockiSpainIoni Bowcher RENEWAL
Murillo T RulapaughItalyStephen Shaw QUALIFIED
Nicolas P MorascaRussiaOnyama Limba PROPOSAL
Wickens N FlosiAustraliaIoni Bowcher UNQUALIFIED
Mayumi J StockhamIndiaXuxue Feng QUALIFIED
Kadeem Z PerinUnited KingdomElwin Sharvill NEGOTIATION
Alejandro O RimCanadaStephen Shaw RENEWAL
Sinclair V RoysterIndiaBernardo Dominic NEW
Alejandro S SergiSpainAsiya Javayant NEW
Sinclair M TollnerBrazilStephen Shaw QUALIFIED
Francesco T WieserIndiaElwin Sharvill PROPOSAL
Juan U SergiGermanyAmy Elsner PROPOSAL
Francesco N MorascaArgentinaAmy Elsner PROPOSAL
Jennifer W BowleyJapanAmy Elsner PROPOSAL
Rodrigues J StockhamJapanIoni Bowcher NEGOTIATION
Munro U FerenczRussiaAnna Fali PROPOSAL
Rodrigues P FerenczUnited KingdomIvan Magalhaes UNQUALIFIED

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