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
Murillo J ButtCanadaStephen Shaw UNQUALIFIED
Clifford W PaprockiGermanyAmy Elsner QUALIFIED
Isabel K AlbaresGermanyBernardo Dominic PROPOSAL
Clifford C PaprockiUnited KingdomXuxue Feng PROPOSAL
Kadeem E FollerItalyOnyama Limba RENEWAL
Arvin C GarufiBrazilIoni Bowcher NEW
Rodrigues C IturbideAustraliaAnna Fali UNQUALIFIED
Aika G MaletBrazilElwin Sharvill NEW
Jennifer Z RutaBrazilAsiya Javayant QUALIFIED
Kaitlin Q FerenczRussiaOnyama Limba RENEWAL
Stacey M GarufiRussiaAsiya Javayant NEGOTIATION
Leja R ChuiSpainElwin Sharvill UNQUALIFIED
Julie H SergiGermanyBernardo Dominic NEW
Francesco J CaldareraUnited KingdomIvan Magalhaes NEW
Jefferson R GillianBrazilXuxue Feng PROPOSAL
Alejandro A MarrierAustraliaBernardo Dominic RENEWAL
Munro S TollnerRussiaAsiya Javayant NEW
Julie H MaletUnited KingdomIvan Magalhaes RENEWAL
Jeanfrancois A MaletBrazilStephen Shaw PROPOSAL
Jeanfrancois E AlbaresSpainAnna Fali NEW
Cody R PaprockiAustraliaAmy Elsner NEGOTIATION
Deepesh P GarufiIndiaXuxue Feng RENEWAL
Juan O KolmetzCanadaBernardo Dominic NEGOTIATION
Ricardo S MaletBrazilAsiya Javayant RENEWAL
Smith O VenereSpainAmy Elsner UNQUALIFIED
Munro J BriddickArgentinaIoni Bowcher UNQUALIFIED
Stacey Q GlickAustraliaIoni Bowcher QUALIFIED
Silvio V SlusarskiUnited KingdomBernardo Dominic UNQUALIFIED
Aditya M PerinBrazilElwin Sharvill PROPOSAL
Tony C RulapaughRussiaAmy Elsner NEGOTIATION
Sinclair V VocelkaIndiaIoni Bowcher NEGOTIATION
Francesco C ChuiRussiaIvan Magalhaes NEW
Francesco F CaldareraCanadaAnna Fali UNQUALIFIED
Deepesh Q MorascaArgentinaAnna Fali PROPOSAL
Smith R GillianCanadaIoni Bowcher QUALIFIED
Jefferson D CampainJapanXuxue Feng UNQUALIFIED
Octavia C CampainAustraliaOnyama Limba QUALIFIED
Cody R BologniaIndiaBernardo Dominic QUALIFIED
Francesco V RoysterAustraliaAsiya Javayant PROPOSAL
Jeanfrancois U IturbideSpainStephen Shaw PROPOSAL
James H DoeUnited KingdomIvan Magalhaes NEW
Leon G RutaIndiaIoni Bowcher RENEWAL
Stacey G KolmetzJapanElwin Sharvill PROPOSAL
Mujtaba Q CampainFranceAnna Fali NEGOTIATION
Greenwood W DilliardGermanyAmy Elsner UNQUALIFIED
Jennifer H GauchoItalyElwin Sharvill NEGOTIATION
Rodrigues N WieserCanadaXuxue Feng NEGOTIATION
Emily A KuskoAustraliaXuxue Feng PROPOSAL
Mujtaba U ButtArgentinaIvan Magalhaes UNQUALIFIED
Rodrigues S BologniaArgentinaIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Adams B NickaCanadaAnna Fali UNQUALIFIED
Silvio Y CaudyJapanBernardo Dominic PROPOSAL
Rodrigues S CaudyUnited KingdomStephen Shaw UNQUALIFIED
Jeanfrancois C PerinRussiaStephen Shaw PROPOSAL
Antonio W RutaBrazilAmy Elsner NEGOTIATION
Leja K BowleySpainOnyama Limba NEGOTIATION
Greenwood B VocelkaJapanAmy Elsner UNQUALIFIED
Tony T DoeJapanIvan Magalhaes QUALIFIED
Rodrigues T InouyeJapanElwin Sharvill PROPOSAL
Emily V InouyeFranceStephen Shaw NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith H OstroskyArgentina2024-06-20Printing Dimensions NEGOTIATION38Xuxue Feng
1001Ricardo W ButtGermany2024-06-24Printing Dimensions RENEWAL76Amy Elsner
1002Adams V PaprockiRussia2024-06-19Chanay, Jeffrey A Esq QUALIFIED58Ivan Magalhaes
1003Jefferson E GlickUnited Kingdom2024-06-10Printing Dimensions PROPOSAL50Amy Elsner
1004Alejandro C RoysterFrance2024-06-06Chemel, James L Cpa RENEWAL53Asiya Javayant
1005Leja J KolmetzRussia2024-05-27Dorl, James J Esq NEW28Xuxue Feng
1006Misaki Y SaylorsIndia2024-05-27Rousseaux, Michael Esq RENEWAL93Anna Fali
1007Aditya S GauchoJapan2024-06-09Printing Dimensions UNQUALIFIED18Elwin Sharvill
1008Kaitlin M MarrierGermany2024-06-03Truhlar And Truhlar Attys NEGOTIATION31Amy Elsner
1009Murillo Q NestleUnited Kingdom2024-06-06Feiner Bros NEGOTIATION71Asiya Javayant
1010Maria U RimRussia2024-06-11Feltz Printing Service UNQUALIFIED49Xuxue Feng
1011Aruna L AmigonSpain2024-06-19Rangoni Of Florence RENEWAL13Onyama Limba
1012Antonio H ShinkoFrance2024-06-13Feiner Bros QUALIFIED83Anna Fali
1013Claire W DoeIndia2024-06-02Chapman, Ross E Esq QUALIFIED54Ioni Bowcher
1014James P WaycottRussia2024-06-17Buckley Miller Wright QUALIFIED95Bernardo Dominic
1015Deepesh O MaletBrazil2024-06-12Rousseaux, Michael Esq NEGOTIATION14Stephen Shaw
1016Faith U SchemmerFrance2024-06-02Buckley Miller Wright NEW43Ioni Bowcher
1017Wickens Y GlickArgentina2024-06-04Rangoni Of Florence PROPOSAL59Onyama Limba
1018Ashley B FollerAustralia2024-06-05Buckley Miller Wright PROPOSAL60Anna Fali
1019Faith U RoysterSpain2024-06-08Buckley Miller Wright QUALIFIED20Ioni Bowcher
1020Julie S MacleadSpain2024-06-20Truhlar And Truhlar Attys QUALIFIED88Ioni Bowcher
1021Jeanfrancois J SergiArgentina2024-05-28Benton, John B Jr NEW49Ivan Magalhaes
1022Darci F BriddickCanada2024-06-10King, Christopher A Esq RENEWAL40Asiya Javayant
1023Octavia B KolmetzJapan2024-06-18Chanay, Jeffrey A Esq QUALIFIED16Bernardo Dominic
1024Darci Y DarakjyJapan2024-05-27Printing Dimensions UNQUALIFIED63Ivan Magalhaes
1025Murillo N ShinkoAustralia2024-06-09Chanay, Jeffrey A Esq QUALIFIED78Ivan Magalhaes
1026Kaitlin J FigeroaJapan2024-06-14King, Christopher A Esq RENEWAL21Onyama Limba
1027Greenwood F StensethArgentina2024-06-18Chemel, James L Cpa QUALIFIED52Anna Fali
1028Nicolas I NickaCanada2024-06-16Benton, John B Jr NEW75Bernardo Dominic
1029Antonio A DarakjyGermany2024-06-04Chemel, James L Cpa PROPOSAL13Anna Fali
1030Adams X OldroydUnited Kingdom2024-06-10Feiner Bros NEW29Anna Fali
1031Izzy P CaldareraRussia2024-05-28Chapman, Ross E Esq NEW27Onyama Limba
1032Nicolas G FigeroaUnited Kingdom2024-06-06Chemel, James L Cpa NEW6Elwin Sharvill
1033Faith K StensethItaly2024-06-05Commercial Press RENEWAL93Elwin Sharvill
1034Kadeem A RoysterFrance2024-06-10Feiner Bros RENEWAL1Amy Elsner
1035Smith W AmigonRussia2024-06-18Benton, John B Jr QUALIFIED66Ioni Bowcher
1036Rodrigues P RulapaughArgentina2024-06-11Morlong Associates UNQUALIFIED91Ivan Magalhaes
1037Faith T FerenczAustralia2024-06-17Commercial Press NEW27Stephen Shaw
1038Murillo F RimIndia2024-05-31Printing Dimensions QUALIFIED42Elwin Sharvill
1039Mayumi D CampainItaly2024-06-08Morlong Associates QUALIFIED60Amy Elsner
1040Murillo Q StensethGermany2024-06-09Rangoni Of Florence QUALIFIED22Ivan Magalhaes
1041Tony H BologniaUnited Kingdom2024-06-08Chanay, Jeffrey A Esq QUALIFIED36Amy Elsner
1042Mujtaba P GillianSpain2024-06-13Rousseaux, Michael Esq NEW38Stephen Shaw
1043Jones C SaylorsJapan2024-06-16Rousseaux, Michael Esq RENEWAL33Asiya Javayant
1044Julie R MacleadRussia2024-05-26Benton, John B Jr QUALIFIED25Anna Fali
1045Jeanfrancois F SchemmerArgentina2024-05-29Buckley Miller Wright NEGOTIATION28Bernardo Dominic
1046Greenwood J ChuiRussia2024-06-12Printing Dimensions NEGOTIATION53Elwin Sharvill
1047Aditya M DilliardGermany2024-06-17Morlong Associates PROPOSAL7Ivan Magalhaes
1048Ivar C DoeSpain2024-05-31Benton, John B Jr RENEWAL17Xuxue Feng
1049Antonio V GarufiBrazil2024-06-23Benton, John B Jr RENEWAL67Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Silvio Q DarakjyCanadaXuxue Feng QUALIFIED
Izzy T RoysterFranceAnna Fali NEW
Claire S RimJapanStephen Shaw NEW
Isabel Z MaletAustraliaStephen Shaw UNQUALIFIED
Rodrigues X DarakjyItalyIoni Bowcher NEW
Cody F GlickSpainOnyama Limba RENEWAL
Sinclair T FollerGermanyAmy Elsner NEGOTIATION
Johnson G InouyeAustraliaStephen Shaw RENEWAL
Deepesh F CaudyUnited KingdomAmy Elsner RENEWAL
Morrow S PerinItalyAmy Elsner NEW
Tony F WaycottIndiaAsiya Javayant RENEWAL
Antonio A ChuiItalyAnna Fali NEGOTIATION
Nicolas Q SaylorsGermanyBernardo Dominic NEW
Julie N MaletGermanyAsiya Javayant QUALIFIED
Izzy I TollnerSpainXuxue Feng RENEWAL
Morrow V MaletIndiaElwin Sharvill NEGOTIATION
Antonio R TollnerRussiaIoni Bowcher RENEWAL
Ricardo L MarrierBrazilIvan Magalhaes RENEWAL
Clifford E NickaCanadaIoni Bowcher QUALIFIED
Ricardo E ButtIndiaIvan Magalhaes NEW
Juan F MaletBrazilStephen Shaw UNQUALIFIED
Jennifer B OldroydCanadaBernardo Dominic UNQUALIFIED
Jones U FollerIndiaIvan Magalhaes RENEWAL
Rodrigues R SchemmerAustraliaOnyama Limba NEW
Isabel D SchemmerBrazilIoni Bowcher NEW
Deepesh L CaudyCanadaXuxue Feng PROPOSAL
Leon G OldroydUnited KingdomAmy Elsner RENEWAL
Deepesh H MacleadSpainAsiya Javayant QUALIFIED
Faith S SaylorsUnited KingdomStephen Shaw QUALIFIED
Mujtaba V BriddickUnited KingdomStephen Shaw NEGOTIATION
Salvatore R VocelkaCanadaAmy Elsner UNQUALIFIED
Jennifer O MaletAustraliaBernardo Dominic UNQUALIFIED
Misaki G VocelkaRussiaIoni Bowcher NEGOTIATION
Mujtaba R SergiItalyXuxue Feng QUALIFIED
Ricardo I ButtSpainAsiya Javayant UNQUALIFIED
Emily V AmigonAustraliaAmy Elsner PROPOSAL
Sinclair H VenereItalyAsiya Javayant RENEWAL
Sinclair I NestleCanadaOnyama Limba NEW
Johnson K RulapaughUnited KingdomStephen Shaw RENEWAL
Nicolas T DoeAustraliaAsiya Javayant QUALIFIED
Cody L BologniaBrazilIvan Magalhaes QUALIFIED
Misaki F WaycottUnited KingdomXuxue Feng QUALIFIED
Ivar J WaycottGermanyIoni Bowcher QUALIFIED
Antonio R VenereAustraliaIvan Magalhaes UNQUALIFIED
Jeanfrancois F PaprockiRussiaXuxue Feng QUALIFIED
Darci Y WieserItalyAmy Elsner UNQUALIFIED
Clifford B VenereJapanIoni Bowcher UNQUALIFIED
Ivar N NestleBrazilXuxue Feng PROPOSAL
Aruna S GauchoGermanyStephen Shaw NEW
Salvatore T DarakjyUnited KingdomStephen Shaw NEW
Frozen Columns
Name
Mayumi I Tollner
Claire F Nestle
Ivar K Darakjy
Murillo R Albares
Ashley N Kusko
Rodrigues P Ferencz
Tony Y Royster
Chavez N Nicka
Morrow E Schemmer
Aika C Iturbide
Chavez S Vocelka
Aditya U Flosi
David S Amigon
Clifford E Ruta
Izzy Q Bowley
Darci F Poquette
Izzy E Nestle
Leja G Stenseth
Maria R Whobrey
Mayumi K Poquette
Tony Z Saylors
Jennifer J Briddick
Ricardo G Iturbide
Octavia Y Foller
Cody L Rim
Francesco F Slusarski
Ricardo T Foller
Claire K Paprocki
Arvin M Whobrey
Munro I Caudy
Nicolas Y Dilliard
Antonio Q Doe
Francesco R Darakjy
Aruna D Morasca
Greenwood P Malet
Murillo G Nestle
Izzy I Gillian
Adams C Campain
Kaitlin T Stenseth
Morrow V Nicka
Leon X Tollner
James I Nestle
Mujtaba O Doe
Aruna C Slusarski
Leon Z Sergi
Jennifer R Stenseth
James E Kolmetz
Greenwood X Marrier
Rodrigues B Perin
Ricardo Y Kusko
IdCountryDate
1000Brazil2024-05-29
1001India2024-06-12
1002Canada2024-06-17
1003Italy2024-06-09
1004United Kingdom2024-06-06
1005Brazil2024-06-23
1006Australia2024-05-26
1007United Kingdom2024-06-12
1008India2024-05-29
1009Italy2024-05-30
1010France2024-06-07
1011Italy2024-06-15
1012Canada2024-05-31
1013Argentina2024-06-23
1014India2024-06-22
1015United Kingdom2024-06-16
1016Japan2024-06-14
1017France2024-06-07
1018Spain2024-06-12
1019India2024-06-05
1020Russia2024-05-28
1021Russia2024-06-17
1022United Kingdom2024-06-22
1023India2024-06-06
1024United Kingdom2024-06-13
1025Italy2024-06-03
1026United Kingdom2024-06-06
1027Japan2024-06-14
1028India2024-05-28
1029Argentina2024-06-21
1030France2024-06-01
1031Australia2024-05-27
1032Italy2024-06-14
1033Brazil2024-05-31
1034Australia2024-06-24
1035Canada2024-06-19
1036France2024-06-17
1037Australia2024-06-10
1038Argentina2024-06-23
1039Canada2024-06-17
1040Japan2024-06-08
1041Brazil2024-06-20
1042Germany2024-06-05
1043France2024-06-13
1044United Kingdom2024-06-20
1045India2024-06-02
1046Australia2024-05-29
1047Japan2024-06-10
1048United Kingdom2024-06-14
1049Italy2024-06-08

On-Demand Data

NameIdCountryDate
Arvin W Rim1000Canada2024-06-03
Salvatore P Rulapaugh1001Japan2024-06-01
Deepesh O Whobrey1002Germany2024-06-04
Rodrigues F Bolognia1003Spain2024-05-29
Jones O Amigon1004France2024-05-29
Murillo Y Stenseth1005Japan2024-06-22
Leon L Nicka1006Canada2024-06-14
Aruna M Flosi1007United Kingdom2024-06-05
Stacey Q Iturbide1008Brazil2024-06-20
Izzy I Figeroa1009Russia2024-06-05
Jones P Campain1010France2024-05-31
Sinclair E Whobrey1011Italy2024-06-11
Jennifer V Waycott1012Argentina2024-06-04
Deepesh M Flosi1013Argentina2024-06-09
Maisha P Briddick1014Germany2024-06-11
Deepesh H Maclead1015Italy2024-06-09
Chavez Q Oldroyd1016Japan2024-05-28
Julie X Briddick1017Canada2024-06-03
Stacey U Gillian1018Brazil2024-06-15
Smith B Dilliard1019Australia2024-06-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco Q VocelkaRussiaBernardo Dominic PROPOSAL
Clifford V AmigonUnited KingdomOnyama Limba PROPOSAL
Johnson T MacleadItalyBernardo Dominic UNQUALIFIED
Mujtaba G PoquetteArgentinaIvan Magalhaes UNQUALIFIED
Jefferson Z SlusarskiCanadaIvan Magalhaes NEW
Aruna C OldroydAustraliaAmy Elsner PROPOSAL
Murillo K GarufiBrazilAnna Fali QUALIFIED
Julie V FollerCanadaAmy Elsner RENEWAL
Stacey U DilliardFranceIoni Bowcher UNQUALIFIED
David V WhobreyArgentinaIoni Bowcher NEW
Tony W StensethIndiaOnyama Limba UNQUALIFIED
Ashley T VocelkaGermanyXuxue Feng QUALIFIED
Antonio D InouyeBrazilElwin Sharvill NEGOTIATION
Costa V SergiSpainAnna Fali QUALIFIED
Leon Q NestleJapanAnna Fali NEGOTIATION
Ricardo D KuskoCanadaIvan Magalhaes NEW
Aika Q WhobreyBrazilAnna Fali NEGOTIATION
Alejandro Y StensethRussiaXuxue Feng NEGOTIATION
Jeanfrancois D GauchoCanadaAmy Elsner PROPOSAL
Greenwood A VenereJapanElwin Sharvill PROPOSAL
Costa S SergiJapanIoni Bowcher NEW
Darci G CaudySpainIvan Magalhaes UNQUALIFIED
Clifford H BowleyRussiaElwin Sharvill NEGOTIATION
Misaki O GauchoFranceXuxue Feng UNQUALIFIED
Mujtaba I DarakjyIndiaElwin Sharvill PROPOSAL
Deepesh Y AlbaresUnited KingdomAmy Elsner RENEWAL
Aruna J SchemmerUnited KingdomIvan Magalhaes NEW
Octavia K MacleadCanadaIvan Magalhaes PROPOSAL
Mayumi O PoquetteIndiaAsiya Javayant PROPOSAL
Murillo W NickaCanadaBernardo Dominic RENEWAL
Tony N MaletGermanyAmy Elsner NEGOTIATION
Sinclair U CampainCanadaXuxue Feng NEGOTIATION
James N SaylorsRussiaIvan Magalhaes RENEWAL
Francesco C WieserJapanAsiya Javayant NEGOTIATION
Antonio D RoysterFranceAsiya Javayant UNQUALIFIED
Silvio K SchemmerSpainElwin Sharvill UNQUALIFIED
Morrow C MarrierUnited KingdomIvan Magalhaes RENEWAL
Francesco R TollnerBrazilAnna Fali PROPOSAL
Nicolas H PerinIndiaElwin Sharvill QUALIFIED
Costa P TollnerItalyAsiya 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>