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
Maria T DoeUnited KingdomAsiya Javayant PROPOSAL
Costa W WieserRussiaStephen Shaw QUALIFIED
Mujtaba V FlosiItalyBernardo Dominic RENEWAL
Rodrigues R ChuiCanadaIvan Magalhaes RENEWAL
Mayumi H OstroskyRussiaIvan Magalhaes QUALIFIED
Ivar Y PaprockiRussiaBernardo Dominic PROPOSAL
Murillo N PoquetteIndiaAsiya Javayant QUALIFIED
Leon M SlusarskiCanadaAmy Elsner QUALIFIED
Morrow Z AmigonCanadaAmy Elsner RENEWAL
Salvatore D SchemmerBrazilIvan Magalhaes NEW
Costa B GlickRussiaElwin Sharvill NEW
Leja G KuskoRussiaIvan Magalhaes RENEWAL
Aruna T MaletBrazilAnna Fali NEGOTIATION
Adams W BowleyGermanyAsiya Javayant UNQUALIFIED
Izzy Y MaletIndiaIvan Magalhaes QUALIFIED
Misaki I IturbideUnited KingdomIvan Magalhaes NEGOTIATION
Silvio P TollnerCanadaOnyama Limba QUALIFIED
Kaitlin X DoeArgentinaBernardo Dominic PROPOSAL
Rodrigues V SergiItalyIoni Bowcher NEGOTIATION
Mujtaba N BowleySpainIoni Bowcher QUALIFIED
Jefferson U DilliardIndiaOnyama Limba RENEWAL
Mujtaba H StensethItalyIvan Magalhaes RENEWAL
Octavia Y BowleyUnited KingdomXuxue Feng RENEWAL
Claire A ChuiIndiaXuxue Feng NEGOTIATION
Darci Y NestleCanadaAnna Fali PROPOSAL
Wickens A PaprockiGermanyAsiya Javayant NEGOTIATION
Silvio S WaycottSpainAmy Elsner UNQUALIFIED
Silvio Y GillianBrazilElwin Sharvill QUALIFIED
Maisha S KuskoIndiaIoni Bowcher NEGOTIATION
Arvin J BowleyGermanyAsiya Javayant RENEWAL
Chavez G FollerFranceBernardo Dominic PROPOSAL
Clifford X CaudyUnited KingdomIvan Magalhaes NEGOTIATION
Ricardo V RimAustraliaIoni Bowcher UNQUALIFIED
Claire Y MacleadUnited KingdomAnna Fali NEW
Faith C WaycottRussiaBernardo Dominic RENEWAL
Aika K TollnerAustraliaBernardo Dominic QUALIFIED
Clifford A ButtUnited KingdomAsiya Javayant PROPOSAL
Jones A SaylorsGermanyAmy Elsner PROPOSAL
Silvio J WhobreyUnited KingdomAmy Elsner PROPOSAL
Salvatore T BowleyUnited KingdomOnyama Limba UNQUALIFIED
David J ChuiRussiaStephen Shaw NEGOTIATION
Munro S FigeroaUnited KingdomElwin Sharvill NEGOTIATION
Jefferson O BologniaIndiaStephen Shaw PROPOSAL
Nicolas N RutaCanadaAmy Elsner NEW
David L GarufiRussiaOnyama Limba NEW
Antonio K WhobreyUnited KingdomBernardo Dominic NEW
Chavez N MaletFranceIvan Magalhaes UNQUALIFIED
Adams N MaletJapanIoni Bowcher UNQUALIFIED
Murillo A ChuiIndiaAmy Elsner NEGOTIATION
Octavia M RulapaughFranceIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Clifford K FerenczAustraliaStephen Shaw RENEWAL
Leon V WhobreyRussiaAsiya Javayant PROPOSAL
Murillo A VenereFranceIoni Bowcher NEGOTIATION
Johnson D WieserItalyIvan Magalhaes QUALIFIED
James J NestleIndiaIoni Bowcher PROPOSAL
David S RimFranceOnyama Limba UNQUALIFIED
Smith A PaprockiArgentinaElwin Sharvill QUALIFIED
Smith T OstroskyItalyIoni Bowcher QUALIFIED
James L FerenczItalyIvan Magalhaes PROPOSAL
Alejandro D DarakjyFranceAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maria Y MarrierAustralia2024-06-04Feltz Printing Service NEW10Ivan Magalhaes
1001Faith O RimUnited Kingdom2024-05-16Rangoni Of Florence PROPOSAL1Asiya Javayant
1002Claire B KolmetzCanada2024-05-22Rangoni Of Florence UNQUALIFIED0Xuxue Feng
1003Ivar Q FlosiAustralia2024-05-22Dorl, James J Esq PROPOSAL61Ivan Magalhaes
1004Morrow U SchemmerSpain2024-05-21Feiner Bros NEGOTIATION28Ivan Magalhaes
1005Johnson S NestleCanada2024-06-09King, Christopher A Esq QUALIFIED82Ivan Magalhaes
1006Jennifer I WieserUnited Kingdom2024-05-15Morlong Associates UNQUALIFIED34Ioni Bowcher
1007Aika A RulapaughAustralia2024-05-21Buckley Miller Wright RENEWAL1Xuxue Feng
1008Nicolas H KuskoRussia2024-05-15Chanay, Jeffrey A Esq RENEWAL43Elwin Sharvill
1009Juan N MarrierGermany2024-05-18Chapman, Ross E Esq NEGOTIATION59Asiya Javayant
1010Ricardo Z RoysterUnited Kingdom2024-05-21Truhlar And Truhlar Attys NEW47Stephen Shaw
1011Aika W FollerSpain2024-06-01Benton, John B Jr NEGOTIATION81Xuxue Feng
1012Wickens V ChuiUnited Kingdom2024-06-07Rangoni Of Florence QUALIFIED22Bernardo Dominic
1013Jones I MorascaItaly2024-05-15Benton, John B Jr NEGOTIATION17Amy Elsner
1014Jefferson O StensethRussia2024-05-26Feltz Printing Service NEW26Stephen Shaw
1015Smith I BriddickSpain2024-05-30Feiner Bros NEGOTIATION58Ioni Bowcher
1016Cody D RoysterIndia2024-05-18Feiner Bros RENEWAL3Stephen Shaw
1017Chavez A MaletFrance2024-05-30Benton, John B Jr UNQUALIFIED8Asiya Javayant
1018Alejandro I AlbaresJapan2024-06-02Rangoni Of Florence QUALIFIED4Asiya Javayant
1019Stacey L IturbideGermany2024-06-13Commercial Press NEGOTIATION15Stephen Shaw
1020Juan M CampainArgentina2024-05-17Rousseaux, Michael Esq NEW63Elwin Sharvill
1021Octavia S SergiItaly2024-06-08Printing Dimensions UNQUALIFIED76Xuxue Feng
1022Adams S VocelkaArgentina2024-05-17King, Christopher A Esq NEGOTIATION48Bernardo Dominic
1023Octavia R RutaFrance2024-05-16Printing Dimensions NEW75Bernardo Dominic
1024Wickens T GauchoSpain2024-06-01Chanay, Jeffrey A Esq QUALIFIED60Ivan Magalhaes
1025Jennifer N KuskoJapan2024-05-18Rousseaux, Michael Esq QUALIFIED89Bernardo Dominic
1026Rodrigues P NickaBrazil2024-06-10Truhlar And Truhlar Attys NEGOTIATION76Asiya Javayant
1027Octavia S PoquetteFrance2024-06-05Chemel, James L Cpa UNQUALIFIED37Amy Elsner
1028Claire X OldroydAustralia2024-06-02Feltz Printing Service UNQUALIFIED66Anna Fali
1029Emily Z GarufiGermany2024-05-17Buckley Miller Wright UNQUALIFIED14Asiya Javayant
1030Smith O ShinkoAustralia2024-05-29Morlong Associates QUALIFIED68Amy Elsner
1031Arvin P AlbaresGermany2024-06-10Buckley Miller Wright NEGOTIATION21Bernardo Dominic
1032Murillo N AmigonUnited Kingdom2024-05-20Rousseaux, Michael Esq PROPOSAL17Stephen Shaw
1033Jefferson G RutaSpain2024-06-01Rousseaux, Michael Esq PROPOSAL91Elwin Sharvill
1034Salvatore N RimItaly2024-06-04Buckley Miller Wright PROPOSAL18Stephen Shaw
1035Wickens B MorascaArgentina2024-06-02Feltz Printing Service QUALIFIED36Xuxue Feng
1036Ivar F StensethCanada2024-05-30Chemel, James L Cpa NEGOTIATION2Ivan Magalhaes
1037Antonio W ChuiItaly2024-05-25Rangoni Of Florence RENEWAL89Ivan Magalhaes
1038Jeanfrancois C RimItaly2024-06-08King, Christopher A Esq RENEWAL92Bernardo Dominic
1039Alejandro R WhobreyIndia2024-05-18King, Christopher A Esq UNQUALIFIED43Anna Fali
1040Wickens R NickaCanada2024-06-12Feiner Bros NEGOTIATION21Elwin Sharvill
1041Wickens E RulapaughIndia2024-05-15King, Christopher A Esq UNQUALIFIED33Ivan Magalhaes
1042Faith U KuskoAustralia2024-05-22Truhlar And Truhlar Attys PROPOSAL71Stephen Shaw
1043Tony I GillianUnited Kingdom2024-05-21King, Christopher A Esq RENEWAL19Bernardo Dominic
1044Nicolas K BriddickAustralia2024-06-09Buckley Miller Wright QUALIFIED57Asiya Javayant
1045Aruna X RulapaughItaly2024-05-25Chapman, Ross E Esq NEW16Bernardo Dominic
1046Adams N KolmetzAustralia2024-05-24Truhlar And Truhlar Attys RENEWAL55Ivan Magalhaes
1047Isabel O SaylorsItaly2024-05-20Buckley Miller Wright PROPOSAL51Asiya Javayant
1048Jones M GlickBrazil2024-05-29Dorl, James J Esq RENEWAL14Xuxue Feng
1049Aditya P KolmetzJapan2024-06-07Commercial Press NEW68Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Aika M PoquetteIndiaAmy Elsner RENEWAL
Misaki C MaletCanadaStephen Shaw PROPOSAL
Maisha W GlickArgentinaAsiya Javayant UNQUALIFIED
Jennifer L PoquetteArgentinaOnyama Limba NEGOTIATION
Costa O IturbideFranceXuxue Feng NEGOTIATION
James Z FigeroaArgentinaIoni Bowcher QUALIFIED
Silvio J StockhamRussiaBernardo Dominic QUALIFIED
Morrow W GarufiJapanIoni Bowcher UNQUALIFIED
Murillo F NickaBrazilElwin Sharvill PROPOSAL
Salvatore B KolmetzFranceStephen Shaw NEGOTIATION
Ashley Y MorascaJapanXuxue Feng PROPOSAL
David D OstroskyItalyAmy Elsner NEGOTIATION
Munro D WieserCanadaStephen Shaw NEGOTIATION
Morrow W KolmetzJapanIoni Bowcher NEW
Isabel T RutaArgentinaAmy Elsner PROPOSAL
Darci U SlusarskiRussiaIvan Magalhaes QUALIFIED
Jones G CampainAustraliaAnna Fali QUALIFIED
Adams O MarrierSpainXuxue Feng UNQUALIFIED
Ricardo M InouyeRussiaAnna Fali RENEWAL
Jennifer A FerenczIndiaAnna Fali NEGOTIATION
Ashley Z IturbideJapanXuxue Feng RENEWAL
Nicolas D StockhamRussiaAnna Fali NEGOTIATION
Mayumi E NickaItalyAsiya Javayant NEGOTIATION
Silvio Q OldroydSpainAnna Fali NEGOTIATION
David S RimItalyAsiya Javayant UNQUALIFIED
Costa H StockhamFranceAnna Fali RENEWAL
Munro Z AmigonCanadaBernardo Dominic PROPOSAL
Darci U NestleSpainAnna Fali QUALIFIED
Aditya R NestleGermanyIoni Bowcher RENEWAL
Jones R GillianSpainIvan Magalhaes RENEWAL
Isabel Z ButtSpainAmy Elsner RENEWAL
Kadeem M MaletSpainBernardo Dominic NEW
Misaki Z AlbaresAustraliaAsiya Javayant PROPOSAL
Chavez V PoquetteAustraliaAmy Elsner NEW
Ashley M PaprockiFranceBernardo Dominic NEW
Sinclair K RutaUnited KingdomIoni Bowcher QUALIFIED
Claire X FlosiItalyIvan Magalhaes QUALIFIED
Juan S NickaIndiaIvan Magalhaes QUALIFIED
James A BriddickFranceAnna Fali NEGOTIATION
Murillo S AlbaresCanadaBernardo Dominic RENEWAL
Octavia O IturbideArgentinaAnna Fali UNQUALIFIED
Aditya R FlosiRussiaStephen Shaw NEGOTIATION
Smith T SaylorsCanadaAsiya Javayant UNQUALIFIED
Wickens K SchemmerArgentinaIvan Magalhaes NEW
Wickens T CampainAustraliaIoni Bowcher NEGOTIATION
Maisha A PoquetteArgentinaIvan Magalhaes UNQUALIFIED
Silvio B ChuiSpainXuxue Feng PROPOSAL
Ivar O SergiArgentinaIoni Bowcher NEW
Deepesh S CaldareraRussiaBernardo Dominic PROPOSAL
Nicolas M ButtUnited KingdomOnyama Limba NEGOTIATION
Frozen Columns
Name
Jefferson O Bowley
Adams G Garufi
Misaki R Bolognia
Ricardo G Slusarski
David N Glick
Deepesh O Tollner
Cody F Kusko
Kadeem V Vocelka
Deepesh C Kolmetz
Isabel R Maclead
Tony U Campain
Jeanfrancois L Briddick
Costa J Briddick
Darci U Chui
Maisha E Kolmetz
Maisha V Maclead
Jeanfrancois P Marrier
James Q Ruta
James R Chui
Jennifer V Figeroa
Morrow W Darakjy
Isabel R Malet
Kadeem M Campain
Morrow X Figeroa
Clifford D Foller
Rodrigues N Ostrosky
Adams C Oldroyd
Mujtaba U Tollner
Tony F Rim
Arvin A Amigon
James J Gillian
Ivar Z Tollner
Maria F Oldroyd
Darci W Oldroyd
Juan A Foller
Morrow T Amigon
Juan U Morasca
Maria A Doe
Claire N Butt
Misaki M Malet
Francesco C Doe
Leon T Dilliard
Jefferson S Ruta
Adams P Caudy
Faith T Tollner
Ivar O Saylors
Stacey H Glick
Jeanfrancois Q Royster
Mujtaba O Shinko
Tony M Vocelka
IdCountryDate
1000Japan2024-05-19
1001Canada2024-05-28
1002Argentina2024-06-06
1003Argentina2024-05-15
1004Japan2024-05-23
1005Germany2024-06-12
1006Brazil2024-05-19
1007Australia2024-05-29
1008Australia2024-05-25
1009France2024-05-30
1010Russia2024-05-30
1011Canada2024-05-15
1012Russia2024-06-02
1013India2024-05-17
1014United Kingdom2024-05-16
1015Italy2024-06-03
1016Italy2024-05-18
1017Canada2024-05-22
1018Japan2024-05-21
1019Russia2024-05-19
1020Russia2024-05-18
1021Spain2024-06-08
1022Germany2024-05-24
1023Japan2024-05-25
1024Argentina2024-06-07
1025France2024-05-18
1026Brazil2024-06-01
1027Japan2024-06-13
1028United Kingdom2024-05-16
1029Spain2024-05-18
1030Italy2024-06-11
1031Australia2024-06-05
1032Japan2024-05-24
1033France2024-06-05
1034Canada2024-06-11
1035United Kingdom2024-06-07
1036Australia2024-06-09
1037United Kingdom2024-05-20
1038United Kingdom2024-05-23
1039Russia2024-05-31
1040Germany2024-06-07
1041Russia2024-06-01
1042United Kingdom2024-05-25
1043Italy2024-05-19
1044Spain2024-06-09
1045Germany2024-06-10
1046Canada2024-05-26
1047Canada2024-05-17
1048Argentina2024-05-26
1049Argentina2024-05-25

On-Demand Data

NameIdCountryDate
Tony N Stenseth1000India2024-06-06
Ashley R Kusko1001India2024-06-13
Kaitlin Z Kusko1002France2024-05-29
Greenwood I Gillian1003Spain2024-05-31
Ashley K Saylors1004Argentina2024-06-03
Antonio G Stenseth1005United Kingdom2024-05-28
Greenwood A Briddick1006Italy2024-06-12
Mayumi Q Tollner1007Canada2024-06-11
Ashley M Garufi1008Italy2024-05-28
Sinclair P Briddick1009Japan2024-06-09
Kaitlin I Stockham1010India2024-05-22
Ricardo C Doe1011India2024-05-18
Faith A Iturbide1012Argentina2024-06-10
Aika S Waycott1013Canada2024-05-25
Claire M Morasca1014Brazil2024-05-23
Johnson N Briddick1015Australia2024-05-18
Kadeem J Darakjy1016Brazil2024-05-31
Johnson A Paprocki1017Germany2024-05-26
Arvin P Rulapaugh1018Australia2024-05-24
Julie X Dilliard1019Russia2024-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio I StensethArgentinaAnna Fali PROPOSAL
Kadeem K CaldareraUnited KingdomIoni Bowcher NEGOTIATION
Mujtaba V TollnerArgentinaBernardo Dominic RENEWAL
Clifford R MorascaUnited KingdomIvan Magalhaes UNQUALIFIED
Deepesh W CaldareraFranceAmy Elsner RENEWAL
David W ButtSpainAnna Fali PROPOSAL
Julie M SaylorsFranceBernardo Dominic PROPOSAL
Stacey H MaletAustraliaAsiya Javayant NEW
Jones G RulapaughJapanBernardo Dominic UNQUALIFIED
Deepesh A KuskoFranceXuxue Feng PROPOSAL
Mayumi G CampainGermanyOnyama Limba NEGOTIATION
Aruna A InouyeJapanStephen Shaw PROPOSAL
David F CaldareraJapanAsiya Javayant QUALIFIED
Alejandro L SergiAustraliaIvan Magalhaes NEW
Emily U FerenczGermanyStephen Shaw PROPOSAL
Jefferson K VenereSpainBernardo Dominic QUALIFIED
Kaitlin E DarakjyCanadaOnyama Limba RENEWAL
Leja R PerinCanadaIoni Bowcher NEW
Aika U GarufiArgentinaBernardo Dominic NEW
Nicolas Q KuskoIndiaElwin Sharvill PROPOSAL
Arvin D GlickCanadaAnna Fali UNQUALIFIED
Mujtaba R RutaRussiaAsiya Javayant NEGOTIATION
Rodrigues E VocelkaSpainAsiya Javayant UNQUALIFIED
David M WieserJapanIoni Bowcher RENEWAL
Mayumi S PaprockiRussiaStephen Shaw NEGOTIATION
Morrow J ButtArgentinaElwin Sharvill RENEWAL
Francesco A KuskoJapanAnna Fali UNQUALIFIED
Isabel U RimRussiaAsiya Javayant QUALIFIED
Ashley G CaldareraIndiaElwin Sharvill PROPOSAL
Johnson C NestleGermanyOnyama Limba UNQUALIFIED
Antonio E ChuiBrazilStephen Shaw NEW
Maisha G WaycottArgentinaIvan Magalhaes QUALIFIED
Deepesh N StensethUnited KingdomStephen Shaw NEGOTIATION
Nicolas V DilliardAustraliaAmy Elsner NEW
Kadeem F MacleadGermanyIoni Bowcher PROPOSAL
Munro N MorascaRussiaIoni Bowcher QUALIFIED
Deepesh K MacleadJapanAsiya Javayant NEGOTIATION
Morrow W VenereCanadaBernardo Dominic RENEWAL
Ashley B VocelkaIndiaBernardo Dominic QUALIFIED
Jeanfrancois U SergiAustraliaXuxue Feng NEW

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