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
Aruna Z CaldareraUnited KingdomAnna Fali QUALIFIED
Emily M SchemmerAustraliaStephen Shaw NEGOTIATION
Darci V CampainRussiaAnna Fali NEGOTIATION
Emily W GauchoUnited KingdomElwin Sharvill NEGOTIATION
Aika Q MaletIndiaOnyama Limba NEW
Alejandro T DilliardUnited KingdomAsiya Javayant NEW
Ricardo A SergiAustraliaElwin Sharvill QUALIFIED
Johnson U FlosiIndiaIoni Bowcher PROPOSAL
Cody D WaycottRussiaIoni Bowcher UNQUALIFIED
Costa U GarufiItalyAmy Elsner QUALIFIED
Cody N RimFranceXuxue Feng NEW
Octavia H TollnerGermanyOnyama Limba NEGOTIATION
Cody G MaletUnited KingdomIvan Magalhaes NEW
Jones K KuskoAustraliaIoni Bowcher PROPOSAL
Ivar O WhobreyAustraliaBernardo Dominic NEGOTIATION
Maisha Q KuskoItalyAnna Fali NEW
Cody C WaycottItalyElwin Sharvill UNQUALIFIED
Mujtaba X GlickUnited KingdomAmy Elsner RENEWAL
Sinclair Z InouyeArgentinaBernardo Dominic NEW
Maria P IturbideGermanyStephen Shaw NEW
Murillo V MacleadBrazilIoni Bowcher UNQUALIFIED
Francesco A SchemmerFranceBernardo Dominic NEGOTIATION
James W PerinAustraliaStephen Shaw UNQUALIFIED
Mujtaba X BowleyAustraliaAsiya Javayant QUALIFIED
Jefferson D MarrierItalyStephen Shaw NEW
Rodrigues Q ButtCanadaOnyama Limba PROPOSAL
Sinclair J VocelkaJapanAnna Fali QUALIFIED
David H ChuiUnited KingdomBernardo Dominic NEW
Darci H BriddickSpainOnyama Limba PROPOSAL
Ashley D WieserCanadaAnna Fali NEW
Mujtaba I KuskoAustraliaElwin Sharvill NEGOTIATION
Jeanfrancois W BowleyArgentinaXuxue Feng UNQUALIFIED
Sinclair R IturbideGermanyXuxue Feng UNQUALIFIED
Ashley V RoysterIndiaOnyama Limba RENEWAL
Claire W MorascaFranceAnna Fali RENEWAL
Mayumi X CampainJapanOnyama Limba NEGOTIATION
Alejandro V PerinArgentinaElwin Sharvill QUALIFIED
Isabel T AmigonFranceAmy Elsner RENEWAL
Jefferson H ShinkoRussiaElwin Sharvill RENEWAL
Julie N MorascaGermanyIvan Magalhaes RENEWAL
Chavez R RimItalyStephen Shaw UNQUALIFIED
Claire Z MacleadAustraliaOnyama Limba NEW
Jennifer G GlickSpainIvan Magalhaes PROPOSAL
Antonio A ChuiItalyOnyama Limba NEGOTIATION
Jones K StensethArgentinaStephen Shaw NEGOTIATION
Isabel E RimJapanIoni Bowcher NEW
Francesco A MacleadJapanXuxue Feng RENEWAL
Isabel V SaylorsJapanStephen Shaw RENEWAL
Munro F FerenczJapanIoni Bowcher QUALIFIED
Ricardo Z SchemmerFranceBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kaitlin E StensethCanadaAmy Elsner UNQUALIFIED
Maisha L PoquetteUnited KingdomBernardo Dominic QUALIFIED
Leja N InouyeArgentinaAnna Fali UNQUALIFIED
Izzy V PerinIndiaAmy Elsner UNQUALIFIED
Leja M SlusarskiRussiaXuxue Feng NEGOTIATION
Morrow M GlickSpainBernardo Dominic NEW
Morrow S MorascaItalyBernardo Dominic PROPOSAL
Aruna W MacleadSpainIoni Bowcher NEGOTIATION
Chavez K AlbaresBrazilIoni Bowcher NEW
Aditya Z GarufiItalyBernardo Dominic NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow N StockhamJapan2024-05-25Chemel, James L Cpa QUALIFIED10Anna Fali
1001Nicolas L SaylorsCanada2024-06-21Rousseaux, Michael Esq QUALIFIED89Xuxue Feng
1002Faith J PoquetteArgentina2024-06-01Benton, John B Jr PROPOSAL97Onyama Limba
1003Deepesh S ChuiUnited Kingdom2024-05-30Truhlar And Truhlar Attys NEGOTIATION99Elwin Sharvill
1004Francesco G RulapaughIndia2024-06-08Commercial Press NEGOTIATION22Ioni Bowcher
1005Alejandro D KolmetzItaly2024-05-31Commercial Press RENEWAL87Stephen Shaw
1006Aditya O MaletGermany2024-05-24Dorl, James J Esq QUALIFIED76Xuxue Feng
1007Sinclair P FollerFrance2024-06-17Dorl, James J Esq PROPOSAL27Anna Fali
1008Claire X PaprockiUnited Kingdom2024-05-24Dorl, James J Esq UNQUALIFIED51Asiya Javayant
1009Sinclair V BowleyItaly2024-05-24Rousseaux, Michael Esq NEW90Onyama Limba
1010Jefferson K GarufiItaly2024-06-11Morlong Associates QUALIFIED81Asiya Javayant
1011Ricardo U VenereArgentina2024-05-24Chanay, Jeffrey A Esq NEW79Elwin Sharvill
1012Faith A RutaIndia2024-06-05Chanay, Jeffrey A Esq NEW12Bernardo Dominic
1013Kadeem X RimRussia2024-06-17Dorl, James J Esq UNQUALIFIED79Anna Fali
1014Arvin Y ButtArgentina2024-06-06Chanay, Jeffrey A Esq RENEWAL54Bernardo Dominic
1015Francesco B DoeAustralia2024-06-11Morlong Associates UNQUALIFIED8Asiya Javayant
1016Greenwood U RutaIndia2024-05-29Rousseaux, Michael Esq UNQUALIFIED60Ivan Magalhaes
1017Alejandro G VenereGermany2024-06-07Rangoni Of Florence NEGOTIATION12Ivan Magalhaes
1018Sinclair M OstroskyCanada2024-06-07Benton, John B Jr QUALIFIED65Stephen Shaw
1019Leon P WieserGermany2024-05-30Dorl, James J Esq NEGOTIATION47Ivan Magalhaes
1020Mujtaba F RoysterGermany2024-06-19Truhlar And Truhlar Attys UNQUALIFIED82Bernardo Dominic
1021Juan Y ShinkoJapan2024-06-01Commercial Press QUALIFIED64Amy Elsner
1022Silvio C VenereRussia2024-06-18Feiner Bros NEGOTIATION94Asiya Javayant
1023Faith K OstroskyArgentina2024-06-05King, Christopher A Esq PROPOSAL44Xuxue Feng
1024Deepesh K SergiFrance2024-05-26Morlong Associates RENEWAL54Stephen Shaw
1025Morrow M NestleJapan2024-06-09Rangoni Of Florence UNQUALIFIED71Elwin Sharvill
1026Munro K DoeSpain2024-05-26Truhlar And Truhlar Attys QUALIFIED31Ioni Bowcher
1027Ricardo U FerenczRussia2024-06-19Rangoni Of Florence PROPOSAL91Onyama Limba
1028Jones B PoquetteIndia2024-06-02Chapman, Ross E Esq QUALIFIED45Onyama Limba
1029Clifford K RimGermany2024-05-27Buckley Miller Wright QUALIFIED76Bernardo Dominic
1030Isabel T BriddickSpain2024-05-27Chemel, James L Cpa RENEWAL39Xuxue Feng
1031Rodrigues Q RulapaughIndia2024-05-23Feltz Printing Service UNQUALIFIED7Xuxue Feng
1032Jennifer K MarrierArgentina2024-06-08Rangoni Of Florence PROPOSAL26Amy Elsner
1033Tony Z CaldareraJapan2024-05-31Morlong Associates PROPOSAL91Ivan Magalhaes
1034Isabel L PerinFrance2024-05-23Rousseaux, Michael Esq RENEWAL62Xuxue Feng
1035Ashley M RoysterCanada2024-05-31King, Christopher A Esq NEW25Asiya Javayant
1036Ivar Z CaudyRussia2024-05-27Truhlar And Truhlar Attys UNQUALIFIED18Ioni Bowcher
1037James L VenereIndia2024-06-13Dorl, James J Esq RENEWAL13Xuxue Feng
1038Rodrigues L CampainRussia2024-06-04Truhlar And Truhlar Attys RENEWAL76Amy Elsner
1039Isabel F PaprockiJapan2024-06-06Chanay, Jeffrey A Esq NEGOTIATION28Onyama Limba
1040Jeanfrancois Y WhobreyUnited Kingdom2024-06-21Chanay, Jeffrey A Esq RENEWAL98Bernardo Dominic
1041Antonio P VenereRussia2024-06-02Feiner Bros NEW43Asiya Javayant
1042Smith N OldroydItaly2024-06-01Rangoni Of Florence NEGOTIATION94Stephen Shaw
1043Clifford M GauchoSpain2024-06-07Feiner Bros QUALIFIED96Asiya Javayant
1044Kaitlin F MorascaFrance2024-05-27Chapman, Ross E Esq QUALIFIED90Amy Elsner
1045Clifford I FollerFrance2024-06-06Feiner Bros QUALIFIED52Ivan Magalhaes
1046Maisha P PaprockiBrazil2024-06-11King, Christopher A Esq NEW7Amy Elsner
1047Maisha V BowleyBrazil2024-05-24Morlong Associates NEGOTIATION58Xuxue Feng
1048Kadeem I ChuiArgentina2024-06-12Chanay, Jeffrey A Esq QUALIFIED44Asiya Javayant
1049Costa B ChuiCanada2024-06-10Chanay, Jeffrey A Esq RENEWAL32Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Darci Y SergiItalyBernardo Dominic PROPOSAL
Isabel L InouyeGermanyOnyama Limba RENEWAL
Rodrigues T FerenczRussiaAsiya Javayant RENEWAL
Rodrigues T AmigonAustraliaXuxue Feng UNQUALIFIED
Rodrigues J IturbideArgentinaElwin Sharvill NEW
James S VocelkaSpainIoni Bowcher PROPOSAL
Tony L GlickUnited KingdomStephen Shaw PROPOSAL
Cody W MacleadAustraliaElwin Sharvill PROPOSAL
Claire M PaprockiAustraliaStephen Shaw UNQUALIFIED
Mujtaba G CaudyGermanyBernardo Dominic RENEWAL
Mayumi W ChuiArgentinaOnyama Limba PROPOSAL
Costa L WhobreyUnited KingdomElwin Sharvill NEGOTIATION
Silvio Q DoeJapanStephen Shaw UNQUALIFIED
Smith Q VenereItalyIoni Bowcher UNQUALIFIED
Arvin U RimAustraliaIoni Bowcher QUALIFIED
Deepesh Q WhobreyGermanyBernardo Dominic QUALIFIED
Aditya I DoeRussiaIoni Bowcher RENEWAL
Faith Y NestleGermanyElwin Sharvill NEGOTIATION
Mayumi E PerinJapanIvan Magalhaes RENEWAL
Salvatore M RutaRussiaElwin Sharvill NEW
Rodrigues R GillianCanadaBernardo Dominic PROPOSAL
Clifford Y DilliardJapanIvan Magalhaes NEW
Chavez B AlbaresCanadaElwin Sharvill RENEWAL
Francesco Q ChuiArgentinaXuxue Feng RENEWAL
Aditya Q WaycottFranceBernardo Dominic NEGOTIATION
Francesco E MorascaAustraliaXuxue Feng RENEWAL
Ivar T WaycottCanadaStephen Shaw UNQUALIFIED
Juan W DilliardItalyStephen Shaw QUALIFIED
Arvin I DoeIndiaBernardo Dominic PROPOSAL
Jeanfrancois P PoquetteUnited KingdomStephen Shaw RENEWAL
Ivar C FerenczRussiaAsiya Javayant NEW
Smith M DarakjyCanadaBernardo Dominic NEGOTIATION
Morrow Q TollnerGermanyIvan Magalhaes UNQUALIFIED
Chavez X ShinkoSpainAsiya Javayant NEW
Antonio N SchemmerBrazilElwin Sharvill QUALIFIED
Stacey D IturbideRussiaOnyama Limba NEW
Nicolas X SergiItalyAsiya Javayant PROPOSAL
Arvin L NickaBrazilOnyama Limba QUALIFIED
Smith V RutaIndiaElwin Sharvill QUALIFIED
Jones B BriddickSpainAmy Elsner RENEWAL
Rodrigues W FerenczJapanElwin Sharvill NEGOTIATION
Julie A NickaGermanyIoni Bowcher NEGOTIATION
Francesco R MaletItalyOnyama Limba PROPOSAL
Munro T SergiIndiaIvan Magalhaes NEGOTIATION
Misaki N GillianFranceAnna Fali NEGOTIATION
Kadeem K OldroydAustraliaXuxue Feng NEGOTIATION
Julie M PaprockiBrazilXuxue Feng PROPOSAL
Misaki W MarrierAustraliaElwin Sharvill UNQUALIFIED
Johnson G WhobreyAustraliaBernardo Dominic UNQUALIFIED
Adams F InouyeJapanAsiya Javayant NEW
Frozen Columns
Name
Jefferson O Wieser
Mayumi C Stockham
David K Kusko
Kaitlin T Maclead
Clifford Z Stockham
Jeanfrancois X Whobrey
Kaitlin R Sergi
Mayumi Z Marrier
Juan J Ruta
Alejandro E Nicka
Smith Q Rulapaugh
Sinclair E Albares
Adams U Butt
Jefferson L Doe
Rodrigues H Paprocki
Stacey V Kusko
Antonio D Ostrosky
Jennifer C Figeroa
Cody R Oldroyd
Chavez Z Darakjy
Aika D Nestle
Ricardo C Amigon
Jones S Glick
Aditya R Tollner
Aditya G Saylors
Deepesh M Darakjy
Aika O Malet
Wickens F Doe
Misaki E Rulapaugh
David Y Caldarera
Kaitlin V Glick
Octavia Y Foller
Jeanfrancois A Caudy
Smith A Paprocki
Arvin R Vocelka
Munro W Maclead
Salvatore P Whobrey
David X Paprocki
Salvatore N Wieser
Juan E Rulapaugh
Munro M Shinko
Morrow A Perin
Salvatore L Darakjy
Claire F Waycott
Jeanfrancois J Venere
Silvio D Marrier
Jones Y Doe
Morrow R Stockham
Aika Q Slusarski
David W Poquette
IdCountryDate
1000Germany2024-06-04
1001Russia2024-05-27
1002Spain2024-05-31
1003Russia2024-06-08
1004Spain2024-05-31
1005Australia2024-06-07
1006Brazil2024-06-03
1007Germany2024-06-08
1008Spain2024-05-30
1009India2024-06-09
1010Canada2024-06-18
1011Germany2024-06-12
1012France2024-06-15
1013Brazil2024-05-31
1014France2024-06-12
1015Russia2024-05-28
1016India2024-06-14
1017Japan2024-06-12
1018United Kingdom2024-05-23
1019India2024-06-12
1020Argentina2024-05-26
1021Brazil2024-05-26
1022Italy2024-06-06
1023Italy2024-06-18
1024Australia2024-06-07
1025Canada2024-05-29
1026Australia2024-06-09
1027Canada2024-06-14
1028Canada2024-05-26
1029United Kingdom2024-05-29
1030Russia2024-06-10
1031India2024-06-08
1032France2024-06-13
1033Italy2024-05-26
1034Germany2024-05-25
1035Russia2024-06-19
1036Argentina2024-06-12
1037Germany2024-05-30
1038India2024-06-07
1039Australia2024-06-09
1040India2024-06-14
1041Spain2024-06-01
1042Russia2024-06-07
1043Russia2024-06-15
1044Australia2024-06-20
1045India2024-06-17
1046Brazil2024-05-24
1047United Kingdom2024-05-31
1048Spain2024-05-25
1049Italy2024-05-24

On-Demand Data

NameIdCountryDate
Alejandro K Schemmer1000France2024-06-19
Mayumi O Butt1001Russia2024-06-07
Johnson N Ferencz1002Canada2024-05-23
Morrow J Schemmer1003United Kingdom2024-05-28
Smith Q Rulapaugh1004Germany2024-06-12
Rodrigues M Stockham1005Japan2024-05-27
Clifford N Waycott1006Argentina2024-06-13
Maria Y Ferencz1007Italy2024-05-27
Faith L Rim1008Spain2024-06-21
Juan F Shinko1009Canada2024-06-18
Adams Q Doe1010Russia2024-05-26
Octavia J Shinko1011Russia2024-05-26
Tony B Butt1012Russia2024-05-30
Darci R Gaucho1013Spain2024-05-30
Deepesh V Stockham1014Japan2024-06-13
Adams H Rim1015France2024-05-28
Isabel C Stockham1016Spain2024-06-05
Francesco N Figeroa1017United Kingdom2024-05-25
Alejandro G Perin1018Spain2024-06-09
Ricardo W Sergi1019France2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford K MorascaAustraliaIvan Magalhaes PROPOSAL
Kaitlin I OldroydGermanyXuxue Feng RENEWAL
Leon L RulapaughUnited KingdomOnyama Limba NEW
Kaitlin A GlickArgentinaAnna Fali UNQUALIFIED
Isabel P InouyeUnited KingdomAnna Fali QUALIFIED
Jones B FigeroaArgentinaOnyama Limba UNQUALIFIED
Silvio K AlbaresItalyAnna Fali RENEWAL
Greenwood M SaylorsJapanIoni Bowcher PROPOSAL
Ashley J CampainBrazilIoni Bowcher NEW
Morrow O WhobreySpainIoni Bowcher RENEWAL
Jennifer L GillianGermanyAsiya Javayant UNQUALIFIED
Darci K FlosiCanadaElwin Sharvill QUALIFIED
Clifford A CaldareraArgentinaIvan Magalhaes UNQUALIFIED
Clifford Z PerinGermanyIoni Bowcher PROPOSAL
Silvio Q WaycottRussiaXuxue Feng UNQUALIFIED
Smith U IturbideCanadaIoni Bowcher RENEWAL
Leja T RulapaughCanadaAsiya Javayant UNQUALIFIED
Mayumi T SlusarskiFranceIoni Bowcher RENEWAL
Isabel G DarakjyBrazilIvan Magalhaes UNQUALIFIED
Silvio P ButtItalyIvan Magalhaes UNQUALIFIED
Jennifer A RulapaughItalyAsiya Javayant UNQUALIFIED
Emily J MorascaAustraliaIvan Magalhaes UNQUALIFIED
Kaitlin S GillianCanadaAnna Fali UNQUALIFIED
Aika X ShinkoCanadaXuxue Feng NEW
Tony F WaycottCanadaXuxue Feng RENEWAL
Ricardo W GauchoRussiaStephen Shaw UNQUALIFIED
Jeanfrancois Q MorascaSpainBernardo Dominic NEGOTIATION
Salvatore D VocelkaBrazilXuxue Feng RENEWAL
Jeanfrancois Q FerenczItalyIoni Bowcher QUALIFIED
Murillo S RimFranceIoni Bowcher NEW
Ricardo X SergiRussiaOnyama Limba PROPOSAL
Clifford B DoeAustraliaStephen Shaw NEGOTIATION
Aika J IturbideItalyAnna Fali RENEWAL
Johnson V PoquetteIndiaAmy Elsner NEW
Chavez Q GarufiGermanyIoni Bowcher NEGOTIATION
Murillo A MarrierRussiaBernardo Dominic RENEWAL
Alejandro N KuskoRussiaIvan Magalhaes RENEWAL
Ricardo S FigeroaCanadaAsiya Javayant RENEWAL
Alejandro O ShinkoUnited KingdomXuxue Feng PROPOSAL
Faith L MaletFranceAsiya Javayant 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>