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
Wickens J SergiUnited KingdomIvan Magalhaes RENEWAL
Kaitlin Y PerinArgentinaIvan Magalhaes RENEWAL
Ricardo C VocelkaBrazilStephen Shaw UNQUALIFIED
Francesco J RulapaughIndiaAsiya Javayant NEGOTIATION
Julie Z PerinSpainAsiya Javayant QUALIFIED
Antonio R MaletRussiaXuxue Feng NEW
Ricardo S SlusarskiAustraliaElwin Sharvill RENEWAL
Adams G DarakjyCanadaIoni Bowcher NEW
Ashley O RoysterIndiaXuxue Feng NEGOTIATION
Jennifer Q RimSpainIoni Bowcher QUALIFIED
Julie S RulapaughArgentinaAsiya Javayant NEGOTIATION
Jones Z SergiJapanXuxue Feng NEGOTIATION
Chavez E DilliardSpainAmy Elsner QUALIFIED
Salvatore Z OstroskyArgentinaAnna Fali NEW
Isabel C NestleAustraliaOnyama Limba NEW
Stacey U VocelkaRussiaIvan Magalhaes NEW
Kaitlin I RoysterArgentinaStephen Shaw UNQUALIFIED
Jeanfrancois M MaletUnited KingdomOnyama Limba RENEWAL
Francesco D VenereJapanAnna Fali QUALIFIED
Wickens Z PaprockiUnited KingdomBernardo Dominic PROPOSAL
Emily N MarrierUnited KingdomAsiya Javayant QUALIFIED
David F GlickJapanElwin Sharvill NEW
Maisha Z SaylorsSpainOnyama Limba NEW
Wickens W FlosiUnited KingdomAsiya Javayant PROPOSAL
Aika W TollnerJapanIvan Magalhaes QUALIFIED
Kadeem F StockhamBrazilIvan Magalhaes RENEWAL
Alejandro P OstroskyRussiaOnyama Limba NEW
Maria I BologniaJapanElwin Sharvill PROPOSAL
Emily U OldroydItalyElwin Sharvill PROPOSAL
Morrow K PerinBrazilAsiya Javayant NEGOTIATION
Morrow A AmigonItalyXuxue Feng PROPOSAL
Kaitlin F MarrierCanadaStephen Shaw PROPOSAL
Leja E InouyeBrazilIoni Bowcher NEGOTIATION
Arvin S GauchoArgentinaIoni Bowcher QUALIFIED
Claire Y AmigonBrazilElwin Sharvill RENEWAL
James S IturbideCanadaBernardo Dominic PROPOSAL
Cody W SlusarskiUnited KingdomOnyama Limba NEW
Leja Z SlusarskiGermanyOnyama Limba RENEWAL
Julie J CaudyIndiaAnna Fali PROPOSAL
Isabel K StockhamFranceIvan Magalhaes RENEWAL
Tony J OldroydCanadaIoni Bowcher PROPOSAL
Kaitlin Y AmigonGermanyElwin Sharvill UNQUALIFIED
Faith K CaudyUnited KingdomAnna Fali QUALIFIED
Chavez B GarufiItalyAnna Fali RENEWAL
Faith R StockhamItalyXuxue Feng NEGOTIATION
Chavez A DarakjyJapanAmy Elsner RENEWAL
Costa D DarakjyBrazilAsiya Javayant UNQUALIFIED
Greenwood Y SchemmerCanadaAsiya Javayant QUALIFIED
Juan O GillianFranceAnna Fali UNQUALIFIED
Octavia D GillianGermanyIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kaitlin M StockhamFranceAnna Fali NEW
Munro I PoquetteCanadaOnyama Limba RENEWAL
Wickens L OldroydItalyOnyama Limba PROPOSAL
Julie Y WaycottIndiaAnna Fali UNQUALIFIED
Silvio F BologniaSpainAsiya Javayant NEW
Costa E RulapaughArgentinaBernardo Dominic NEW
Ricardo A WhobreyFranceAsiya Javayant RENEWAL
Chavez D GlickRussiaBernardo Dominic RENEWAL
Sinclair I ShinkoArgentinaIvan Magalhaes NEGOTIATION
Tony A DarakjyItalyIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Costa S NestleAustralia2025-04-06Chapman, Ross E Esq NEW65Xuxue Feng
1001Sinclair E MaletSpain2025-04-29King, Christopher A Esq UNQUALIFIED96Elwin Sharvill
1002Chavez C StensethSpain2025-04-06Dorl, James J Esq NEGOTIATION3Elwin Sharvill
1003Kadeem F WaycottJapan2025-04-05Commercial Press QUALIFIED95Ivan Magalhaes
1004Salvatore R FollerBrazil2025-04-15Feiner Bros QUALIFIED69Onyama Limba
1005Costa Y MaletItaly2025-04-24Chanay, Jeffrey A Esq RENEWAL64Stephen Shaw
1006Aika Y GlickCanada2025-04-29Benton, John B Jr QUALIFIED67Stephen Shaw
1007Kadeem U BriddickSpain2025-04-12Benton, John B Jr NEGOTIATION94Amy Elsner
1008Jennifer S NickaIndia2025-04-18Rousseaux, Michael Esq NEGOTIATION23Onyama Limba
1009Alejandro U DilliardArgentina2025-04-06Feiner Bros PROPOSAL66Bernardo Dominic
1010Faith Q RoysterCanada2025-04-20Printing Dimensions QUALIFIED84Ioni Bowcher
1011Leja B WaycottItaly2025-04-14Truhlar And Truhlar Attys RENEWAL6Elwin Sharvill
1012Johnson K DilliardSpain2025-04-20Buckley Miller Wright PROPOSAL53Elwin Sharvill
1013Ashley E StockhamRussia2025-04-22Buckley Miller Wright RENEWAL99Amy Elsner
1014Arvin M OstroskyFrance2025-04-06King, Christopher A Esq QUALIFIED46Xuxue Feng
1015Darci S MacleadAustralia2025-04-06Rangoni Of Florence QUALIFIED82Stephen Shaw
1016Adams W BologniaArgentina2025-04-05Chanay, Jeffrey A Esq QUALIFIED92Ioni Bowcher
1017Sinclair E OldroydGermany2025-04-14Chanay, Jeffrey A Esq RENEWAL4Amy Elsner
1018Kaitlin C GauchoBrazil2025-04-02Truhlar And Truhlar Attys QUALIFIED30Anna Fali
1019David R CaudyGermany2025-04-01Morlong Associates PROPOSAL45Anna Fali
1020Julie M SchemmerAustralia2025-04-12Feiner Bros NEW78Ivan Magalhaes
1021Sinclair A MorascaUnited Kingdom2025-04-05Truhlar And Truhlar Attys NEGOTIATION5Onyama Limba
1022Octavia O FlosiSpain2025-04-20Truhlar And Truhlar Attys NEGOTIATION70Bernardo Dominic
1023Arvin F MaletFrance2025-04-10Chanay, Jeffrey A Esq NEGOTIATION64Elwin Sharvill
1024Darci D ShinkoIndia2025-04-14Chemel, James L Cpa UNQUALIFIED44Onyama Limba
1025Antonio S SaylorsCanada2025-04-28King, Christopher A Esq NEGOTIATION80Asiya Javayant
1026Cody C DarakjyUnited Kingdom2025-04-29Chanay, Jeffrey A Esq NEGOTIATION73Ivan Magalhaes
1027Mayumi E GarufiRussia2025-04-07Feltz Printing Service PROPOSAL70Onyama Limba
1028Darci P BologniaBrazil2025-04-30Feltz Printing Service UNQUALIFIED96Bernardo Dominic
1029Jennifer W KuskoUnited Kingdom2025-04-10Chemel, James L Cpa QUALIFIED93Stephen Shaw
1030Costa R MacleadFrance2025-04-12Chemel, James L Cpa NEGOTIATION77Bernardo Dominic
1031Nicolas L FigeroaFrance2025-04-14King, Christopher A Esq RENEWAL33Ivan Magalhaes
1032Salvatore Y SaylorsUnited Kingdom2025-04-08Commercial Press UNQUALIFIED99Bernardo Dominic
1033Leon I MaletBrazil2025-04-12Feiner Bros PROPOSAL92Ioni Bowcher
1034Smith S MarrierJapan2025-04-21Rangoni Of Florence PROPOSAL0Elwin Sharvill
1035Mayumi Z FlosiArgentina2025-04-05Chemel, James L Cpa QUALIFIED87Anna Fali
1036Costa Q FlosiIndia2025-04-26Benton, John B Jr QUALIFIED99Amy Elsner
1037Leja X AmigonSpain2025-04-21Chapman, Ross E Esq PROPOSAL51Ioni Bowcher
1038Maria C SergiArgentina2025-04-14Printing Dimensions NEGOTIATION41Asiya Javayant
1039Jefferson A WaycottArgentina2025-04-08Commercial Press NEGOTIATION63Bernardo Dominic
1040Maisha N StockhamCanada2025-04-10Commercial Press NEGOTIATION78Asiya Javayant
1041Cody N AlbaresFrance2025-04-07Feltz Printing Service UNQUALIFIED27Xuxue Feng
1042Rodrigues A RutaCanada2025-04-12King, Christopher A Esq RENEWAL32Asiya Javayant
1043Juan C NestleUnited Kingdom2025-04-13Rousseaux, Michael Esq NEW4Onyama Limba
1044Clifford X StensethCanada2025-04-09Chapman, Ross E Esq UNQUALIFIED59Ivan Magalhaes
1045Mayumi F VocelkaJapan2025-04-12Commercial Press QUALIFIED80Ivan Magalhaes
1046Ricardo G ChuiItaly2025-04-21Truhlar And Truhlar Attys QUALIFIED35Onyama Limba
1047Sinclair P VocelkaSpain2025-04-26Morlong Associates NEW39Xuxue Feng
1048Emily U SergiArgentina2025-04-16Chanay, Jeffrey A Esq NEGOTIATION20Ioni Bowcher
1049David A FerenczBrazil2025-04-19Morlong Associates UNQUALIFIED10Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Murillo J MarrierUnited KingdomAsiya Javayant UNQUALIFIED
Silvio V RutaAustraliaOnyama Limba NEW
Morrow T BriddickIndiaBernardo Dominic QUALIFIED
Leon C BologniaUnited KingdomAmy Elsner PROPOSAL
Juan B OstroskyBrazilIoni Bowcher UNQUALIFIED
Mujtaba H FigeroaJapanElwin Sharvill NEW
Aika R BriddickSpainAnna Fali NEW
Silvio M GauchoItalyIvan Magalhaes QUALIFIED
Izzy O MaletBrazilXuxue Feng QUALIFIED
Julie W BowleyItalyIoni Bowcher RENEWAL
Mujtaba X MorascaGermanyXuxue Feng RENEWAL
Jefferson Q StensethIndiaIvan Magalhaes NEW
Mayumi G ShinkoUnited KingdomAnna Fali UNQUALIFIED
Murillo E MaletJapanIvan Magalhaes NEW
Jefferson R MaletJapanXuxue Feng RENEWAL
Munro F FlosiSpainStephen Shaw RENEWAL
Deepesh C ChuiSpainOnyama Limba NEGOTIATION
Emily N BriddickRussiaAsiya Javayant UNQUALIFIED
Leja R CampainBrazilOnyama Limba RENEWAL
Munro B ButtFranceIvan Magalhaes RENEWAL
Aruna I PaprockiJapanElwin Sharvill RENEWAL
Clifford X CampainSpainOnyama Limba PROPOSAL
Jones B SaylorsFranceStephen Shaw QUALIFIED
Leon Q CaldareraArgentinaIoni Bowcher UNQUALIFIED
Mayumi P OstroskyFranceAsiya Javayant NEGOTIATION
Nicolas M FlosiSpainAnna Fali UNQUALIFIED
Francesco A BriddickAustraliaStephen Shaw NEW
Leon Y GillianSpainXuxue Feng PROPOSAL
Aika X SlusarskiIndiaElwin Sharvill QUALIFIED
Jennifer P MaletSpainAsiya Javayant PROPOSAL
Antonio P OldroydIndiaIoni Bowcher RENEWAL
Isabel R PerinAustraliaXuxue Feng UNQUALIFIED
Kaitlin J SlusarskiItalyIoni Bowcher UNQUALIFIED
Aruna D DoeArgentinaOnyama Limba PROPOSAL
Munro S BologniaRussiaXuxue Feng QUALIFIED
Julie D MacleadJapanBernardo Dominic PROPOSAL
Adams E AmigonGermanyXuxue Feng RENEWAL
Leja M TollnerArgentinaAmy Elsner NEGOTIATION
Nicolas A DarakjyCanadaIoni Bowcher QUALIFIED
Arvin P AlbaresArgentinaElwin Sharvill QUALIFIED
Leja J BriddickItalyElwin Sharvill NEGOTIATION
Adams C IturbideIndiaStephen Shaw QUALIFIED
Ricardo L StensethUnited KingdomAnna Fali QUALIFIED
Julie Q RulapaughJapanAmy Elsner UNQUALIFIED
Morrow X OldroydRussiaElwin Sharvill NEGOTIATION
Ricardo A AlbaresRussiaAnna Fali NEW
Misaki B SaylorsArgentinaStephen Shaw RENEWAL
James G FollerAustraliaBernardo Dominic NEW
Deepesh C GarufiArgentinaOnyama Limba QUALIFIED
Silvio L NickaItalyOnyama Limba RENEWAL
Frozen Columns
Name
Aika T Campain
Jennifer B Kusko
Greenwood S Figeroa
Kadeem O Bowley
Aruna H Malet
James V Flosi
Johnson W Doe
Tony B Doe
Morrow G Dilliard
Maria J Glick
Kadeem W Marrier
Leja I Bowley
Tony A Tollner
Alejandro X Malet
Stacey O Shinko
Jeanfrancois O Nicka
Leon Z Shinko
Maisha R Nestle
Jeanfrancois U Iturbide
Izzy D Shinko
Misaki V Waycott
Francesco P Ferencz
Faith Q Darakjy
Alejandro G Venere
Adams N Malet
Isabel R Ruta
Julie O Garufi
Kaitlin F Bowley
Kadeem M Albares
Munro V Kolmetz
Deepesh B Ferencz
Julie U Chui
Alejandro V Rulapaugh
Arvin R Waycott
Smith I Darakjy
Deepesh T Malet
Costa K Flosi
Kadeem R Saylors
Francesco J Poquette
Kadeem K Oldroyd
Ivar J Bolognia
Morrow X Albares
David Y Campain
Antonio L Albares
Julie P Stenseth
Izzy B Inouye
James N Bolognia
Isabel U Darakjy
Salvatore U Royster
Isabel B Wieser
IdCountryDate
1000Canada2025-04-07
1001Spain2025-04-21
1002Canada2025-04-30
1003Argentina2025-04-22
1004India2025-04-27
1005Brazil2025-04-09
1006Japan2025-04-18
1007Italy2025-04-22
1008India2025-04-22
1009India2025-04-12
1010Spain2025-04-14
1011Germany2025-04-03
1012Russia2025-04-28
1013Australia2025-04-24
1014France2025-04-29
1015Germany2025-04-05
1016Japan2025-04-14
1017Canada2025-04-14
1018Argentina2025-04-29
1019Spain2025-04-21
1020Australia2025-04-13
1021Canada2025-04-03
1022Spain2025-04-01
1023Spain2025-04-15
1024Australia2025-04-30
1025United Kingdom2025-04-23
1026France2025-04-05
1027Australia2025-04-06
1028Argentina2025-04-07
1029Canada2025-04-10
1030Brazil2025-04-20
1031Italy2025-04-12
1032Argentina2025-04-16
1033Argentina2025-04-10
1034United Kingdom2025-04-08
1035Argentina2025-04-21
1036Canada2025-04-15
1037India2025-04-15
1038United Kingdom2025-04-09
1039France2025-04-20
1040France2025-04-17
1041Spain2025-04-17
1042India2025-04-02
1043Spain2025-04-28
1044India2025-04-24
1045Italy2025-04-06
1046France2025-04-25
1047Canada2025-04-03
1048Brazil2025-04-17
1049Germany2025-04-14

On-Demand Data

NameIdCountryDate
Emily P Darakjy1000Germany2025-04-14
Clifford R Butt1001United Kingdom2025-04-13
Misaki K Perin1002Germany2025-04-26
Sinclair T Inouye1003India2025-04-13
Salvatore R Malet1004Germany2025-04-16
Alejandro A Vocelka1005Russia2025-04-09
Aruna P Tollner1006India2025-04-12
Cody V Amigon1007India2025-04-27
Ricardo P Caldarera1008Spain2025-04-12
Octavia N Albares1009Argentina2025-04-19
Kaitlin Z Slusarski1010Canada2025-04-08
Ashley M Oldroyd1011Australia2025-04-03
Julie L Campain1012Japan2025-04-26
Costa H Malet1013United Kingdom2025-04-26
Isabel N Waycott1014Canada2025-04-25
Izzy I Paprocki1015Japan2025-04-14
Cody R Nestle1016Spain2025-04-28
Mujtaba B Sergi1017Australia2025-04-22
Maria S Glick1018India2025-04-06
Aditya B Wieser1019Australia2025-04-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba U MaletRussiaElwin Sharvill PROPOSAL
Deepesh V GlickUnited KingdomElwin Sharvill RENEWAL
Aruna X MacleadBrazilXuxue Feng NEW
Alejandro G MaletSpainIvan Magalhaes NEW
Rodrigues T ShinkoItalyOnyama Limba RENEWAL
Johnson T GlickBrazilOnyama Limba UNQUALIFIED
Leja K MaletCanadaStephen Shaw NEGOTIATION
Morrow D VocelkaSpainIvan Magalhaes PROPOSAL
Aditya E RulapaughItalyBernardo Dominic NEGOTIATION
Mayumi Y WaycottUnited KingdomXuxue Feng NEGOTIATION
Ivar N BriddickAustraliaElwin Sharvill NEGOTIATION
Ivar D MacleadFranceIoni Bowcher RENEWAL
Ashley V VocelkaCanadaIvan Magalhaes QUALIFIED
Emily O IturbideSpainAnna Fali NEGOTIATION
Adams Y PerinFranceOnyama Limba UNQUALIFIED
Clifford U PerinItalyBernardo Dominic PROPOSAL
Julie Q ButtSpainAnna Fali RENEWAL
Darci H IturbideIndiaElwin Sharvill QUALIFIED
Isabel N StensethArgentinaXuxue Feng NEW
Darci S GarufiAustraliaAsiya Javayant PROPOSAL
Leja J PaprockiJapanElwin Sharvill RENEWAL
Misaki T PoquetteSpainBernardo Dominic NEGOTIATION
Jones D InouyeFranceAsiya Javayant NEGOTIATION
Claire A StensethArgentinaXuxue Feng QUALIFIED
Aika V SchemmerCanadaAsiya Javayant RENEWAL
Julie L OldroydFranceIoni Bowcher RENEWAL
Aruna Z PaprockiRussiaIvan Magalhaes PROPOSAL
Kaitlin B ShinkoUnited KingdomElwin Sharvill QUALIFIED
Smith C CaldareraCanadaAmy Elsner RENEWAL
Kadeem X SaylorsCanadaAnna Fali QUALIFIED
Johnson K MaletBrazilAmy Elsner NEGOTIATION
Murillo R AmigonJapanAmy Elsner QUALIFIED
Claire V BologniaFranceXuxue Feng UNQUALIFIED
Stacey K AlbaresCanadaIvan Magalhaes UNQUALIFIED
Sinclair F AlbaresAustraliaBernardo Dominic PROPOSAL
Alejandro R AmigonCanadaIoni Bowcher NEW
Jones N InouyeArgentinaAsiya Javayant UNQUALIFIED
Arvin C TollnerRussiaIoni Bowcher PROPOSAL
Isabel M WhobreySpainAsiya Javayant NEW
Maisha M WaycottSpainIoni Bowcher 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>