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 WieserRussiaIoni Bowcher UNQUALIFIED
Greenwood X PerinCanadaStephen Shaw PROPOSAL
Munro V BowleyFranceElwin Sharvill NEW
Claire V NestleJapanStephen Shaw NEGOTIATION
Nicolas C RimBrazilIoni Bowcher UNQUALIFIED
Clifford D OstroskyJapanElwin Sharvill QUALIFIED
Jones M MaletFranceIvan Magalhaes PROPOSAL
Isabel R WhobreyGermanyAnna Fali NEGOTIATION
David S MacleadFranceIvan Magalhaes PROPOSAL
Faith E FlosiJapanOnyama Limba UNQUALIFIED
Leja S StockhamSpainStephen Shaw UNQUALIFIED
Leja P BowleyArgentinaAmy Elsner UNQUALIFIED
Costa J StensethJapanAsiya Javayant NEGOTIATION
Kaitlin X CaudyGermanyOnyama Limba RENEWAL
Emily J MarrierRussiaAnna Fali NEW
David K DilliardCanadaStephen Shaw UNQUALIFIED
Misaki L AlbaresJapanElwin Sharvill NEGOTIATION
Ivar T VenereIndiaXuxue Feng NEW
Cody Q FollerSpainElwin Sharvill NEGOTIATION
Antonio R SergiArgentinaElwin Sharvill PROPOSAL
Johnson H MorascaItalyXuxue Feng RENEWAL
Arvin S KuskoUnited KingdomOnyama Limba QUALIFIED
Cody Q OstroskyJapanIvan Magalhaes NEGOTIATION
Octavia J WieserArgentinaStephen Shaw NEW
Leon J GillianRussiaStephen Shaw PROPOSAL
Cody H MorascaCanadaElwin Sharvill QUALIFIED
Mujtaba Y FlosiAustraliaOnyama Limba NEGOTIATION
Leja S GlickArgentinaElwin Sharvill QUALIFIED
Kadeem G SlusarskiAustraliaAnna Fali NEW
Sinclair O RimUnited KingdomElwin Sharvill UNQUALIFIED
Julie Z AlbaresItalyAmy Elsner RENEWAL
Arvin W CaldareraCanadaOnyama Limba UNQUALIFIED
Kadeem T SergiArgentinaIvan Magalhaes NEGOTIATION
Murillo V CaldareraAustraliaBernardo Dominic QUALIFIED
Aditya N GarufiItalyIoni Bowcher RENEWAL
Claire Y BologniaAustraliaAsiya Javayant QUALIFIED
Leja D FlosiGermanyAnna Fali NEW
Aika D BologniaJapanStephen Shaw QUALIFIED
Izzy U WaycottCanadaStephen Shaw QUALIFIED
Jones M SlusarskiAustraliaOnyama Limba NEGOTIATION
Mujtaba L RutaFranceAnna Fali PROPOSAL
Jefferson Y MaletJapanAsiya Javayant UNQUALIFIED
Sinclair R DoeSpainOnyama Limba NEW
Ashley H RoysterCanadaBernardo Dominic NEGOTIATION
Nicolas Z ChuiGermanyElwin Sharvill NEW
Julie I NestleRussiaElwin Sharvill NEGOTIATION
Mujtaba H KuskoIndiaElwin Sharvill RENEWAL
Emily F FigeroaCanadaAsiya Javayant NEW
Deepesh T GauchoBrazilIoni Bowcher NEGOTIATION
Jeanfrancois Z BowleyGermanyAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Costa B FerenczRussiaBernardo Dominic QUALIFIED
Stacey D CampainBrazilXuxue Feng NEW
Misaki I DilliardArgentinaStephen Shaw QUALIFIED
Wickens S BowleyItalyElwin Sharvill NEGOTIATION
Juan I WaycottArgentinaElwin Sharvill RENEWAL
Isabel Y PoquetteBrazilIvan Magalhaes UNQUALIFIED
Wickens G WaycottAustraliaBernardo Dominic RENEWAL
Wickens M SergiJapanIoni Bowcher PROPOSAL
Maisha H GauchoUnited KingdomOnyama Limba RENEWAL
Jones Y FollerBrazilElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy I AmigonRussia2024-06-03Chapman, Ross E Esq NEW86Bernardo Dominic
1001Maria H SergiArgentina2024-06-12Printing Dimensions NEGOTIATION19Ioni Bowcher
1002Mayumi E MorascaItaly2024-06-19Rangoni Of Florence UNQUALIFIED13Asiya Javayant
1003Arvin L VenereGermany2024-06-09Rangoni Of Florence NEGOTIATION83Xuxue Feng
1004Jefferson X DoeArgentina2024-06-10Dorl, James J Esq PROPOSAL74Ioni Bowcher
1005Faith P StensethAustralia2024-06-15Commercial Press UNQUALIFIED29Elwin Sharvill
1006Salvatore O FerenczAustralia2024-06-01Morlong Associates RENEWAL45Xuxue Feng
1007Rodrigues M ButtArgentina2024-06-12Buckley Miller Wright QUALIFIED23Anna Fali
1008Antonio P AlbaresSpain2024-05-28Dorl, James J Esq UNQUALIFIED69Xuxue Feng
1009David A InouyeItaly2024-06-12Chapman, Ross E Esq PROPOSAL48Xuxue Feng
1010Julie O DarakjyBrazil2024-06-09Buckley Miller Wright RENEWAL63Onyama Limba
1011Octavia X FerenczFrance2024-06-20Benton, John B Jr NEW35Ioni Bowcher
1012David J FlosiJapan2024-06-16Truhlar And Truhlar Attys QUALIFIED9Bernardo Dominic
1013Kadeem P SaylorsBrazil2024-06-02Chanay, Jeffrey A Esq PROPOSAL82Elwin Sharvill
1014Octavia D GauchoAustralia2024-06-17Truhlar And Truhlar Attys QUALIFIED30Amy Elsner
1015Sinclair Z SlusarskiFrance2024-06-19Chapman, Ross E Esq NEW17Onyama Limba
1016Arvin Q NestleSpain2024-06-04Chapman, Ross E Esq NEGOTIATION57Amy Elsner
1017Emily V NickaAustralia2024-06-06Chapman, Ross E Esq UNQUALIFIED5Ioni Bowcher
1018Jefferson R FerenczSpain2024-06-07Chanay, Jeffrey A Esq NEW45Xuxue Feng
1019Silvio E PaprockiIndia2024-05-28Rousseaux, Michael Esq PROPOSAL70Bernardo Dominic
1020Chavez B OstroskyJapan2024-06-20Rousseaux, Michael Esq QUALIFIED68Ioni Bowcher
1021Morrow I PerinRussia2024-06-17Feiner Bros UNQUALIFIED93Stephen Shaw
1022Maria U RoysterJapan2024-05-31Chapman, Ross E Esq UNQUALIFIED29Stephen Shaw
1023Mujtaba S RoysterArgentina2024-06-24Chanay, Jeffrey A Esq PROPOSAL5Stephen Shaw
1024Stacey S FigeroaBrazil2024-06-14Printing Dimensions NEGOTIATION43Stephen Shaw
1025Costa L RimBrazil2024-06-05Truhlar And Truhlar Attys NEGOTIATION65Ioni Bowcher
1026Wickens B OldroydAustralia2024-06-24Chapman, Ross E Esq NEW43Ioni Bowcher
1027Claire J SchemmerArgentina2024-06-04Chanay, Jeffrey A Esq PROPOSAL59Onyama Limba
1028Faith K NickaFrance2024-06-09Rousseaux, Michael Esq QUALIFIED22Onyama Limba
1029Darci Y IturbideRussia2024-06-19Feiner Bros NEGOTIATION47Amy Elsner
1030Ivar P NickaCanada2024-06-18King, Christopher A Esq RENEWAL64Ivan Magalhaes
1031Costa R FlosiRussia2024-06-13King, Christopher A Esq NEGOTIATION85Onyama Limba
1032Cody S FlosiAustralia2024-06-21Dorl, James J Esq PROPOSAL40Amy Elsner
1033Greenwood T RimCanada2024-06-07Rangoni Of Florence NEGOTIATION14Amy Elsner
1034Sinclair E PaprockiSpain2024-05-26Feltz Printing Service NEGOTIATION77Asiya Javayant
1035Emily X FigeroaArgentina2024-06-17King, Christopher A Esq PROPOSAL28Asiya Javayant
1036Clifford G MaletUnited Kingdom2024-06-15King, Christopher A Esq NEGOTIATION66Asiya Javayant
1037Kaitlin Q WhobreyArgentina2024-06-03Chemel, James L Cpa QUALIFIED60Ivan Magalhaes
1038Misaki P MacleadBrazil2024-06-22Chanay, Jeffrey A Esq QUALIFIED67Anna Fali
1039Arvin S KuskoAustralia2024-05-29Truhlar And Truhlar Attys PROPOSAL22Bernardo Dominic
1040Antonio K RoysterArgentina2024-06-09Chemel, James L Cpa RENEWAL73Amy Elsner
1041Silvio K ChuiSpain2024-05-28Truhlar And Truhlar Attys PROPOSAL98Xuxue Feng
1042Kadeem W DilliardJapan2024-06-10Dorl, James J Esq NEGOTIATION71Elwin Sharvill
1043Rodrigues Y FlosiFrance2024-06-18Commercial Press QUALIFIED30Amy Elsner
1044Salvatore W PoquetteIndia2024-06-16Chemel, James L Cpa NEW61Asiya Javayant
1045Jefferson F BriddickSpain2024-06-17Chemel, James L Cpa UNQUALIFIED17Ioni Bowcher
1046Jefferson I PoquetteIndia2024-06-09Chapman, Ross E Esq UNQUALIFIED26Stephen Shaw
1047Julie V DoeSpain2024-06-12Rousseaux, Michael Esq RENEWAL20Asiya Javayant
1048Faith X KolmetzUnited Kingdom2024-06-12Feltz Printing Service PROPOSAL74Asiya Javayant
1049Jefferson R RoysterArgentina2024-06-18Printing Dimensions QUALIFIED76Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Aruna E RulapaughFranceBernardo Dominic NEGOTIATION
Claire A SlusarskiFranceAmy Elsner UNQUALIFIED
Silvio V TollnerSpainBernardo Dominic NEW
Kadeem W PaprockiUnited KingdomIoni Bowcher NEW
Deepesh B MaletRussiaAmy Elsner UNQUALIFIED
Nicolas R CaldareraItalyXuxue Feng NEW
Maisha S MorascaSpainAmy Elsner NEW
Aruna L GillianFranceAsiya Javayant NEGOTIATION
Kadeem O BowleyItalyElwin Sharvill NEGOTIATION
Izzy D RimSpainAmy Elsner UNQUALIFIED
Salvatore T ButtJapanAnna Fali RENEWAL
Claire L DoeAustraliaStephen Shaw QUALIFIED
Ashley M MarrierFranceAsiya Javayant UNQUALIFIED
Costa S ShinkoCanadaOnyama Limba UNQUALIFIED
Mayumi J IturbideFranceAnna Fali RENEWAL
Salvatore X ButtAustraliaAmy Elsner RENEWAL
Aruna I MorascaItalyAnna Fali NEW
Costa V BriddickAustraliaAsiya Javayant PROPOSAL
Tony J AmigonArgentinaIvan Magalhaes RENEWAL
David T BologniaSpainAnna Fali QUALIFIED
Wickens U SchemmerItalyAsiya Javayant PROPOSAL
Chavez B MaletItalyElwin Sharvill NEW
Ashley Q RimFranceAsiya Javayant QUALIFIED
Aditya K FollerUnited KingdomAmy Elsner QUALIFIED
Kadeem D SergiJapanIoni Bowcher NEW
Jeanfrancois O BologniaArgentinaAmy Elsner QUALIFIED
Murillo I BowleyRussiaXuxue Feng NEW
Stacey H PaprockiFranceXuxue Feng QUALIFIED
Leja P SaylorsCanadaAmy Elsner NEW
Ashley K KuskoSpainIvan Magalhaes UNQUALIFIED
Kadeem Y WaycottAustraliaIvan Magalhaes NEGOTIATION
Costa B NestleRussiaBernardo Dominic PROPOSAL
Stacey S AlbaresIndiaAsiya Javayant NEGOTIATION
Antonio V AmigonIndiaAmy Elsner NEGOTIATION
Misaki C PaprockiIndiaBernardo Dominic QUALIFIED
Leja W RutaRussiaXuxue Feng UNQUALIFIED
Octavia C InouyeSpainAsiya Javayant NEGOTIATION
James V IturbideItalyElwin Sharvill RENEWAL
Rodrigues A RulapaughJapanBernardo Dominic UNQUALIFIED
David A IturbideItalyAnna Fali UNQUALIFIED
Claire C WhobreyBrazilXuxue Feng RENEWAL
Wickens L BologniaCanadaOnyama Limba NEGOTIATION
Misaki V WieserArgentinaIoni Bowcher UNQUALIFIED
Nicolas M RutaFranceAsiya Javayant QUALIFIED
Rodrigues C DoeGermanyBernardo Dominic PROPOSAL
Maria U StensethArgentinaStephen Shaw PROPOSAL
Juan W RimItalyBernardo Dominic NEGOTIATION
Jefferson C TollnerCanadaAsiya Javayant UNQUALIFIED
Jeanfrancois D MaletJapanXuxue Feng PROPOSAL
Morrow G CaldareraCanadaXuxue Feng NEW
Frozen Columns
Name
Jennifer B Rulapaugh
Johnson L Briddick
Murillo V Perin
Mujtaba A Dilliard
Jennifer T Amigon
Sinclair D Ruta
Cody E Ostrosky
Nicolas S Inouye
Kaitlin R Figeroa
Ashley S Stenseth
Munro B Sergi
Munro D Tollner
Faith Z Whobrey
Stacey X Albares
Costa T Albares
Isabel U Doe
Juan C Stenseth
Silvio Q Malet
Aditya I Albares
Mujtaba U Sergi
Costa B Whobrey
Jennifer U Chui
Aruna S Kusko
Mujtaba P Whobrey
Julie P Albares
Ricardo E Gaucho
Maria H Morasca
Ricardo U Albares
Claire B Bowley
Stacey U Maclead
Claire W Rulapaugh
Rodrigues D Venere
Salvatore W Caudy
Chavez S Rim
Adams T Bowley
Ivar N Oldroyd
Tony N Rim
Maria P Ostrosky
Francesco S Waycott
Juan O Flosi
Jennifer T Caudy
Kadeem F Kusko
Emily W Kusko
Kaitlin M Iturbide
Octavia K Vocelka
Antonio X Rulapaugh
Aruna G Glick
Kaitlin V Ostrosky
Kadeem B Chui
Antonio C Oldroyd
IdCountryDate
1000Canada2024-06-13
1001Japan2024-05-30
1002Russia2024-06-19
1003Australia2024-05-30
1004Japan2024-06-23
1005Canada2024-05-30
1006Italy2024-06-22
1007Germany2024-06-17
1008Australia2024-06-12
1009Italy2024-06-24
1010Brazil2024-06-06
1011Canada2024-06-17
1012Argentina2024-06-09
1013Germany2024-05-28
1014Russia2024-05-27
1015Italy2024-05-31
1016Germany2024-05-30
1017United Kingdom2024-05-29
1018Germany2024-06-07
1019India2024-06-12
1020United Kingdom2024-06-03
1021France2024-06-05
1022Japan2024-05-29
1023India2024-06-05
1024France2024-05-27
1025United Kingdom2024-06-09
1026United Kingdom2024-06-14
1027Japan2024-06-08
1028Argentina2024-06-15
1029Argentina2024-06-04
1030Japan2024-06-03
1031Brazil2024-05-29
1032Japan2024-05-31
1033Brazil2024-06-24
1034India2024-06-03
1035Russia2024-06-07
1036United Kingdom2024-05-29
1037Canada2024-05-27
1038Spain2024-06-18
1039India2024-06-12
1040Italy2024-05-29
1041Argentina2024-06-23
1042United Kingdom2024-06-01
1043France2024-06-02
1044France2024-06-19
1045Australia2024-05-27
1046France2024-06-15
1047United Kingdom2024-06-22
1048Brazil2024-06-06
1049France2024-06-24

On-Demand Data

NameIdCountryDate
Leon E Ruta1000India2024-06-07
Murillo F Amigon1001Germany2024-05-31
Rodrigues N Iturbide1002India2024-06-16
James F Foller1003Germany2024-05-28
Isabel Y Caldarera1004Japan2024-06-22
Stacey F Slusarski1005Canada2024-06-02
Ashley X Venere1006Australia2024-06-17
Aruna Q Paprocki1007Germany2024-06-17
Emily L Kusko1008Russia2024-06-13
Leon T Vocelka1009Australia2024-05-30
Juan C Ruta1010Australia2024-06-18
Kadeem W Amigon1011Spain2024-05-26
Chavez Z Oldroyd1012United Kingdom2024-05-28
Chavez K Gaucho1013India2024-06-12
Greenwood S Dilliard1014France2024-06-05
Ashley F Caudy1015France2024-06-01
Darci X Figeroa1016Russia2024-05-26
Aika B Malet1017India2024-06-09
Octavia S Kusko1018Argentina2024-06-06
Leja E Stockham1019Russia2024-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James I WaycottBrazilElwin Sharvill PROPOSAL
Jeanfrancois R StockhamUnited KingdomOnyama Limba NEGOTIATION
Sinclair K NestleBrazilXuxue Feng UNQUALIFIED
Izzy B SchemmerGermanyBernardo Dominic UNQUALIFIED
Leja C VocelkaItalyAmy Elsner UNQUALIFIED
Tony Y CaldareraBrazilAmy Elsner PROPOSAL
Aika D ChuiBrazilBernardo Dominic PROPOSAL
Wickens J DarakjyItalyBernardo Dominic UNQUALIFIED
Clifford M OldroydSpainIoni Bowcher RENEWAL
Kaitlin T ButtCanadaBernardo Dominic PROPOSAL
Mujtaba A MorascaBrazilXuxue Feng UNQUALIFIED
Jefferson G VenereFranceStephen Shaw NEGOTIATION
Adams E DarakjyIndiaAnna Fali NEGOTIATION
Jeanfrancois E FigeroaSpainXuxue Feng NEGOTIATION
Claire S KolmetzBrazilStephen Shaw NEW
Kaitlin R PaprockiArgentinaElwin Sharvill NEW
Smith D GlickRussiaAsiya Javayant PROPOSAL
Antonio C RutaFranceAmy Elsner PROPOSAL
Darci P OldroydFranceElwin Sharvill RENEWAL
Mayumi C StockhamAustraliaOnyama Limba UNQUALIFIED
Costa H BriddickBrazilOnyama Limba QUALIFIED
Mujtaba L KolmetzItalyBernardo Dominic PROPOSAL
Izzy S PoquetteItalyIvan Magalhaes NEW
Salvatore T InouyeArgentinaIvan Magalhaes PROPOSAL
Murillo A PoquetteJapanBernardo Dominic NEW
Octavia G DarakjyCanadaAmy Elsner NEGOTIATION
Stacey B PoquetteCanadaElwin Sharvill RENEWAL
Clifford P DilliardAustraliaStephen Shaw PROPOSAL
Jeanfrancois H TollnerCanadaBernardo Dominic NEW
Francesco P RulapaughFranceXuxue Feng NEGOTIATION
Arvin H MaletRussiaIoni Bowcher NEW
Wickens E GauchoSpainAmy Elsner UNQUALIFIED
Faith M SchemmerBrazilIvan Magalhaes NEW
Rodrigues V VenereAustraliaIoni Bowcher RENEWAL
Emily R FerenczAustraliaAsiya Javayant RENEWAL
Aditya E KuskoFranceXuxue Feng NEW
Adams B FerenczRussiaOnyama Limba NEGOTIATION
James N SlusarskiUnited KingdomAsiya Javayant NEGOTIATION
Smith V CaldareraItalyOnyama Limba NEGOTIATION
Jones O SlusarskiSpainIvan Magalhaes 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>