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
Munro D ChuiUnited KingdomIoni Bowcher RENEWAL
Greenwood M WhobreyUnited KingdomXuxue Feng NEW
Izzy H SergiAustraliaOnyama Limba NEGOTIATION
Maria Z WhobreySpainAsiya Javayant QUALIFIED
Sinclair R InouyeIndiaIoni Bowcher UNQUALIFIED
Jones K DoeAustraliaAnna Fali RENEWAL
Rodrigues P TollnerIndiaBernardo Dominic QUALIFIED
Arvin K TollnerGermanyOnyama Limba NEGOTIATION
Juan W ShinkoAustraliaStephen Shaw QUALIFIED
Mujtaba P OldroydJapanIvan Magalhaes NEGOTIATION
Arvin D MacleadItalyXuxue Feng RENEWAL
Wickens N ButtGermanyIoni Bowcher QUALIFIED
Kaitlin Y RutaAustraliaAnna Fali NEGOTIATION
Juan O AmigonCanadaAsiya Javayant PROPOSAL
Smith S DarakjyArgentinaStephen Shaw QUALIFIED
Kadeem D CaudyBrazilIoni Bowcher QUALIFIED
Tony U FlosiCanadaElwin Sharvill PROPOSAL
Sinclair G OldroydArgentinaBernardo Dominic NEW
Jones Y AlbaresArgentinaStephen Shaw UNQUALIFIED
Izzy I CaudyBrazilIoni Bowcher PROPOSAL
Francesco U StensethAustraliaXuxue Feng RENEWAL
Leja K GauchoSpainElwin Sharvill NEGOTIATION
Costa T IturbideCanadaAnna Fali QUALIFIED
Smith K MacleadAustraliaAsiya Javayant NEGOTIATION
Silvio K MarrierJapanElwin Sharvill RENEWAL
Chavez H RutaUnited KingdomBernardo Dominic RENEWAL
Leon N BologniaAustraliaElwin Sharvill PROPOSAL
Jefferson L VenereSpainIoni Bowcher NEW
David V RutaAustraliaBernardo Dominic PROPOSAL
Rodrigues U PaprockiFranceBernardo Dominic PROPOSAL
Jennifer B PoquetteSpainAmy Elsner PROPOSAL
Greenwood A CampainGermanyElwin Sharvill RENEWAL
Kaitlin Z GauchoAustraliaAnna Fali RENEWAL
Emily C GarufiJapanIoni Bowcher RENEWAL
Faith C FerenczRussiaStephen Shaw NEGOTIATION
Francesco N BowleySpainAnna Fali UNQUALIFIED
Cody X SchemmerBrazilIvan Magalhaes PROPOSAL
Julie R WaycottSpainXuxue Feng NEW
Nicolas P DilliardCanadaAnna Fali PROPOSAL
Johnson A KuskoBrazilIoni Bowcher NEW
Darci W RoysterItalyBernardo Dominic NEGOTIATION
Emily N MaletJapanElwin Sharvill NEGOTIATION
Morrow X RoysterAustraliaIvan Magalhaes QUALIFIED
Izzy C StensethGermanyAmy Elsner NEW
Jennifer J DarakjyBrazilElwin Sharvill NEW
Chavez N BologniaItalyOnyama Limba PROPOSAL
Aditya K AmigonIndiaAsiya Javayant QUALIFIED
Isabel T WhobreyUnited KingdomAmy Elsner NEGOTIATION
Ricardo D CampainArgentinaStephen Shaw PROPOSAL
Antonio B NickaIndiaXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Murillo G GlickGermanyIoni Bowcher NEW
Antonio K SchemmerSpainAmy Elsner RENEWAL
Antonio P FerenczJapanStephen Shaw PROPOSAL
Kaitlin M SergiUnited KingdomStephen Shaw NEGOTIATION
Tony T BriddickArgentinaAsiya Javayant NEW
Stacey L OldroydItalyElwin Sharvill QUALIFIED
Rodrigues Z ShinkoBrazilAsiya Javayant UNQUALIFIED
Maria S TollnerFranceAmy Elsner QUALIFIED
Ivar A FigeroaIndiaBernardo Dominic QUALIFIED
Izzy W FollerArgentinaAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley N MaletSpain2024-06-04Chemel, James L Cpa NEGOTIATION57Onyama Limba
1001Clifford V ShinkoAustralia2024-06-15Buckley Miller Wright QUALIFIED32Bernardo Dominic
1002Jefferson M KolmetzAustralia2024-05-26Commercial Press QUALIFIED90Ivan Magalhaes
1003Aika F RimGermany2024-05-30Truhlar And Truhlar Attys UNQUALIFIED28Elwin Sharvill
1004Emily N InouyeIndia2024-06-05Chemel, James L Cpa NEGOTIATION40Asiya Javayant
1005Julie U VenereFrance2024-06-13Feltz Printing Service QUALIFIED79Xuxue Feng
1006David Z FigeroaUnited Kingdom2024-06-06Commercial Press RENEWAL71Ioni Bowcher
1007Juan R VenereBrazil2024-06-11Dorl, James J Esq PROPOSAL50Asiya Javayant
1008Cody G PoquetteBrazil2024-06-10Chapman, Ross E Esq NEGOTIATION5Ivan Magalhaes
1009Stacey A DilliardBrazil2024-05-28Buckley Miller Wright RENEWAL49Xuxue Feng
1010Misaki U KuskoCanada2024-06-19Benton, John B Jr RENEWAL82Amy Elsner
1011Juan S NickaItaly2024-05-23Chemel, James L Cpa UNQUALIFIED50Asiya Javayant
1012Adams A WaycottArgentina2024-06-04Rousseaux, Michael Esq PROPOSAL85Elwin Sharvill
1013James P SaylorsCanada2024-06-06Dorl, James J Esq RENEWAL80Onyama Limba
1014Murillo D OstroskyItaly2024-06-01Chemel, James L Cpa NEW72Ioni Bowcher
1015Morrow B MarrierIndia2024-06-07King, Christopher A Esq UNQUALIFIED23Xuxue Feng
1016Mayumi G InouyeSpain2024-06-04Truhlar And Truhlar Attys NEGOTIATION67Ioni Bowcher
1017Antonio Z PaprockiItaly2024-05-31Feltz Printing Service NEW76Ioni Bowcher
1018Misaki L FigeroaJapan2024-05-26King, Christopher A Esq QUALIFIED52Bernardo Dominic
1019Ashley K WaycottAustralia2024-06-05Dorl, James J Esq PROPOSAL63Bernardo Dominic
1020Maisha G TollnerUnited Kingdom2024-06-15Feiner Bros UNQUALIFIED4Asiya Javayant
1021Faith D WieserAustralia2024-05-26Feiner Bros NEW66Stephen Shaw
1022Leja N FigeroaRussia2024-06-21Morlong Associates UNQUALIFIED66Bernardo Dominic
1023Faith E SergiIndia2024-06-03Commercial Press NEW28Bernardo Dominic
1024Nicolas N GarufiFrance2024-05-23Printing Dimensions QUALIFIED18Asiya Javayant
1025Greenwood V FollerAustralia2024-06-18Benton, John B Jr NEGOTIATION84Ivan Magalhaes
1026Jennifer Q TollnerArgentina2024-06-01Buckley Miller Wright NEW47Amy Elsner
1027Aruna L FigeroaIndia2024-06-21Commercial Press NEW21Ioni Bowcher
1028James N GarufiBrazil2024-05-28Dorl, James J Esq NEGOTIATION8Onyama Limba
1029Maisha I GauchoArgentina2024-05-28Truhlar And Truhlar Attys QUALIFIED99Onyama Limba
1030Faith C ChuiFrance2024-06-16Chapman, Ross E Esq UNQUALIFIED43Ivan Magalhaes
1031Salvatore B VenereArgentina2024-05-28Chemel, James L Cpa QUALIFIED49Bernardo Dominic
1032Isabel R ButtBrazil2024-06-10Buckley Miller Wright RENEWAL35Asiya Javayant
1033Adams X CaldareraSpain2024-06-01Chanay, Jeffrey A Esq NEW91Asiya Javayant
1034Greenwood Z SaylorsArgentina2024-05-29Benton, John B Jr NEW47Ivan Magalhaes
1035Smith O KuskoUnited Kingdom2024-06-11Dorl, James J Esq QUALIFIED64Ivan Magalhaes
1036Stacey W ChuiAustralia2024-06-03Commercial Press NEW40Xuxue Feng
1037Tony H AmigonItaly2024-06-19Commercial Press NEW74Onyama Limba
1038Antonio J FigeroaSpain2024-06-04Chanay, Jeffrey A Esq NEGOTIATION34Bernardo Dominic
1039Mujtaba R MaletSpain2024-05-30Chemel, James L Cpa UNQUALIFIED90Ioni Bowcher
1040Tony L GlickUnited Kingdom2024-05-24Chemel, James L Cpa NEGOTIATION11Amy Elsner
1041Cody P GlickGermany2024-06-11Rousseaux, Michael Esq PROPOSAL14Onyama Limba
1042Isabel H MarrierRussia2024-06-06Dorl, James J Esq PROPOSAL35Elwin Sharvill
1043Claire R KuskoItaly2024-06-10Printing Dimensions NEGOTIATION74Ivan Magalhaes
1044Greenwood A DarakjyAustralia2024-05-29Printing Dimensions RENEWAL19Bernardo Dominic
1045Faith K GarufiSpain2024-06-14Buckley Miller Wright NEW2Anna Fali
1046Deepesh K SlusarskiUnited Kingdom2024-06-01Buckley Miller Wright NEW88Anna Fali
1047Costa S IturbideCanada2024-06-15Truhlar And Truhlar Attys QUALIFIED69Stephen Shaw
1048Juan W VenereUnited Kingdom2024-05-28Commercial Press NEGOTIATION58Xuxue Feng
1049Adams R NickaFrance2024-06-01Truhlar And Truhlar Attys UNQUALIFIED74Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Greenwood A PaprockiRussiaElwin Sharvill RENEWAL
Emily C MarrierUnited KingdomAnna Fali RENEWAL
James A FlosiIndiaAnna Fali UNQUALIFIED
Ricardo A MaletRussiaAmy Elsner NEW
Julie H BriddickGermanyAnna Fali PROPOSAL
Kadeem Q FerenczCanadaStephen Shaw UNQUALIFIED
James J KolmetzCanadaXuxue Feng NEW
Nicolas B FigeroaIndiaAnna Fali PROPOSAL
Faith I VenereCanadaAsiya Javayant NEW
Francesco J GarufiRussiaAmy Elsner PROPOSAL
Maisha D AmigonIndiaStephen Shaw QUALIFIED
Murillo O KolmetzAustraliaIvan Magalhaes QUALIFIED
Jones M WaycottFranceOnyama Limba QUALIFIED
Deepesh D DilliardItalyAmy Elsner RENEWAL
Munro O GauchoBrazilIvan Magalhaes UNQUALIFIED
Aruna H AlbaresRussiaElwin Sharvill RENEWAL
Salvatore S MaletSpainAsiya Javayant UNQUALIFIED
Sinclair H DarakjyIndiaBernardo Dominic UNQUALIFIED
Julie M TollnerAustraliaOnyama Limba UNQUALIFIED
Jones A BriddickGermanyIvan Magalhaes RENEWAL
Mujtaba I BowleyAustraliaBernardo Dominic PROPOSAL
Jefferson P MacleadBrazilAsiya Javayant QUALIFIED
Faith D WieserIndiaAnna Fali RENEWAL
Sinclair A IturbideBrazilXuxue Feng QUALIFIED
Ivar H BriddickSpainIvan Magalhaes NEW
Mujtaba Q RimRussiaXuxue Feng PROPOSAL
Kaitlin B AlbaresUnited KingdomAmy Elsner QUALIFIED
Sinclair D AlbaresSpainAnna Fali NEW
Jeanfrancois S AmigonCanadaBernardo Dominic RENEWAL
Ivar V AlbaresRussiaXuxue Feng QUALIFIED
Aruna G KolmetzGermanyIvan Magalhaes UNQUALIFIED
Faith N DoeItalyAmy Elsner UNQUALIFIED
Jefferson T RutaBrazilAsiya Javayant NEW
Mayumi S VenereCanadaOnyama Limba NEW
Sinclair Z BriddickFranceElwin Sharvill UNQUALIFIED
Kaitlin Y AlbaresJapanAsiya Javayant UNQUALIFIED
Juan W FerenczBrazilAsiya Javayant UNQUALIFIED
Maisha D CaldareraAustraliaStephen Shaw NEGOTIATION
Claire Y CampainCanadaAsiya Javayant NEGOTIATION
Stacey P MaletItalyBernardo Dominic NEGOTIATION
Francesco T MarrierAustraliaOnyama Limba RENEWAL
Aruna W WaycottBrazilXuxue Feng UNQUALIFIED
Chavez H WaycottGermanyOnyama Limba UNQUALIFIED
Ricardo L WieserArgentinaIvan Magalhaes UNQUALIFIED
Wickens S PoquetteUnited KingdomAsiya Javayant NEW
Arvin D StockhamCanadaOnyama Limba RENEWAL
Murillo H CampainIndiaAmy Elsner NEGOTIATION
Antonio T InouyeCanadaXuxue Feng NEGOTIATION
Smith J StensethFranceOnyama Limba RENEWAL
Misaki L MorascaFranceOnyama Limba PROPOSAL
Frozen Columns
Name
Octavia L Gaucho
Octavia M Whobrey
James Q Bowley
Francesco T Malet
Antonio P Stenseth
Octavia T Iturbide
Kaitlin N Tollner
Smith J Figeroa
Maria D Bowley
Claire A Wieser
Aditya Q Sergi
Antonio N Ruta
Leon F Perin
Darci O Tollner
Alejandro B Kolmetz
Nicolas E Glick
Tony N Shinko
Francesco K Venere
Sinclair G Wieser
Kaitlin G Bowley
Salvatore D Schemmer
Francesco Q Inouye
Aika E Stockham
Stacey X Foller
Sinclair B Slusarski
Cody P Gillian
Ivar J Malet
Mayumi D Marrier
Julie B Malet
Julie N Poquette
James R Shinko
Darci K Nestle
Emily K Wieser
Deepesh T Schemmer
Rodrigues S Amigon
Jeanfrancois D Iturbide
Octavia P Nicka
Juan Y Nicka
Jeanfrancois I Maclead
Arvin O Malet
Adams J Foller
Chavez F Briddick
Isabel Y Slusarski
Izzy J Bolognia
Adams H Foller
Kaitlin V Ruta
Antonio D Foller
Cody L Ferencz
Costa G Dilliard
Silvio M Garufi
IdCountryDate
1000Australia2024-06-04
1001India2024-05-26
1002Russia2024-05-27
1003Canada2024-05-27
1004Japan2024-05-26
1005Japan2024-06-20
1006United Kingdom2024-06-19
1007Argentina2024-06-15
1008Argentina2024-06-20
1009Japan2024-05-28
1010Spain2024-06-10
1011Japan2024-06-20
1012Canada2024-05-29
1013Brazil2024-06-01
1014Canada2024-06-14
1015India2024-06-03
1016India2024-05-27
1017Argentina2024-05-25
1018United Kingdom2024-06-06
1019India2024-06-18
1020Germany2024-05-27
1021Canada2024-05-23
1022Russia2024-06-03
1023Canada2024-06-15
1024Australia2024-06-13
1025Russia2024-06-13
1026United Kingdom2024-05-31
1027Canada2024-06-05
1028Spain2024-06-17
1029Spain2024-06-09
1030Italy2024-06-09
1031Japan2024-05-26
1032France2024-06-04
1033Australia2024-06-13
1034Germany2024-06-02
1035Brazil2024-06-17
1036Australia2024-06-01
1037Australia2024-06-20
1038India2024-06-13
1039Germany2024-05-25
1040Canada2024-06-14
1041Germany2024-06-08
1042Italy2024-05-27
1043India2024-06-21
1044United Kingdom2024-05-25
1045France2024-06-18
1046India2024-06-12
1047Spain2024-06-05
1048Russia2024-06-12
1049Canada2024-05-25

On-Demand Data

NameIdCountryDate
Antonio U Schemmer1000Brazil2024-05-31
Misaki O Amigon1001France2024-06-11
Chavez W Figeroa1002United Kingdom2024-05-27
Deepesh L Glick1003Italy2024-06-21
Leja L Kusko1004Spain2024-06-19
Jefferson B Figeroa1005Spain2024-06-13
Alejandro S Glick1006Brazil2024-06-09
Ricardo B Schemmer1007India2024-06-05
James O Rulapaugh1008Japan2024-06-10
Stacey M Poquette1009France2024-06-05
Aditya N Nestle1010Australia2024-06-18
Darci W Flosi1011Spain2024-06-02
Greenwood Y Kolmetz1012Germany2024-05-26
Costa D Stockham1013India2024-05-28
Kaitlin Y Caldarera1014Canada2024-05-24
Ricardo P Amigon1015Canada2024-06-18
Kaitlin F Saylors1016Brazil2024-05-31
Silvio M Slusarski1017Italy2024-06-04
Tony O Doe1018Canada2024-06-17
James U Stenseth1019Spain2024-06-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David J NestleGermanyIoni Bowcher PROPOSAL
Juan S PaprockiItalyBernardo Dominic NEGOTIATION
Faith B CaldareraIndiaAsiya Javayant NEW
Antonio Y ChuiAustraliaStephen Shaw RENEWAL
Smith F PerinItalyOnyama Limba UNQUALIFIED
Clifford F PaprockiCanadaOnyama Limba UNQUALIFIED
Nicolas H DarakjyFranceAmy Elsner PROPOSAL
Arvin T ChuiFranceIvan Magalhaes PROPOSAL
Maisha I SchemmerSpainOnyama Limba UNQUALIFIED
Kaitlin W MaletCanadaAnna Fali RENEWAL
Mayumi G StockhamUnited KingdomElwin Sharvill NEGOTIATION
Jeanfrancois M DarakjyGermanyOnyama Limba PROPOSAL
Adams X KolmetzGermanyBernardo Dominic RENEWAL
Sinclair X FerenczSpainElwin Sharvill QUALIFIED
Nicolas M BriddickJapanIoni Bowcher RENEWAL
Claire M MacleadFranceIvan Magalhaes NEGOTIATION
Greenwood I SchemmerBrazilAmy Elsner QUALIFIED
Ricardo O PoquetteIndiaAsiya Javayant UNQUALIFIED
Antonio N MorascaIndiaElwin Sharvill UNQUALIFIED
Johnson M AlbaresSpainAsiya Javayant NEGOTIATION
Mujtaba C GlickIndiaStephen Shaw NEW
Kadeem X AmigonAustraliaIoni Bowcher PROPOSAL
Ricardo Y InouyeSpainXuxue Feng PROPOSAL
Kadeem F ShinkoArgentinaOnyama Limba UNQUALIFIED
Murillo J DoeBrazilElwin Sharvill UNQUALIFIED
Kadeem M VocelkaUnited KingdomAmy Elsner NEW
Clifford O KuskoGermanyBernardo Dominic PROPOSAL
Kadeem R BriddickIndiaAnna Fali NEW
Kadeem H VocelkaJapanAmy Elsner UNQUALIFIED
Sinclair V NestleItalyIvan Magalhaes NEW
Salvatore Y BriddickRussiaElwin Sharvill QUALIFIED
Jeanfrancois K SergiJapanElwin Sharvill NEGOTIATION
Greenwood M StockhamJapanOnyama Limba UNQUALIFIED
James P StensethBrazilAnna Fali RENEWAL
Wickens R InouyeJapanStephen Shaw PROPOSAL
Francesco P FigeroaAustraliaOnyama Limba NEGOTIATION
Mujtaba Y MacleadJapanElwin Sharvill UNQUALIFIED
Johnson Q MorascaFranceStephen Shaw UNQUALIFIED
Emily F GillianRussiaAnna Fali PROPOSAL
Smith M SlusarskiGermanyBernardo Dominic PROPOSAL

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