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
Aika A OstroskyBrazilAsiya Javayant PROPOSAL
Leja S StockhamGermanyOnyama Limba QUALIFIED
Leja T DarakjyRussiaXuxue Feng QUALIFIED
Jeanfrancois K CampainAustraliaStephen Shaw RENEWAL
Ivar Z RutaArgentinaIvan Magalhaes QUALIFIED
Morrow K IturbideRussiaXuxue Feng RENEWAL
Tony V PoquetteArgentinaIvan Magalhaes PROPOSAL
Silvio Z CaudyCanadaXuxue Feng NEW
Costa F AlbaresSpainAsiya Javayant PROPOSAL
Jefferson P StensethCanadaBernardo Dominic QUALIFIED
Aditya G InouyeRussiaAsiya Javayant NEGOTIATION
Adams Z CaudyBrazilIvan Magalhaes NEW
Smith O GillianBrazilIvan Magalhaes QUALIFIED
Greenwood H TollnerSpainXuxue Feng NEGOTIATION
Leja P SergiCanadaIoni Bowcher NEW
Murillo S SergiAustraliaAsiya Javayant NEW
Isabel X MorascaItalyIvan Magalhaes UNQUALIFIED
Alejandro Q VenereBrazilOnyama Limba UNQUALIFIED
Antonio J ButtGermanyAsiya Javayant NEW
Emily A WaycottGermanyStephen Shaw UNQUALIFIED
Arvin N DilliardFranceXuxue Feng PROPOSAL
Leon P GillianFranceElwin Sharvill PROPOSAL
Rodrigues Y AmigonAustraliaIoni Bowcher PROPOSAL
Jones J RimGermanyIvan Magalhaes NEGOTIATION
Deepesh J SlusarskiUnited KingdomIoni Bowcher PROPOSAL
Smith V CaudyRussiaXuxue Feng NEGOTIATION
Antonio K GarufiBrazilAsiya Javayant QUALIFIED
Ricardo P GillianRussiaIoni Bowcher UNQUALIFIED
Juan P FerenczIndiaStephen Shaw UNQUALIFIED
Sinclair T FollerBrazilAsiya Javayant UNQUALIFIED
Claire T SergiArgentinaAnna Fali QUALIFIED
Juan W KolmetzFranceStephen Shaw UNQUALIFIED
Jones A DarakjyGermanyAsiya Javayant UNQUALIFIED
Smith M MaletItalyOnyama Limba NEGOTIATION
Clifford Y InouyeUnited KingdomAsiya Javayant UNQUALIFIED
Misaki M FerenczFranceAnna Fali PROPOSAL
James Z DilliardArgentinaBernardo Dominic PROPOSAL
Ivar K SlusarskiJapanBernardo Dominic UNQUALIFIED
Sinclair Y FlosiCanadaStephen Shaw NEGOTIATION
Adams J PerinUnited KingdomIoni Bowcher NEW
Faith V GarufiJapanXuxue Feng RENEWAL
Adams C OldroydCanadaXuxue Feng RENEWAL
Sinclair E SaylorsGermanyElwin Sharvill PROPOSAL
Stacey B MorascaAustraliaElwin Sharvill NEW
Octavia D FigeroaArgentinaOnyama Limba NEW
Mujtaba G SergiArgentinaBernardo Dominic QUALIFIED
Adams N DarakjyJapanXuxue Feng UNQUALIFIED
Clifford B MacleadGermanyAmy Elsner PROPOSAL
Alejandro B PoquetteCanadaIvan Magalhaes PROPOSAL
Ivar J RimIndiaAmy Elsner UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Maisha M AmigonBrazilStephen Shaw NEW
Silvio X GillianAustraliaXuxue Feng NEW
Jones T PaprockiUnited KingdomElwin Sharvill UNQUALIFIED
Octavia F OstroskyItalyAsiya Javayant QUALIFIED
Rodrigues U ChuiUnited KingdomStephen Shaw PROPOSAL
Jeanfrancois M ShinkoAustraliaAmy Elsner QUALIFIED
Jones K PerinCanadaOnyama Limba RENEWAL
Maisha D DilliardCanadaElwin Sharvill NEW
Johnson B WhobreySpainAnna Fali NEW
Aika B VenereRussiaAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas Y AlbaresCanada2025-04-13Buckley Miller Wright UNQUALIFIED79Stephen Shaw
1001Aika T WaycottUnited Kingdom2025-04-17Feltz Printing Service NEGOTIATION54Stephen Shaw
1002Aditya O FollerJapan2025-04-30Truhlar And Truhlar Attys NEGOTIATION82Onyama Limba
1003Rodrigues R AmigonBrazil2025-04-03Chemel, James L Cpa UNQUALIFIED50Bernardo Dominic
1004David E GauchoBrazil2025-04-27Commercial Press RENEWAL20Asiya Javayant
1005Greenwood H SchemmerArgentina2025-04-29Dorl, James J Esq UNQUALIFIED45Stephen Shaw
1006Jennifer F PerinBrazil2025-04-05Chemel, James L Cpa UNQUALIFIED49Bernardo Dominic
1007Ricardo Y ButtBrazil2025-04-23Chapman, Ross E Esq QUALIFIED94Ivan Magalhaes
1008Salvatore R BologniaIndia2025-04-23Rousseaux, Michael Esq UNQUALIFIED67Ioni Bowcher
1009Stacey M FollerBrazil2025-04-30Feltz Printing Service PROPOSAL35Bernardo Dominic
1010Murillo U NestleJapan2025-04-07Chanay, Jeffrey A Esq NEW60Anna Fali
1011Ricardo M VenereIndia2025-04-24Benton, John B Jr UNQUALIFIED3Ioni Bowcher
1012Leja K NickaIndia2025-04-06Feiner Bros PROPOSAL6Elwin Sharvill
1013Francesco N MacleadSpain2025-04-29Chanay, Jeffrey A Esq UNQUALIFIED15Elwin Sharvill
1014Stacey F KuskoRussia2025-04-13Feiner Bros PROPOSAL93Ioni Bowcher
1015Chavez T ButtBrazil2025-04-03Dorl, James J Esq PROPOSAL21Ioni Bowcher
1016Stacey L KolmetzFrance2025-04-12Benton, John B Jr UNQUALIFIED15Xuxue Feng
1017Nicolas E SaylorsArgentina2025-04-02Feiner Bros UNQUALIFIED70Xuxue Feng
1018Kadeem H PoquetteUnited Kingdom2025-04-21Chanay, Jeffrey A Esq QUALIFIED2Amy Elsner
1019Murillo V ChuiUnited Kingdom2025-04-21Dorl, James J Esq NEW99Bernardo Dominic
1020Ricardo T GillianGermany2025-04-14Commercial Press NEGOTIATION92Asiya Javayant
1021Rodrigues D KolmetzIndia2025-04-02King, Christopher A Esq QUALIFIED96Stephen Shaw
1022Rodrigues V MarrierFrance2025-04-06Buckley Miller Wright UNQUALIFIED35Ivan Magalhaes
1023Wickens F VocelkaItaly2025-04-14Feltz Printing Service UNQUALIFIED11Stephen Shaw
1024Aika J VocelkaGermany2025-04-09Rangoni Of Florence QUALIFIED25Stephen Shaw
1025Ricardo U DarakjyCanada2025-04-10King, Christopher A Esq UNQUALIFIED65Anna Fali
1026Francesco Y OstroskyItaly2025-04-04Chapman, Ross E Esq NEW44Onyama Limba
1027David Q BologniaIndia2025-04-25Benton, John B Jr NEGOTIATION25Bernardo Dominic
1028Stacey O FlosiUnited Kingdom2025-04-08Feltz Printing Service NEW28Stephen Shaw
1029Salvatore K PoquetteAustralia2025-04-29Buckley Miller Wright RENEWAL97Anna Fali
1030Alejandro J SlusarskiSpain2025-04-17Dorl, James J Esq UNQUALIFIED56Ivan Magalhaes
1031Munro C BologniaCanada2025-04-20Rangoni Of Florence UNQUALIFIED50Onyama Limba
1032Leja T SaylorsGermany2025-04-03Buckley Miller Wright NEGOTIATION21Elwin Sharvill
1033Aruna W SlusarskiGermany2025-04-04Benton, John B Jr QUALIFIED48Bernardo Dominic
1034Izzy P InouyeUnited Kingdom2025-04-05Truhlar And Truhlar Attys RENEWAL21Onyama Limba
1035Julie X GarufiFrance2025-04-23Truhlar And Truhlar Attys RENEWAL66Stephen Shaw
1036James B KuskoBrazil2025-04-30Commercial Press NEGOTIATION64Asiya Javayant
1037Silvio A TollnerBrazil2025-04-27King, Christopher A Esq RENEWAL31Ivan Magalhaes
1038Jeanfrancois M NestleSpain2025-04-29Benton, John B Jr PROPOSAL27Ioni Bowcher
1039Mujtaba G MorascaRussia2025-04-18Chanay, Jeffrey A Esq RENEWAL2Xuxue Feng
1040Kaitlin W GillianSpain2025-04-25Feltz Printing Service UNQUALIFIED1Anna Fali
1041Sinclair X BowleyBrazil2025-04-06King, Christopher A Esq QUALIFIED15Stephen Shaw
1042Aditya J MaletArgentina2025-04-07Truhlar And Truhlar Attys QUALIFIED19Xuxue Feng
1043Jeanfrancois F DarakjyCanada2025-04-19Printing Dimensions PROPOSAL3Elwin Sharvill
1044Jefferson O DarakjyArgentina2025-04-08Feiner Bros UNQUALIFIED8Ioni Bowcher
1045Ricardo B MaletUnited Kingdom2025-04-12Buckley Miller Wright PROPOSAL77Onyama Limba
1046Izzy P VocelkaUnited Kingdom2025-04-28Printing Dimensions NEGOTIATION53Amy Elsner
1047Antonio A CampainGermany2025-04-26Printing Dimensions UNQUALIFIED78Bernardo Dominic
1048Ashley V WhobreyBrazil2025-04-15Morlong Associates RENEWAL56Ivan Magalhaes
1049Leon R RutaRussia2025-04-03Benton, John B Jr RENEWAL78Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Maisha P MarrierGermanyXuxue Feng NEGOTIATION
Jefferson S TollnerGermanyXuxue Feng NEW
Francesco T GarufiAustraliaXuxue Feng QUALIFIED
Isabel U VenereRussiaIvan Magalhaes UNQUALIFIED
Mujtaba P VenereIndiaElwin Sharvill QUALIFIED
Jennifer R MaletGermanyIoni Bowcher NEGOTIATION
Jefferson V DarakjyBrazilElwin Sharvill UNQUALIFIED
Chavez A AmigonBrazilAmy Elsner PROPOSAL
Maria T CampainSpainOnyama Limba NEGOTIATION
Nicolas G AlbaresSpainOnyama Limba RENEWAL
Leja K IturbideBrazilAnna Fali UNQUALIFIED
Octavia T OstroskyArgentinaElwin Sharvill QUALIFIED
Octavia C AmigonArgentinaAmy Elsner RENEWAL
Chavez G WhobreyUnited KingdomAnna Fali NEGOTIATION
Ricardo U CaudyBrazilIvan Magalhaes NEGOTIATION
Izzy G BologniaArgentinaStephen Shaw NEW
Cody X StockhamRussiaAmy Elsner NEGOTIATION
Jeanfrancois M PoquetteCanadaStephen Shaw RENEWAL
Cody V TollnerIndiaIvan Magalhaes NEGOTIATION
Kaitlin S SlusarskiGermanyAnna Fali RENEWAL
Kadeem P GauchoSpainOnyama Limba NEW
Tony X RoysterUnited KingdomIvan Magalhaes RENEWAL
Jennifer M DilliardAustraliaXuxue Feng UNQUALIFIED
Sinclair P BriddickIndiaAsiya Javayant UNQUALIFIED
Darci B WieserGermanyAsiya Javayant NEW
Isabel Q VenereBrazilBernardo Dominic QUALIFIED
Misaki T BowleyAustraliaAnna Fali NEGOTIATION
Ivar A MorascaBrazilAsiya Javayant RENEWAL
Rodrigues B SchemmerArgentinaElwin Sharvill PROPOSAL
Arvin O ShinkoUnited KingdomAmy Elsner RENEWAL
Leja A SaylorsCanadaStephen Shaw NEW
Munro S KolmetzSpainIoni Bowcher NEW
Aika Y FollerRussiaStephen Shaw QUALIFIED
Maisha B FerenczJapanStephen Shaw UNQUALIFIED
Octavia H IturbideBrazilBernardo Dominic PROPOSAL
Costa J GlickJapanOnyama Limba NEGOTIATION
Emily Y RulapaughFranceAsiya Javayant NEW
Mujtaba W FlosiArgentinaIvan Magalhaes QUALIFIED
Kadeem Y VocelkaCanadaIvan Magalhaes NEGOTIATION
Aika H CaldareraArgentinaStephen Shaw NEGOTIATION
Leon U MacleadGermanyElwin Sharvill NEW
Leja E BriddickSpainAnna Fali NEW
Morrow Q RutaIndiaAmy Elsner NEW
Wickens Z VocelkaGermanyOnyama Limba PROPOSAL
Nicolas B StensethIndiaIoni Bowcher UNQUALIFIED
Octavia X RimUnited KingdomOnyama Limba RENEWAL
Greenwood U GlickCanadaXuxue Feng NEGOTIATION
Jones N SlusarskiSpainXuxue Feng RENEWAL
Julie M PerinAustraliaElwin Sharvill UNQUALIFIED
Ashley F OldroydAustraliaAnna Fali NEGOTIATION
Frozen Columns
Name
Murillo O Ostrosky
Rodrigues D Darakjy
Arvin S Bowley
Morrow P Schemmer
Mujtaba U Darakjy
Misaki S Ruta
Clifford M Ostrosky
Morrow U Albares
Aditya W Paprocki
Faith Q Ruta
Ivar O Glick
Francesco M Nicka
Darci W Marrier
Aditya K Gillian
Jefferson E Dilliard
Deepesh K Bolognia
David S Paprocki
Leja Y Garufi
Smith W Darakjy
Arvin L Tollner
Sinclair H Perin
Izzy Y Waycott
Isabel U Whobrey
Wickens L Nestle
Rodrigues K Iturbide
Ashley H Maclead
Silvio Q Chui
James Q Perin
David S Rim
Nicolas Q Stockham
Maria B Flosi
David J Foller
Chavez U Waycott
Julie U Paprocki
James O Glick
Claire J Figeroa
Sinclair W Morasca
Salvatore Z Royster
Ivar N Sergi
Salvatore G Oldroyd
Ricardo X Glick
Chavez H Waycott
Costa T Whobrey
Aditya J Tollner
Alejandro N Shinko
Munro W Maclead
Deepesh M Saylors
Francesco N Darakjy
Alejandro E Chui
Izzy H Waycott
IdCountryDate
1000Brazil2025-04-03
1001Russia2025-04-15
1002France2025-04-02
1003India2025-04-27
1004Canada2025-04-09
1005Japan2025-04-24
1006Germany2025-04-22
1007India2025-04-04
1008France2025-04-06
1009Argentina2025-04-25
1010Russia2025-04-14
1011Argentina2025-04-14
1012Germany2025-04-10
1013Russia2025-04-07
1014Canada2025-04-03
1015Japan2025-04-27
1016Italy2025-04-18
1017India2025-04-25
1018Japan2025-04-14
1019India2025-04-20
1020Spain2025-04-30
1021Italy2025-04-13
1022Italy2025-04-12
1023Australia2025-04-28
1024Japan2025-04-23
1025France2025-04-17
1026Japan2025-04-05
1027Spain2025-04-11
1028Germany2025-04-05
1029Spain2025-04-21
1030Japan2025-04-14
1031France2025-04-02
1032Japan2025-04-19
1033Japan2025-04-01
1034Spain2025-04-29
1035France2025-04-21
1036Argentina2025-04-20
1037Germany2025-04-06
1038Germany2025-04-10
1039Spain2025-04-11
1040United Kingdom2025-04-24
1041India2025-04-10
1042Italy2025-04-13
1043Argentina2025-04-20
1044Australia2025-04-11
1045Italy2025-04-15
1046India2025-04-17
1047Canada2025-04-21
1048France2025-04-15
1049Canada2025-04-18

On-Demand Data

NameIdCountryDate
Tony Z Poquette1000Argentina2025-04-30
Leon A Nestle1001Australia2025-04-18
Adams F Butt1002Canada2025-04-07
David Y Albares1003Argentina2025-04-19
Jeanfrancois U Figeroa1004Russia2025-04-25
Aika U Ostrosky1005Australia2025-04-14
Faith A Poquette1006Brazil2025-04-03
Nicolas L Maclead1007Brazil2025-04-16
Isabel B Bowley1008Japan2025-04-30
Nicolas U Sergi1009Brazil2025-04-15
Kaitlin Q Stenseth1010Brazil2025-04-28
Chavez A Chui1011Spain2025-04-18
Ricardo Q Garufi1012Australia2025-04-22
Silvio U Marrier1013Brazil2025-04-16
Isabel F Gillian1014India2025-04-27
Jeanfrancois J Iturbide1015Australia2025-04-23
Ivar F Bowley1016Brazil2025-04-14
Mujtaba X Morasca1017Germany2025-04-16
Ivar N Shinko1018Italy2025-04-07
Jones X Butt1019Australia2025-04-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro I MacleadSpainStephen Shaw UNQUALIFIED
Morrow T GlickItalyIvan Magalhaes QUALIFIED
Aika S PerinItalyIvan Magalhaes UNQUALIFIED
Antonio S PaprockiJapanAnna Fali RENEWAL
Jefferson A MaletJapanElwin Sharvill RENEWAL
Nicolas D KuskoCanadaBernardo Dominic NEGOTIATION
Isabel P DoeRussiaElwin Sharvill NEGOTIATION
Darci S FlosiIndiaBernardo Dominic NEGOTIATION
Ashley I GauchoArgentinaIoni Bowcher PROPOSAL
Faith R SlusarskiArgentinaIoni Bowcher UNQUALIFIED
Kaitlin H FollerSpainAnna Fali PROPOSAL
Francesco M WhobreySpainIvan Magalhaes UNQUALIFIED
Alejandro U PoquetteFranceAnna Fali RENEWAL
Claire Y PaprockiArgentinaBernardo Dominic PROPOSAL
Izzy N VocelkaSpainOnyama Limba RENEWAL
Aditya S MaletBrazilIvan Magalhaes NEW
Leja F KolmetzGermanyBernardo Dominic NEGOTIATION
Francesco E GillianBrazilAnna Fali NEGOTIATION
Faith E MacleadIndiaXuxue Feng NEGOTIATION
Mujtaba J PerinBrazilOnyama Limba QUALIFIED
Aruna Z PaprockiUnited KingdomAnna Fali QUALIFIED
Ivar T BowleyJapanAnna Fali RENEWAL
Francesco T StensethSpainXuxue Feng PROPOSAL
Smith A NestleArgentinaIoni Bowcher UNQUALIFIED
Costa T PaprockiFranceAnna Fali NEW
Ashley E FollerIndiaOnyama Limba PROPOSAL
Rodrigues R AmigonSpainStephen Shaw PROPOSAL
Kaitlin L KolmetzGermanyXuxue Feng NEGOTIATION
Julie S IturbideArgentinaXuxue Feng QUALIFIED
Julie A WaycottAustraliaAsiya Javayant QUALIFIED
Aruna F RutaCanadaIvan Magalhaes NEW
Deepesh F ShinkoAustraliaOnyama Limba NEGOTIATION
Isabel B RulapaughFranceAnna Fali NEGOTIATION
Mujtaba U ChuiItalyStephen Shaw QUALIFIED
Maisha F OldroydGermanyStephen Shaw UNQUALIFIED
Juan J ChuiItalyAmy Elsner RENEWAL
Adams G RimBrazilAsiya Javayant NEW
Misaki T RutaBrazilAnna Fali UNQUALIFIED
Jennifer I VenereAustraliaIvan Magalhaes RENEWAL
Juan D RimItalyAmy Elsner 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>