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
Claire J FlosiFranceStephen Shaw NEW
Francesco I PaprockiItalyOnyama Limba NEGOTIATION
Ricardo U FollerGermanyElwin Sharvill RENEWAL
Arvin O MorascaArgentinaAsiya Javayant UNQUALIFIED
Jennifer M RimRussiaElwin Sharvill RENEWAL
Jennifer Q BowleyRussiaXuxue Feng UNQUALIFIED
Clifford S VenereCanadaOnyama Limba RENEWAL
Adams T WaycottGermanyIoni Bowcher QUALIFIED
Leja B KuskoArgentinaIvan Magalhaes NEGOTIATION
Deepesh S InouyeCanadaStephen Shaw QUALIFIED
Sinclair G MacleadItalyIvan Magalhaes RENEWAL
Wickens B MaletBrazilAnna Fali QUALIFIED
Francesco C DilliardRussiaOnyama Limba NEW
Izzy O ShinkoSpainStephen Shaw QUALIFIED
Deepesh F CaldareraSpainBernardo Dominic RENEWAL
Morrow O CampainArgentinaIvan Magalhaes PROPOSAL
Faith V BologniaSpainAsiya Javayant NEW
Munro T FollerUnited KingdomIvan Magalhaes NEW
Antonio G SlusarskiAustraliaXuxue Feng NEW
Octavia J IturbideBrazilElwin Sharvill QUALIFIED
Darci D InouyeFranceElwin Sharvill UNQUALIFIED
Arvin Y RoysterUnited KingdomElwin Sharvill NEW
Wickens S MaletUnited KingdomStephen Shaw PROPOSAL
Ricardo E GauchoUnited KingdomAmy Elsner NEW
Silvio P NestleArgentinaXuxue Feng UNQUALIFIED
David X GauchoArgentinaAnna Fali NEGOTIATION
Misaki V FerenczAustraliaOnyama Limba PROPOSAL
Stacey N VenereArgentinaOnyama Limba UNQUALIFIED
Johnson X DilliardArgentinaOnyama Limba UNQUALIFIED
Octavia E VocelkaRussiaAnna Fali QUALIFIED
Ricardo X TollnerJapanBernardo Dominic NEGOTIATION
Antonio R IturbideGermanyBernardo Dominic UNQUALIFIED
Kadeem Y CampainBrazilAsiya Javayant PROPOSAL
Rodrigues D AmigonGermanyOnyama Limba PROPOSAL
Alejandro R OstroskyIndiaAsiya Javayant PROPOSAL
Misaki P OstroskyAustraliaIoni Bowcher RENEWAL
Mujtaba C StockhamArgentinaOnyama Limba UNQUALIFIED
Rodrigues B SaylorsUnited KingdomIoni Bowcher QUALIFIED
James L VocelkaArgentinaStephen Shaw PROPOSAL
Ricardo J CaldareraIndiaStephen Shaw RENEWAL
Emily W KuskoGermanyBernardo Dominic NEW
Francesco X IturbideSpainIvan Magalhaes RENEWAL
Murillo W StensethRussiaElwin Sharvill NEW
Wickens R SergiArgentinaIvan Magalhaes NEW
Smith M ShinkoArgentinaOnyama Limba NEW
Adams S TollnerGermanyAsiya Javayant QUALIFIED
Arvin J WieserGermanyIoni Bowcher PROPOSAL
Emily K GlickIndiaStephen Shaw UNQUALIFIED
Izzy V GlickSpainAnna Fali NEW
Darci Q OldroydBrazilBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Francesco Y SchemmerIndiaOnyama Limba UNQUALIFIED
Claire T IturbideRussiaAnna Fali QUALIFIED
Sinclair Y KuskoSpainBernardo Dominic PROPOSAL
Smith V VenereItalyStephen Shaw UNQUALIFIED
Julie V ShinkoSpainOnyama Limba UNQUALIFIED
Aditya O OldroydItalyXuxue Feng QUALIFIED
Jones Z RulapaughAustraliaOnyama Limba RENEWAL
Ricardo P FerenczArgentinaAsiya Javayant PROPOSAL
Aika P ShinkoJapanOnyama Limba NEGOTIATION
Greenwood O SaylorsFranceXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams P VenereJapan2024-06-06King, Christopher A Esq NEW28Xuxue Feng
1001Jones S SaylorsSpain2024-05-29Commercial Press RENEWAL30Xuxue Feng
1002Jones I RimJapan2024-06-17Chanay, Jeffrey A Esq PROPOSAL70Amy Elsner
1003Maisha A GauchoSpain2024-05-29King, Christopher A Esq UNQUALIFIED26Ivan Magalhaes
1004Stacey B InouyeAustralia2024-05-29Benton, John B Jr QUALIFIED12Xuxue Feng
1005Clifford Z WieserJapan2024-06-21Chanay, Jeffrey A Esq NEW96Stephen Shaw
1006Antonio E CaudyRussia2024-06-05King, Christopher A Esq RENEWAL47Stephen Shaw
1007Tony C CaudySpain2024-06-02Printing Dimensions NEGOTIATION57Elwin Sharvill
1008Chavez T NickaAustralia2024-06-07Dorl, James J Esq NEGOTIATION34Elwin Sharvill
1009Adams P OldroydFrance2024-06-15Dorl, James J Esq NEGOTIATION84Amy Elsner
1010Wickens J WhobreyBrazil2024-05-29Commercial Press NEW42Onyama Limba
1011Tony F RutaSpain2024-06-05Rousseaux, Michael Esq PROPOSAL57Stephen Shaw
1012Maisha T BriddickRussia2024-06-11Buckley Miller Wright NEGOTIATION40Ivan Magalhaes
1013Leon Z PoquetteArgentina2024-06-21Morlong Associates RENEWAL98Asiya Javayant
1014Alejandro F OldroydItaly2024-05-29Rangoni Of Florence UNQUALIFIED51Ioni Bowcher
1015Johnson J FlosiArgentina2024-06-04Commercial Press RENEWAL57Onyama Limba
1016Deepesh I SaylorsRussia2024-06-03Commercial Press RENEWAL3Elwin Sharvill
1017Costa P GillianAustralia2024-05-25Buckley Miller Wright PROPOSAL61Xuxue Feng
1018Greenwood B IturbideFrance2024-06-11Benton, John B Jr NEGOTIATION30Ivan Magalhaes
1019Leja F MarrierJapan2024-06-02Feltz Printing Service UNQUALIFIED94Stephen Shaw
1020Ashley J ChuiRussia2024-06-11Dorl, James J Esq PROPOSAL38Xuxue Feng
1021Silvio L NestleRussia2024-05-31Chanay, Jeffrey A Esq NEW46Amy Elsner
1022Francesco R PaprockiBrazil2024-06-20Chemel, James L Cpa RENEWAL53Stephen Shaw
1023Leja Y SlusarskiUnited Kingdom2024-05-31Buckley Miller Wright NEGOTIATION52Elwin Sharvill
1024James R ShinkoCanada2024-06-03Commercial Press UNQUALIFIED93Bernardo Dominic
1025Julie V GauchoUnited Kingdom2024-06-18Benton, John B Jr NEGOTIATION24Onyama Limba
1026Emily I OstroskyJapan2024-06-10Dorl, James J Esq NEGOTIATION97Elwin Sharvill
1027Stacey V FigeroaRussia2024-06-18Feltz Printing Service PROPOSAL43Anna Fali
1028Ivar C RoysterSpain2024-05-24Rousseaux, Michael Esq PROPOSAL33Amy Elsner
1029Tony R VenereFrance2024-06-02Morlong Associates NEW52Xuxue Feng
1030Stacey I PerinCanada2024-05-30Truhlar And Truhlar Attys NEW50Onyama Limba
1031Emily H BriddickSpain2024-06-17Chanay, Jeffrey A Esq UNQUALIFIED76Asiya Javayant
1032Misaki D BowleyIndia2024-06-16Chemel, James L Cpa QUALIFIED25Onyama Limba
1033Morrow D SlusarskiArgentina2024-06-07Chanay, Jeffrey A Esq RENEWAL46Bernardo Dominic
1034Maria W BriddickItaly2024-06-10Benton, John B Jr QUALIFIED94Xuxue Feng
1035Leja P GarufiAustralia2024-06-11Chanay, Jeffrey A Esq PROPOSAL61Stephen Shaw
1036Munro R StockhamGermany2024-06-19Morlong Associates UNQUALIFIED12Onyama Limba
1037Leon P MorascaGermany2024-06-09Dorl, James J Esq RENEWAL25Ioni Bowcher
1038Antonio T FigeroaCanada2024-06-08Chemel, James L Cpa QUALIFIED3Anna Fali
1039Stacey U MarrierJapan2024-05-24Chanay, Jeffrey A Esq RENEWAL63Elwin Sharvill
1040Aruna A SergiJapan2024-06-13Chapman, Ross E Esq NEGOTIATION17Onyama Limba
1041Stacey T VocelkaRussia2024-05-29Rousseaux, Michael Esq QUALIFIED8Stephen Shaw
1042Izzy F VocelkaArgentina2024-06-12Chanay, Jeffrey A Esq NEGOTIATION36Ioni Bowcher
1043Francesco X GauchoFrance2024-06-08Commercial Press PROPOSAL17Onyama Limba
1044Alejandro D InouyeGermany2024-05-25Chapman, Ross E Esq PROPOSAL21Ioni Bowcher
1045Maisha M PerinUnited Kingdom2024-06-04Chanay, Jeffrey A Esq UNQUALIFIED61Amy Elsner
1046Rodrigues X FlosiIndia2024-05-28Truhlar And Truhlar Attys PROPOSAL97Bernardo Dominic
1047Rodrigues S FigeroaGermany2024-06-06Buckley Miller Wright UNQUALIFIED9Ioni Bowcher
1048Maisha O CampainSpain2024-05-28Buckley Miller Wright RENEWAL78Bernardo Dominic
1049Isabel L MorascaBrazil2024-06-13Feltz Printing Service QUALIFIED54Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Smith L NickaIndiaIoni Bowcher QUALIFIED
Maria K RulapaughFranceAsiya Javayant PROPOSAL
Juan K DilliardJapanOnyama Limba RENEWAL
Faith L CaudyCanadaAnna Fali UNQUALIFIED
Maria A ButtSpainStephen Shaw NEGOTIATION
Kadeem G OldroydRussiaXuxue Feng PROPOSAL
Izzy Z BowleyBrazilElwin Sharvill UNQUALIFIED
Aruna C VocelkaCanadaBernardo Dominic UNQUALIFIED
Emily J MaletUnited KingdomIoni Bowcher PROPOSAL
Aika M DilliardRussiaAsiya Javayant UNQUALIFIED
Tony A RutaFranceIvan Magalhaes UNQUALIFIED
Maria F NickaCanadaIvan Magalhaes QUALIFIED
Maisha G FigeroaJapanStephen Shaw NEW
Tony B PoquetteIndiaOnyama Limba UNQUALIFIED
Maria V SlusarskiSpainElwin Sharvill NEGOTIATION
Rodrigues R FollerBrazilStephen Shaw NEGOTIATION
Kaitlin L DarakjyFranceBernardo Dominic UNQUALIFIED
Murillo E WieserFranceElwin Sharvill UNQUALIFIED
Leon J GillianUnited KingdomAsiya Javayant NEGOTIATION
James L GarufiArgentinaAnna Fali PROPOSAL
Antonio H InouyeFranceElwin Sharvill PROPOSAL
Rodrigues B DarakjySpainBernardo Dominic NEW
Salvatore D CaldareraCanadaBernardo Dominic QUALIFIED
Antonio P CaldareraFranceAsiya Javayant PROPOSAL
Maisha C IturbideAustraliaAnna Fali NEW
Kadeem J CaldareraJapanAmy Elsner UNQUALIFIED
Leja H OldroydBrazilIoni Bowcher RENEWAL
Johnson H RoysterUnited KingdomAnna Fali NEW
Stacey A MacleadItalyAnna Fali QUALIFIED
Francesco C KolmetzGermanyBernardo Dominic QUALIFIED
Antonio J MaletAustraliaAmy Elsner NEW
Juan J RimFranceBernardo Dominic PROPOSAL
Jeanfrancois M OldroydBrazilAnna Fali UNQUALIFIED
Maria E ButtItalyIvan Magalhaes QUALIFIED
Ricardo M WaycottFranceAmy Elsner QUALIFIED
Claire M MaletUnited KingdomAsiya Javayant RENEWAL
Costa E DarakjyAustraliaOnyama Limba PROPOSAL
Adams L WaycottAustraliaAsiya Javayant UNQUALIFIED
Antonio N IturbideArgentinaAnna Fali NEGOTIATION
Julie A CaudyItalyStephen Shaw RENEWAL
Ashley R GarufiRussiaAnna Fali RENEWAL
Juan U SchemmerAustraliaAsiya Javayant UNQUALIFIED
Maria V DarakjySpainIoni Bowcher NEW
Mujtaba K BriddickAustraliaAsiya Javayant QUALIFIED
Darci C DilliardBrazilIoni Bowcher PROPOSAL
Adams B ShinkoRussiaAnna Fali NEW
David Z AmigonSpainXuxue Feng RENEWAL
Ashley U MarrierIndiaStephen Shaw NEGOTIATION
Aika K ChuiArgentinaElwin Sharvill RENEWAL
Clifford Q PerinCanadaAmy Elsner NEW
Frozen Columns
Name
Costa E Whobrey
Izzy H Kolmetz
Morrow N Morasca
Ashley Y Albares
Kaitlin X Whobrey
Ricardo P Bolognia
Silvio T Oldroyd
Sinclair N Morasca
Adams Q Stockham
Darci Q Albares
Jennifer G Marrier
Alejandro U Rim
James H Figeroa
David X Amigon
Izzy W Rim
Julie B Rim
Mujtaba W Foller
Sinclair E Amigon
Jennifer L Nestle
Salvatore M Albares
Mujtaba E Sergi
Adams E Kolmetz
Jefferson R Garufi
Aika K Saylors
Misaki M Venere
Francesco X Darakjy
Munro G Flosi
Ivar F Iturbide
Rodrigues L Stenseth
Clifford L Sergi
Nicolas Z Kolmetz
Aditya C Oldroyd
Ivar B Tollner
Mayumi R Marrier
Jennifer I Slusarski
Leja M Garufi
Jennifer U Stenseth
Juan U Albares
Izzy H Rulapaugh
Mayumi N Kusko
Izzy Q Slusarski
Maria A Flosi
Ricardo Y Caldarera
Munro E Schemmer
Leja B Malet
Octavia K Bolognia
Clifford C Foller
Octavia Y Slusarski
Jennifer U Maclead
Silvio N Foller
IdCountryDate
1000Italy2024-06-09
1001Australia2024-06-18
1002Argentina2024-06-21
1003Japan2024-05-30
1004Canada2024-06-03
1005Italy2024-06-06
1006Japan2024-05-29
1007Canada2024-06-21
1008United Kingdom2024-06-06
1009Argentina2024-06-13
1010United Kingdom2024-05-31
1011Brazil2024-06-17
1012Canada2024-05-27
1013India2024-06-03
1014Australia2024-06-19
1015Canada2024-06-19
1016Canada2024-06-06
1017Germany2024-05-31
1018Italy2024-06-15
1019Australia2024-06-07
1020Spain2024-05-29
1021United Kingdom2024-05-24
1022Japan2024-06-03
1023Argentina2024-06-13
1024Germany2024-06-02
1025Canada2024-06-11
1026Spain2024-05-27
1027Italy2024-06-19
1028Italy2024-06-01
1029Japan2024-06-05
1030India2024-05-24
1031India2024-06-14
1032Italy2024-06-17
1033Italy2024-06-18
1034Spain2024-05-31
1035Japan2024-05-29
1036India2024-05-29
1037Italy2024-05-29
1038United Kingdom2024-06-16
1039Argentina2024-06-05
1040Argentina2024-05-24
1041Germany2024-05-27
1042Canada2024-06-12
1043Japan2024-05-26
1044Spain2024-05-30
1045Germany2024-06-08
1046Italy2024-06-18
1047France2024-06-12
1048United Kingdom2024-05-25
1049Argentina2024-06-15

On-Demand Data

NameIdCountryDate
Juan R Sergi1000United Kingdom2024-05-27
Deepesh Y Malet1001Canada2024-06-07
Cody V Ferencz1002United Kingdom2024-06-15
Kaitlin N Iturbide1003Japan2024-06-19
David D Ruta1004Canada2024-06-16
Jennifer V Malet1005India2024-06-20
Alejandro M Iturbide1006Argentina2024-05-25
Misaki E Ruta1007Canada2024-06-15
Murillo S Perin1008Germany2024-06-13
Maria G Slusarski1009Italy2024-06-09
Costa Z Maclead1010United Kingdom2024-06-08
Morrow X Stenseth1011India2024-06-17
Antonio B Chui1012France2024-05-27
Izzy Y Oldroyd1013United Kingdom2024-06-20
Chavez O Sergi1014France2024-05-24
Ricardo P Vocelka1015United Kingdom2024-05-25
Izzy B Venere1016Argentina2024-06-14
Aditya I Darakjy1017Australia2024-06-07
Juan U Darakjy1018Japan2024-06-19
Mujtaba Q Perin1019Russia2024-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio S SaylorsAustraliaXuxue Feng NEGOTIATION
Octavia T IturbideIndiaOnyama Limba RENEWAL
Morrow W AlbaresFranceXuxue Feng UNQUALIFIED
Cody I BowleyIndiaXuxue Feng QUALIFIED
Maria B MacleadRussiaStephen Shaw UNQUALIFIED
Stacey N FlosiCanadaIvan Magalhaes RENEWAL
Chavez N FigeroaIndiaAmy Elsner QUALIFIED
James U ButtCanadaAnna Fali PROPOSAL
Antonio I BowleyBrazilOnyama Limba PROPOSAL
Tony K DoeFranceStephen Shaw NEW
Kadeem S StockhamFranceAsiya Javayant RENEWAL
Maria Q OldroydGermanyAmy Elsner QUALIFIED
Morrow E CampainJapanBernardo Dominic QUALIFIED
Clifford V DoeItalyBernardo Dominic QUALIFIED
Adams L RoysterFranceXuxue Feng NEW
Sinclair M SergiBrazilAmy Elsner NEW
Darci G SchemmerSpainOnyama Limba PROPOSAL
Deepesh B OldroydBrazilOnyama Limba NEW
Smith Y CaldareraBrazilBernardo Dominic NEGOTIATION
Adams U SergiSpainElwin Sharvill RENEWAL
Jeanfrancois P CampainUnited KingdomXuxue Feng NEGOTIATION
Sinclair M MacleadRussiaOnyama Limba NEGOTIATION
Morrow X PoquetteUnited KingdomBernardo Dominic QUALIFIED
Arvin I WhobreySpainAmy Elsner UNQUALIFIED
Julie V RimCanadaBernardo Dominic NEGOTIATION
Morrow R PoquetteJapanIvan Magalhaes PROPOSAL
Salvatore Z MarrierIndiaIvan Magalhaes RENEWAL
Julie I AmigonJapanAsiya Javayant NEGOTIATION
Francesco Y NickaItalyIoni Bowcher RENEWAL
James Y WieserItalyAmy Elsner QUALIFIED
Maria B RimCanadaAnna Fali PROPOSAL
Salvatore I SaylorsItalyIvan Magalhaes QUALIFIED
Deepesh U IturbideItalyBernardo Dominic NEW
Leon M CampainBrazilOnyama Limba NEGOTIATION
Francesco A AmigonArgentinaAnna Fali PROPOSAL
Jeanfrancois X DilliardIndiaAnna Fali NEGOTIATION
Leja M PaprockiIndiaOnyama Limba QUALIFIED
Murillo U SlusarskiBrazilXuxue Feng UNQUALIFIED
Isabel U DoeBrazilAnna Fali PROPOSAL
Cody V MaletArgentinaElwin Sharvill 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>