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
Smith L GillianCanadaAmy Elsner PROPOSAL
Isabel J ShinkoGermanyStephen Shaw PROPOSAL
Jones E WhobreySpainIvan Magalhaes UNQUALIFIED
Aika X MaletCanadaIoni Bowcher NEW
Mujtaba I AmigonUnited KingdomAsiya Javayant UNQUALIFIED
Leja Z StockhamSpainStephen Shaw PROPOSAL
Darci F PaprockiBrazilOnyama Limba QUALIFIED
Jeanfrancois O TollnerCanadaOnyama Limba UNQUALIFIED
Claire P FigeroaArgentinaStephen Shaw RENEWAL
Claire U MacleadAustraliaStephen Shaw UNQUALIFIED
Jones U DarakjyBrazilAmy Elsner NEW
Izzy Z FigeroaSpainAmy Elsner UNQUALIFIED
David W PoquetteArgentinaIvan Magalhaes RENEWAL
Tony Z DoeArgentinaAsiya Javayant NEW
Octavia B NickaArgentinaIoni Bowcher PROPOSAL
Julie F FlosiIndiaAsiya Javayant PROPOSAL
Johnson Y NestleRussiaXuxue Feng RENEWAL
Octavia Y SaylorsSpainAsiya Javayant RENEWAL
Rodrigues J DarakjySpainIoni Bowcher UNQUALIFIED
Nicolas Y DoeUnited KingdomIoni Bowcher NEGOTIATION
Aika T SlusarskiBrazilAmy Elsner NEW
Alejandro T PerinIndiaIoni Bowcher QUALIFIED
Wickens G StockhamIndiaOnyama Limba NEW
Cody D FigeroaFranceOnyama Limba PROPOSAL
Nicolas N MaletJapanXuxue Feng RENEWAL
Wickens A IturbideCanadaOnyama Limba NEGOTIATION
Adams H PerinJapanOnyama Limba QUALIFIED
Murillo R ShinkoGermanyStephen Shaw UNQUALIFIED
Silvio G RutaIndiaElwin Sharvill NEW
Francesco W PaprockiArgentinaOnyama Limba RENEWAL
David A AmigonUnited KingdomIoni Bowcher NEGOTIATION
Clifford R VocelkaSpainBernardo Dominic UNQUALIFIED
Silvio D FollerAustraliaStephen Shaw NEGOTIATION
Rodrigues U FlosiRussiaAsiya Javayant UNQUALIFIED
Chavez F FollerFranceAsiya Javayant NEGOTIATION
Faith R BologniaRussiaElwin Sharvill QUALIFIED
Silvio V FigeroaCanadaAmy Elsner RENEWAL
Faith O GlickRussiaIoni Bowcher QUALIFIED
Antonio T StockhamBrazilAmy Elsner NEW
Misaki O RutaGermanyElwin Sharvill QUALIFIED
Juan F BowleyAustraliaAmy Elsner RENEWAL
Jeanfrancois E DoeFranceAsiya Javayant NEW
Silvio H WaycottArgentinaAsiya Javayant UNQUALIFIED
Cody I MorascaJapanAmy Elsner PROPOSAL
Jones O AmigonRussiaIvan Magalhaes NEW
Clifford R SaylorsSpainAnna Fali UNQUALIFIED
Francesco I MacleadItalyAsiya Javayant PROPOSAL
James L GlickRussiaAnna Fali RENEWAL
Aruna M TollnerIndiaIoni Bowcher NEW
Chavez I GlickSpainOnyama Limba QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Maria U DilliardArgentinaElwin Sharvill RENEWAL
Deepesh X RoysterRussiaStephen Shaw PROPOSAL
Morrow X SergiIndiaIvan Magalhaes QUALIFIED
Antonio N MacleadAustraliaIvan Magalhaes RENEWAL
Jennifer V IturbideGermanyAmy Elsner NEW
Francesco E KuskoJapanAsiya Javayant NEW
Kadeem Q InouyeUnited KingdomIvan Magalhaes QUALIFIED
Leon D RoysterCanadaXuxue Feng PROPOSAL
Leja Y BologniaRussiaOnyama Limba NEW
Tony L BologniaBrazilStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel K GlickUnited Kingdom2024-05-31Buckley Miller Wright PROPOSAL52Amy Elsner
1001Munro G MaletBrazil2024-05-29Rousseaux, Michael Esq UNQUALIFIED46Amy Elsner
1002Murillo E NickaFrance2024-06-07Rangoni Of Florence PROPOSAL23Amy Elsner
1003Rodrigues E InouyeBrazil2024-06-18Chanay, Jeffrey A Esq NEW70Asiya Javayant
1004Aditya H FigeroaJapan2024-06-12Chemel, James L Cpa NEW98Elwin Sharvill
1005Antonio Z ShinkoBrazil2024-05-25King, Christopher A Esq RENEWAL54Ivan Magalhaes
1006Smith J FerenczGermany2024-06-09Chemel, James L Cpa NEGOTIATION63Ivan Magalhaes
1007James F SchemmerSpain2024-06-14Printing Dimensions UNQUALIFIED95Xuxue Feng
1008Silvio P BriddickJapan2024-05-29Chapman, Ross E Esq UNQUALIFIED40Amy Elsner
1009Salvatore A SaylorsUnited Kingdom2024-06-09Chapman, Ross E Esq UNQUALIFIED15Amy Elsner
1010Nicolas I BologniaItaly2024-06-11Chanay, Jeffrey A Esq PROPOSAL75Ivan Magalhaes
1011Alejandro O ButtUnited Kingdom2024-05-26Chemel, James L Cpa RENEWAL19Ivan Magalhaes
1012Julie A NestleJapan2024-06-03Rangoni Of Florence RENEWAL72Onyama Limba
1013James E SchemmerRussia2024-05-31Buckley Miller Wright UNQUALIFIED76Xuxue Feng
1014Nicolas A SaylorsGermany2024-05-31Rousseaux, Michael Esq RENEWAL84Stephen Shaw
1015Stacey K ShinkoBrazil2024-05-24Truhlar And Truhlar Attys NEGOTIATION1Asiya Javayant
1016James F DoeRussia2024-05-24Truhlar And Truhlar Attys UNQUALIFIED38Amy Elsner
1017Ashley N StockhamBrazil2024-05-23Chanay, Jeffrey A Esq QUALIFIED74Amy Elsner
1018Jeanfrancois G RimRussia2024-06-12Rousseaux, Michael Esq UNQUALIFIED80Stephen Shaw
1019Aika N VenereItaly2024-05-27Commercial Press PROPOSAL99Ioni Bowcher
1020James W DarakjyArgentina2024-06-01Dorl, James J Esq UNQUALIFIED72Asiya Javayant
1021Silvio B AmigonArgentina2024-06-12Chanay, Jeffrey A Esq RENEWAL66Onyama Limba
1022Chavez K NickaFrance2024-06-03Benton, John B Jr QUALIFIED79Ioni Bowcher
1023Kadeem P WaycottUnited Kingdom2024-06-17Rousseaux, Michael Esq RENEWAL2Anna Fali
1024Cody Q MaletArgentina2024-05-20Chanay, Jeffrey A Esq QUALIFIED69Elwin Sharvill
1025Jefferson X OstroskyBrazil2024-06-15Printing Dimensions QUALIFIED32Asiya Javayant
1026Jennifer T WhobreyFrance2024-06-05Chanay, Jeffrey A Esq NEGOTIATION66Onyama Limba
1027Mujtaba F FigeroaUnited Kingdom2024-06-07Rangoni Of Florence NEGOTIATION78Xuxue Feng
1028Clifford X RutaRussia2024-06-04Feiner Bros QUALIFIED60Asiya Javayant
1029Jefferson O BologniaJapan2024-06-10Rangoni Of Florence PROPOSAL12Asiya Javayant
1030Aruna P CampainSpain2024-06-14Chanay, Jeffrey A Esq NEGOTIATION96Bernardo Dominic
1031Murillo C OstroskyItaly2024-05-25Chapman, Ross E Esq NEGOTIATION98Asiya Javayant
1032Salvatore R ChuiCanada2024-06-09Chemel, James L Cpa QUALIFIED48Ivan Magalhaes
1033Rodrigues E InouyeRussia2024-06-14Chapman, Ross E Esq UNQUALIFIED38Ioni Bowcher
1034Cody O NestleUnited Kingdom2024-06-15Buckley Miller Wright NEGOTIATION75Onyama Limba
1035Maisha M MaletAustralia2024-05-29Feltz Printing Service NEGOTIATION79Xuxue Feng
1036Stacey L WieserIndia2024-06-09Rousseaux, Michael Esq PROPOSAL36Xuxue Feng
1037Leja F NickaAustralia2024-05-29Chapman, Ross E Esq UNQUALIFIED66Ivan Magalhaes
1038Adams X StensethBrazil2024-05-28King, Christopher A Esq NEGOTIATION74Anna Fali
1039Aruna H MaletJapan2024-05-28Truhlar And Truhlar Attys NEW5Bernardo Dominic
1040Mujtaba E SchemmerAustralia2024-06-18Printing Dimensions NEGOTIATION44Amy Elsner
1041Jefferson L SaylorsSpain2024-05-30Commercial Press UNQUALIFIED77Asiya Javayant
1042Leon M BowleyCanada2024-05-21Chemel, James L Cpa NEGOTIATION58Bernardo Dominic
1043Francesco X SlusarskiJapan2024-06-14Feltz Printing Service NEGOTIATION82Amy Elsner
1044Emily U ButtUnited Kingdom2024-06-12Chapman, Ross E Esq UNQUALIFIED43Bernardo Dominic
1045Leja B ChuiFrance2024-05-24Buckley Miller Wright PROPOSAL47Ivan Magalhaes
1046Aika E OldroydUnited Kingdom2024-05-30Rangoni Of Florence PROPOSAL40Ioni Bowcher
1047Leon Y MarrierGermany2024-05-22King, Christopher A Esq PROPOSAL6Stephen Shaw
1048Munro Z RulapaughGermany2024-05-25Dorl, James J Esq NEW51Ivan Magalhaes
1049Leja T ButtAustralia2024-05-21Chemel, James L Cpa NEGOTIATION82Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Leja E MorascaFranceOnyama Limba QUALIFIED
Deepesh Y IturbideBrazilIoni Bowcher RENEWAL
Antonio W FerenczArgentinaAsiya Javayant RENEWAL
Cody O GillianIndiaXuxue Feng NEW
Julie W RoysterAustraliaElwin Sharvill QUALIFIED
Mayumi I AlbaresRussiaElwin Sharvill NEGOTIATION
Clifford B MaletAustraliaIvan Magalhaes UNQUALIFIED
Juan J AlbaresIndiaIoni Bowcher NEGOTIATION
Costa R PaprockiFranceAnna Fali QUALIFIED
Misaki X GauchoUnited KingdomIvan Magalhaes PROPOSAL
Jones J RoysterItalyStephen Shaw RENEWAL
Jennifer N FollerArgentinaAsiya Javayant UNQUALIFIED
Antonio T WaycottAustraliaXuxue Feng NEW
Munro A IturbideRussiaOnyama Limba PROPOSAL
Izzy D CaudyRussiaAnna Fali PROPOSAL
Alejandro G KolmetzFranceIvan Magalhaes PROPOSAL
Misaki E PaprockiFranceStephen Shaw UNQUALIFIED
Francesco R CampainJapanIvan Magalhaes QUALIFIED
Aika W BriddickCanadaOnyama Limba UNQUALIFIED
Jennifer J MacleadFranceElwin Sharvill NEW
Clifford B FigeroaJapanOnyama Limba PROPOSAL
Costa V MacleadAustraliaAmy Elsner NEGOTIATION
Maisha U SaylorsCanadaOnyama Limba RENEWAL
Julie T BriddickBrazilAmy Elsner PROPOSAL
James K WhobreyCanadaBernardo Dominic UNQUALIFIED
Stacey W TollnerAustraliaIvan Magalhaes NEW
Wickens R TollnerItalyBernardo Dominic UNQUALIFIED
Jennifer C ChuiItalyIvan Magalhaes NEW
Mayumi A PaprockiRussiaOnyama Limba UNQUALIFIED
Leon P DilliardCanadaAmy Elsner PROPOSAL
Johnson P SaylorsRussiaAmy Elsner PROPOSAL
Jefferson G AlbaresIndiaBernardo Dominic RENEWAL
Stacey B RoysterArgentinaElwin Sharvill RENEWAL
Emily B SergiFranceXuxue Feng RENEWAL
Mayumi U KuskoJapanAsiya Javayant QUALIFIED
Tony F InouyeIndiaAnna Fali NEGOTIATION
Greenwood H VenereIndiaBernardo Dominic NEW
Julie D RutaCanadaXuxue Feng UNQUALIFIED
Morrow K StockhamArgentinaIoni Bowcher PROPOSAL
James G BriddickAustraliaStephen Shaw UNQUALIFIED
Rodrigues S DilliardArgentinaIvan Magalhaes RENEWAL
Rodrigues E MaletRussiaStephen Shaw QUALIFIED
Wickens C StensethCanadaOnyama Limba QUALIFIED
Nicolas Z ShinkoIndiaAnna Fali NEGOTIATION
Clifford W MaletBrazilBernardo Dominic QUALIFIED
Arvin E MarrierIndiaAmy Elsner NEGOTIATION
Claire U InouyeSpainStephen Shaw RENEWAL
Jones R CampainFranceXuxue Feng NEGOTIATION
Stacey W GillianIndiaXuxue Feng PROPOSAL
Silvio B AmigonSpainElwin Sharvill NEW
Frozen Columns
Name
Mujtaba Z Kusko
James N Rulapaugh
Johnson I Rulapaugh
Kaitlin S Gaucho
Aika F Gaucho
Jennifer P Garufi
Darci N Oldroyd
Tony F Briddick
Chavez D Flosi
Jeanfrancois U Gillian
Ivar C Darakjy
Johnson H Ostrosky
Leon T Dilliard
Mujtaba U Oldroyd
Kaitlin V Kusko
Leja R Morasca
Aika V Inouye
Faith E Nestle
Leja H Nicka
Mujtaba L Albares
Emily I Venere
Julie I Figeroa
Isabel Z Malet
Octavia D Amigon
Greenwood Y Paprocki
Wickens B Dilliard
Ashley F Ostrosky
Silvio Q Marrier
Izzy A Stockham
Costa E Perin
Emily S Doe
Isabel Y Briddick
Faith V Tollner
Morrow A Darakjy
James V Campain
Greenwood A Ostrosky
Greenwood L Malet
Faith F Venere
Ashley N Ostrosky
Jefferson L Oldroyd
Leja G Caldarera
Adams K Kusko
Mujtaba Y Nestle
Murillo W Poquette
Maria D Rulapaugh
Izzy E Rim
Johnson B Glick
Smith E Glick
Sinclair K Venere
Mayumi P Foller
IdCountryDate
1000Australia2024-05-26
1001Brazil2024-06-17
1002France2024-05-31
1003Argentina2024-05-31
1004United Kingdom2024-06-03
1005Russia2024-06-06
1006France2024-06-02
1007Germany2024-05-20
1008Italy2024-05-24
1009Italy2024-05-22
1010Canada2024-06-02
1011Brazil2024-06-02
1012India2024-06-04
1013Japan2024-06-03
1014Spain2024-06-11
1015France2024-06-06
1016United Kingdom2024-05-22
1017India2024-06-06
1018Argentina2024-06-12
1019Brazil2024-06-16
1020India2024-06-15
1021Brazil2024-06-16
1022Brazil2024-05-26
1023Spain2024-05-29
1024Italy2024-06-10
1025Japan2024-05-22
1026Italy2024-06-10
1027Canada2024-05-25
1028Spain2024-05-22
1029Brazil2024-06-18
1030Argentina2024-05-23
1031France2024-06-07
1032France2024-06-16
1033Brazil2024-06-15
1034Japan2024-06-04
1035Australia2024-06-06
1036Canada2024-05-26
1037Australia2024-05-28
1038Spain2024-06-03
1039India2024-05-25
1040Spain2024-06-01
1041Japan2024-06-09
1042Italy2024-06-06
1043Argentina2024-05-25
1044France2024-06-18
1045India2024-05-25
1046France2024-06-02
1047Italy2024-06-13
1048Germany2024-06-05
1049Brazil2024-06-16

On-Demand Data

NameIdCountryDate
Salvatore M Bolognia1000Spain2024-05-22
Smith N Nicka1001Australia2024-06-16
Johnson N Shinko1002Australia2024-05-26
Wickens L Kolmetz1003Italy2024-06-10
Clifford O Paprocki1004Italy2024-06-12
Murillo X Rulapaugh1005Australia2024-06-11
Tony B Darakjy1006Italy2024-06-05
Smith M Gillian1007United Kingdom2024-06-09
Greenwood Y Ostrosky1008Canada2024-05-20
Rodrigues R Perin1009Germany2024-06-06
Maisha X Doe1010Canada2024-05-28
Arvin A Wieser1011Germany2024-05-26
Darci W Bowley1012Italy2024-05-29
Munro N Malet1013Spain2024-05-31
Ivar F Morasca1014Germany2024-06-06
Costa H Amigon1015Spain2024-05-30
Mayumi F Kusko1016United Kingdom2024-05-29
Octavia G Caldarera1017India2024-06-08
Jefferson T Flosi1018United Kingdom2024-06-07
Aika K Venere1019Germany2024-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba B WhobreyCanadaAmy Elsner PROPOSAL
Faith J SlusarskiAustraliaElwin Sharvill PROPOSAL
Jeanfrancois D FigeroaArgentinaElwin Sharvill RENEWAL
Cody H GlickUnited KingdomStephen Shaw UNQUALIFIED
James D CaldareraItalyBernardo Dominic QUALIFIED
Tony C WaycottItalyIvan Magalhaes RENEWAL
Deepesh O MaletRussiaXuxue Feng NEW
Cody T WhobreyItalyElwin Sharvill QUALIFIED
Mujtaba S RutaIndiaIvan Magalhaes RENEWAL
Sinclair K RutaFranceBernardo Dominic PROPOSAL
Leja P WaycottJapanIoni Bowcher PROPOSAL
Aruna M PaprockiArgentinaIvan Magalhaes NEGOTIATION
Wickens J GauchoSpainXuxue Feng NEGOTIATION
Maisha E DoeJapanStephen Shaw RENEWAL
Leon F MaletRussiaStephen Shaw QUALIFIED
Claire J FlosiCanadaStephen Shaw NEGOTIATION
Mayumi E GlickArgentinaAnna Fali UNQUALIFIED
Murillo I FerenczIndiaAmy Elsner QUALIFIED
Cody T CaudyArgentinaBernardo Dominic NEGOTIATION
Greenwood K ButtCanadaAnna Fali UNQUALIFIED
Johnson F OstroskyGermanyAmy Elsner RENEWAL
Aditya K TollnerUnited KingdomAnna Fali RENEWAL
Costa Z ShinkoAustraliaStephen Shaw QUALIFIED
Julie N MarrierAustraliaAnna Fali PROPOSAL
Claire Q VocelkaAustraliaIoni Bowcher NEW
Arvin D CampainUnited KingdomElwin Sharvill NEGOTIATION
Aika K KuskoUnited KingdomStephen Shaw PROPOSAL
James U MaletGermanyOnyama Limba UNQUALIFIED
Emily X MarrierUnited KingdomAsiya Javayant RENEWAL
Deepesh I ButtAustraliaIoni Bowcher NEW
Cody H CaldareraSpainElwin Sharvill NEW
Leon N PaprockiRussiaOnyama Limba UNQUALIFIED
Mayumi Y SaylorsBrazilOnyama Limba RENEWAL
Arvin F StockhamItalyIvan Magalhaes NEW
Aika B KolmetzSpainXuxue Feng NEW
Silvio Q StockhamSpainAnna Fali RENEWAL
Jennifer U InouyeCanadaIvan Magalhaes NEGOTIATION
Morrow X ChuiJapanElwin Sharvill NEGOTIATION
Isabel O ButtItalyIvan Magalhaes PROPOSAL
Wickens R NickaFranceIvan 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>