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
Misaki H StockhamFranceIoni Bowcher NEW
Adams H PoquetteIndiaStephen Shaw PROPOSAL
Chavez U WaycottJapanStephen Shaw RENEWAL
Jones B InouyeFranceBernardo Dominic PROPOSAL
Misaki X FollerItalyIvan Magalhaes PROPOSAL
Darci I VocelkaArgentinaBernardo Dominic PROPOSAL
Sinclair Z GillianArgentinaAmy Elsner PROPOSAL
Leja D FerenczAustraliaAsiya Javayant UNQUALIFIED
Sinclair O GillianGermanyStephen Shaw RENEWAL
Kaitlin K ButtUnited KingdomIoni Bowcher NEGOTIATION
Claire Z FollerIndiaAmy Elsner QUALIFIED
Salvatore D MacleadFranceStephen Shaw RENEWAL
Leja J PerinUnited KingdomAnna Fali RENEWAL
Antonio B RoysterUnited KingdomOnyama Limba NEGOTIATION
Jennifer Z VenereUnited KingdomIoni Bowcher RENEWAL
Salvatore Z OstroskyRussiaAsiya Javayant QUALIFIED
Adams O AmigonFranceBernardo Dominic QUALIFIED
Cody F VocelkaCanadaStephen Shaw NEW
Aika E MarrierFranceAsiya Javayant QUALIFIED
Stacey J VenereJapanAmy Elsner NEGOTIATION
Adams K BowleySpainElwin Sharvill NEW
Morrow W KuskoRussiaIvan Magalhaes UNQUALIFIED
Jennifer P MaletArgentinaStephen Shaw NEGOTIATION
Salvatore K PoquetteBrazilIvan Magalhaes NEW
Ivar E GauchoSpainElwin Sharvill UNQUALIFIED
Chavez E GillianCanadaIvan Magalhaes NEGOTIATION
Greenwood S OstroskyUnited KingdomOnyama Limba RENEWAL
Maisha D BriddickFranceBernardo Dominic PROPOSAL
Jefferson A FlosiAustraliaBernardo Dominic UNQUALIFIED
Faith U RoysterRussiaIoni Bowcher RENEWAL
Smith U ChuiArgentinaBernardo Dominic NEW
Cody V SaylorsIndiaBernardo Dominic RENEWAL
Cody W KolmetzBrazilAmy Elsner QUALIFIED
Jefferson M FerenczGermanyBernardo Dominic UNQUALIFIED
Jeanfrancois A IturbideRussiaIoni Bowcher RENEWAL
Darci P MarrierItalyXuxue Feng PROPOSAL
Darci F FigeroaItalyOnyama Limba QUALIFIED
Aruna O NickaArgentinaStephen Shaw NEW
Murillo X RutaBrazilAsiya Javayant PROPOSAL
Mayumi Y NestleSpainStephen Shaw RENEWAL
Salvatore B RoysterBrazilAnna Fali NEW
Kaitlin Z PoquetteCanadaXuxue Feng PROPOSAL
David O RoysterUnited KingdomAsiya Javayant UNQUALIFIED
Sinclair D RoysterSpainElwin Sharvill UNQUALIFIED
Julie W VocelkaJapanXuxue Feng UNQUALIFIED
Jennifer W VocelkaRussiaIvan Magalhaes UNQUALIFIED
Munro R KolmetzJapanIvan Magalhaes RENEWAL
Jefferson F BologniaUnited KingdomAsiya Javayant RENEWAL
Adams U NestleItalyAmy Elsner PROPOSAL
Antonio Y WieserIndiaAnna Fali PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Ricardo W DilliardArgentinaAnna Fali NEGOTIATION
Chavez I StensethUnited KingdomOnyama Limba PROPOSAL
Leon N SlusarskiAustraliaAmy Elsner PROPOSAL
Nicolas S FigeroaFranceIvan Magalhaes PROPOSAL
Costa B VenereSpainBernardo Dominic NEGOTIATION
Deepesh H MaletRussiaOnyama Limba PROPOSAL
Aika I AmigonRussiaAsiya Javayant NEW
Ivar P PaprockiRussiaIvan Magalhaes NEW
Adams K MarrierFranceStephen Shaw RENEWAL
Sinclair Z KuskoRussiaAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David R AmigonBrazil2024-06-20Chanay, Jeffrey A Esq QUALIFIED97Onyama Limba
1001Mayumi G ButtSpain2024-06-04Chapman, Ross E Esq NEGOTIATION19Asiya Javayant
1002Mayumi M ButtJapan2024-05-26Benton, John B Jr NEW50Stephen Shaw
1003Emily E WieserItaly2024-06-08Truhlar And Truhlar Attys UNQUALIFIED56Ioni Bowcher
1004Morrow Q DoeJapan2024-06-22Dorl, James J Esq NEW10Ivan Magalhaes
1005Aika H ChuiIndia2024-05-29Benton, John B Jr NEW98Xuxue Feng
1006Claire P IturbideSpain2024-06-19Feiner Bros NEGOTIATION54Elwin Sharvill
1007Leja M RoysterSpain2024-06-17Chemel, James L Cpa NEGOTIATION47Bernardo Dominic
1008Leja A DilliardCanada2024-06-21Printing Dimensions PROPOSAL0Elwin Sharvill
1009Mayumi N RimRussia2024-05-28Truhlar And Truhlar Attys PROPOSAL54Elwin Sharvill
1010Kaitlin J FlosiItaly2024-06-07Commercial Press QUALIFIED29Ioni Bowcher
1011Kaitlin T AmigonGermany2024-06-04Printing Dimensions UNQUALIFIED21Elwin Sharvill
1012Aruna U PaprockiIndia2024-06-19Rangoni Of Florence UNQUALIFIED13Xuxue Feng
1013Smith U SergiRussia2024-06-12Buckley Miller Wright UNQUALIFIED21Elwin Sharvill
1014Smith Q WieserUnited Kingdom2024-05-29Feltz Printing Service RENEWAL34Onyama Limba
1015Arvin O MorascaUnited Kingdom2024-06-22Feiner Bros NEGOTIATION42Ivan Magalhaes
1016Ashley X GauchoAustralia2024-06-11Truhlar And Truhlar Attys NEW4Bernardo Dominic
1017Nicolas R VenereItaly2024-06-08King, Christopher A Esq RENEWAL49Onyama Limba
1018Cody I StockhamArgentina2024-06-16King, Christopher A Esq QUALIFIED22Stephen Shaw
1019Leja P CaudyGermany2024-06-21King, Christopher A Esq UNQUALIFIED32Elwin Sharvill
1020Alejandro O DarakjyCanada2024-05-26Chanay, Jeffrey A Esq NEW90Anna Fali
1021Julie F SaylorsItaly2024-06-08Truhlar And Truhlar Attys PROPOSAL54Anna Fali
1022Nicolas D FlosiJapan2024-06-02Morlong Associates NEGOTIATION2Ioni Bowcher
1023Aditya H SlusarskiArgentina2024-05-30Benton, John B Jr QUALIFIED84Onyama Limba
1024Morrow P RulapaughJapan2024-05-31Morlong Associates RENEWAL22Amy Elsner
1025Arvin K PoquetteArgentina2024-06-01Benton, John B Jr UNQUALIFIED75Ivan Magalhaes
1026Munro D CaldareraGermany2024-06-16Feiner Bros UNQUALIFIED14Amy Elsner
1027Kaitlin V SaylorsGermany2024-06-21Commercial Press QUALIFIED28Amy Elsner
1028Jeanfrancois O BriddickArgentina2024-06-14Benton, John B Jr UNQUALIFIED8Xuxue Feng
1029Jefferson W PoquetteRussia2024-06-24Morlong Associates UNQUALIFIED30Stephen Shaw
1030Rodrigues A SlusarskiGermany2024-05-26Chanay, Jeffrey A Esq PROPOSAL69Elwin Sharvill
1031Ivar D FigeroaCanada2024-05-27Rousseaux, Michael Esq RENEWAL3Stephen Shaw
1032Jones X SlusarskiItaly2024-06-24Rousseaux, Michael Esq UNQUALIFIED25Amy Elsner
1033Jeanfrancois R BowleyGermany2024-05-29Truhlar And Truhlar Attys NEW85Stephen Shaw
1034Julie B NickaFrance2024-06-20Feiner Bros UNQUALIFIED20Asiya Javayant
1035Misaki U SaylorsIndia2024-06-22Rousseaux, Michael Esq PROPOSAL55Ioni Bowcher
1036Ivar P OstroskyArgentina2024-06-05Chapman, Ross E Esq QUALIFIED95Ioni Bowcher
1037Jones P VenereGermany2024-06-03Feltz Printing Service NEGOTIATION32Ioni Bowcher
1038Ashley C KolmetzArgentina2024-06-15Rangoni Of Florence RENEWAL64Amy Elsner
1039Antonio H PerinIndia2024-06-03Morlong Associates RENEWAL14Ioni Bowcher
1040Ricardo X WhobreyBrazil2024-06-24King, Christopher A Esq QUALIFIED54Anna Fali
1041Antonio J RutaRussia2024-06-22Buckley Miller Wright QUALIFIED25Anna Fali
1042Julie P MorascaItaly2024-06-17Dorl, James J Esq PROPOSAL15Onyama Limba
1043Tony P OldroydRussia2024-06-16King, Christopher A Esq UNQUALIFIED29Onyama Limba
1044Morrow X SaylorsItaly2024-05-26Rangoni Of Florence UNQUALIFIED67Ioni Bowcher
1045Isabel I RimSpain2024-05-31Commercial Press NEGOTIATION13Bernardo Dominic
1046Kadeem V ShinkoJapan2024-06-22Rousseaux, Michael Esq RENEWAL12Asiya Javayant
1047Adams T MarrierIndia2024-05-27Chanay, Jeffrey A Esq NEGOTIATION23Asiya Javayant
1048Jefferson A PaprockiJapan2024-06-01Dorl, James J Esq PROPOSAL58Amy Elsner
1049Stacey S ChuiRussia2024-05-26Feltz Printing Service UNQUALIFIED50Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Claire H StockhamJapanBernardo Dominic PROPOSAL
Emily O TollnerBrazilXuxue Feng QUALIFIED
Misaki W WaycottCanadaIoni Bowcher NEGOTIATION
Kadeem L RutaFranceAmy Elsner QUALIFIED
Deepesh W RimUnited KingdomStephen Shaw RENEWAL
Cody L KolmetzJapanIvan Magalhaes QUALIFIED
Murillo J ShinkoAustraliaBernardo Dominic UNQUALIFIED
Aditya D SergiUnited KingdomOnyama Limba NEW
Smith G KuskoFranceAnna Fali UNQUALIFIED
Faith V FigeroaUnited KingdomAsiya Javayant UNQUALIFIED
Aika N CampainIndiaOnyama Limba UNQUALIFIED
Salvatore T BologniaCanadaOnyama Limba UNQUALIFIED
Octavia C RoysterGermanyAmy Elsner PROPOSAL
Claire W NickaGermanyAnna Fali QUALIFIED
Alejandro S OstroskyIndiaStephen Shaw UNQUALIFIED
Sinclair Y ButtGermanyElwin Sharvill RENEWAL
Misaki N FollerCanadaAnna Fali QUALIFIED
Alejandro X ChuiRussiaAsiya Javayant QUALIFIED
Aditya V GauchoCanadaAnna Fali RENEWAL
David V OstroskyArgentinaOnyama Limba QUALIFIED
Jones D TollnerArgentinaIoni Bowcher NEW
Jones D MaletGermanyIoni Bowcher QUALIFIED
Johnson U VocelkaAustraliaAnna Fali NEGOTIATION
Sinclair U BologniaGermanyOnyama Limba UNQUALIFIED
Leon B CaldareraBrazilAmy Elsner UNQUALIFIED
Chavez K OldroydGermanyElwin Sharvill UNQUALIFIED
Antonio A SaylorsIndiaOnyama Limba UNQUALIFIED
Kaitlin L MacleadJapanAmy Elsner NEGOTIATION
Sinclair K KuskoUnited KingdomBernardo Dominic NEW
Ashley D SergiJapanXuxue Feng NEW
Mayumi F FlosiArgentinaAnna Fali QUALIFIED
Leja Z GauchoAustraliaElwin Sharvill RENEWAL
Mujtaba N BowleyFranceAsiya Javayant PROPOSAL
Claire S MacleadCanadaOnyama Limba UNQUALIFIED
Leon C MaletBrazilOnyama Limba RENEWAL
Chavez F SlusarskiRussiaBernardo Dominic QUALIFIED
Julie A DarakjyFranceBernardo Dominic NEGOTIATION
Leon A WaycottUnited KingdomBernardo Dominic QUALIFIED
Kadeem M KuskoAustraliaElwin Sharvill PROPOSAL
Sinclair M IturbideRussiaXuxue Feng UNQUALIFIED
Ivar V AmigonJapanAsiya Javayant NEGOTIATION
Sinclair O SergiRussiaElwin Sharvill QUALIFIED
Kaitlin C IturbideJapanIoni Bowcher PROPOSAL
Morrow M FollerSpainXuxue Feng RENEWAL
Arvin J KolmetzArgentinaBernardo Dominic RENEWAL
Leon H OldroydBrazilBernardo Dominic PROPOSAL
Jones M RutaCanadaBernardo Dominic PROPOSAL
Kaitlin B MaletItalyAsiya Javayant NEGOTIATION
Izzy S ChuiFranceOnyama Limba PROPOSAL
Cody S ButtAustraliaAmy Elsner PROPOSAL
Frozen Columns
Name
Chavez V Tollner
Leon L Caudy
Faith F Rulapaugh
Julie R Foller
Ricardo E Waycott
Clifford V Vocelka
Jefferson N Stockham
Deepesh V Caldarera
Rodrigues B Briddick
Jeanfrancois H Stockham
Misaki X Caldarera
Adams Q Stenseth
David I Malet
Jennifer S Marrier
Julie N Gillian
Claire R Rulapaugh
Silvio E Stenseth
Kaitlin U Flosi
Smith N Inouye
Wickens K Stockham
Emily O Vocelka
Leja S Foller
Cody N Ruta
Jeanfrancois A Caudy
Munro N Garufi
Jones J Butt
Arvin N Schemmer
Clifford W Bowley
Leja K Ruta
Wickens Z Doe
Rodrigues Q Poquette
Kaitlin Q Malet
Faith S Royster
Costa W Perin
Wickens G Bowley
Nicolas A Bowley
Alejandro A Darakjy
Maria P Albares
Claire P Tollner
Juan H Gaucho
Costa I Morasca
Jeanfrancois O Glick
Arvin Y Schemmer
Silvio E Bolognia
Faith N Morasca
Isabel L Saylors
Nicolas N Morasca
Cody S Gaucho
Murillo G Bolognia
Murillo K Kusko
IdCountryDate
1000Spain2024-06-21
1001Brazil2024-06-05
1002Japan2024-06-18
1003United Kingdom2024-06-03
1004Argentina2024-06-19
1005Argentina2024-05-31
1006Spain2024-06-05
1007Argentina2024-06-09
1008Italy2024-06-19
1009Canada2024-06-03
1010Brazil2024-06-15
1011Canada2024-06-24
1012Japan2024-06-07
1013Germany2024-06-11
1014United Kingdom2024-06-05
1015France2024-06-02
1016Spain2024-06-06
1017Spain2024-06-03
1018Italy2024-06-21
1019Australia2024-06-04
1020Russia2024-06-18
1021France2024-06-07
1022France2024-06-18
1023India2024-06-10
1024India2024-06-11
1025India2024-06-17
1026Russia2024-06-23
1027India2024-05-30
1028Russia2024-06-21
1029Brazil2024-06-06
1030Japan2024-06-10
1031Spain2024-06-04
1032Argentina2024-06-14
1033Italy2024-06-22
1034Russia2024-06-22
1035Russia2024-06-16
1036Brazil2024-06-11
1037India2024-06-12
1038Argentina2024-06-20
1039France2024-06-09
1040Germany2024-06-16
1041Russia2024-05-29
1042Russia2024-06-01
1043Italy2024-06-18
1044Russia2024-06-21
1045Japan2024-06-13
1046Japan2024-06-02
1047Germany2024-05-31
1048Australia2024-06-06
1049United Kingdom2024-05-31

On-Demand Data

NameIdCountryDate
Francesco B Paprocki1000United Kingdom2024-05-26
Sinclair X Marrier1001Germany2024-05-27
Misaki F Whobrey1002Canada2024-06-24
Adams A Stenseth1003Australia2024-06-12
Smith D Iturbide1004Australia2024-06-20
Morrow D Albares1005India2024-06-03
Ricardo H Doe1006Italy2024-06-10
Faith C Figeroa1007United Kingdom2024-06-11
Jefferson Q Wieser1008Australia2024-06-05
Isabel F Vocelka1009Canada2024-05-27
Aruna Y Venere1010Italy2024-06-07
Misaki O Marrier1011Russia2024-06-07
Jeanfrancois O Glick1012Spain2024-06-17
Jennifer M Schemmer1013France2024-06-14
Emily R Briddick1014Germany2024-06-10
Maria J Briddick1015Russia2024-06-13
Sinclair W Briddick1016India2024-06-14
Jeanfrancois Z Whobrey1017Russia2024-06-18
Wickens J Wieser1018Argentina2024-06-18
Aruna F Caudy1019Russia2024-06-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford D DarakjyCanadaXuxue Feng NEGOTIATION
Leon W ShinkoSpainIoni Bowcher QUALIFIED
Misaki A InouyeItalyElwin Sharvill NEGOTIATION
Adams Z KuskoRussiaXuxue Feng NEGOTIATION
Aika X ShinkoAustraliaIvan Magalhaes NEW
Sinclair Q IturbideArgentinaOnyama Limba NEGOTIATION
Ivar H StensethFranceBernardo Dominic QUALIFIED
Mayumi K MorascaRussiaStephen Shaw UNQUALIFIED
Wickens U WaycottSpainElwin Sharvill NEGOTIATION
Chavez T KolmetzRussiaAmy Elsner PROPOSAL
Ashley B RoysterBrazilAmy Elsner PROPOSAL
Misaki P InouyeJapanAsiya Javayant NEGOTIATION
Juan J MaletRussiaElwin Sharvill NEGOTIATION
Jennifer Y OldroydAustraliaAmy Elsner NEW
Adams H NickaRussiaIoni Bowcher RENEWAL
Aika U PaprockiSpainAsiya Javayant PROPOSAL
Kaitlin F WaycottUnited KingdomAmy Elsner NEW
Deepesh Q ChuiFranceStephen Shaw NEW
Maisha C RulapaughFranceAmy Elsner QUALIFIED
Jefferson V StensethIndiaXuxue Feng RENEWAL
Leja J GlickItalyElwin Sharvill NEGOTIATION
Mayumi P BologniaItalyAmy Elsner RENEWAL
Sinclair N ShinkoUnited KingdomOnyama Limba RENEWAL
Maria H MaletJapanBernardo Dominic NEW
Morrow W GillianFranceStephen Shaw QUALIFIED
Chavez U CaldareraUnited KingdomOnyama Limba RENEWAL
David W FigeroaUnited KingdomAmy Elsner QUALIFIED
Cody I RutaBrazilIvan Magalhaes UNQUALIFIED
Ashley Y OldroydSpainXuxue Feng NEW
Rodrigues O MacleadIndiaIoni Bowcher RENEWAL
Julie F MacleadGermanyOnyama Limba NEGOTIATION
Ricardo N DarakjySpainAmy Elsner UNQUALIFIED
Costa W DilliardRussiaAnna Fali QUALIFIED
Chavez H ButtJapanAsiya Javayant UNQUALIFIED
Aika B VenereAustraliaStephen Shaw QUALIFIED
Maisha T VenereIndiaOnyama Limba RENEWAL
Greenwood G MaletIndiaIoni Bowcher PROPOSAL
Ashley R DarakjyAustraliaIvan Magalhaes NEGOTIATION
Clifford N FollerItalyAnna Fali QUALIFIED
Emily P KolmetzFranceIoni Bowcher 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>