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
Adams J PoquetteIndiaIoni Bowcher UNQUALIFIED
Silvio R MacleadItalyIoni Bowcher UNQUALIFIED
Maria W OstroskyFranceAsiya Javayant UNQUALIFIED
Faith P IturbideIndiaIvan Magalhaes NEGOTIATION
Antonio F ChuiArgentinaBernardo Dominic RENEWAL
Darci A AlbaresGermanyElwin Sharvill QUALIFIED
Jefferson V VenereSpainAnna Fali NEW
Munro N BologniaCanadaIoni Bowcher PROPOSAL
Juan Y DoeRussiaAsiya Javayant RENEWAL
Darci M FerenczFranceOnyama Limba QUALIFIED
Murillo J GillianArgentinaElwin Sharvill RENEWAL
Antonio E PerinItalyStephen Shaw PROPOSAL
Isabel G CampainSpainElwin Sharvill NEW
Johnson I SlusarskiFranceIoni Bowcher NEGOTIATION
Aruna T WieserFranceBernardo Dominic UNQUALIFIED
Izzy H StockhamIndiaAmy Elsner RENEWAL
Maria O RulapaughItalyIvan Magalhaes QUALIFIED
Chavez Y GauchoSpainAmy Elsner RENEWAL
Arvin C SchemmerBrazilXuxue Feng UNQUALIFIED
Johnson L OstroskySpainAnna Fali NEGOTIATION
Maisha Q StockhamRussiaXuxue Feng UNQUALIFIED
Izzy F AlbaresGermanyXuxue Feng PROPOSAL
Arvin U NickaArgentinaIoni Bowcher RENEWAL
Alejandro G StensethUnited KingdomAsiya Javayant NEGOTIATION
Julie J KolmetzFranceElwin Sharvill NEW
Greenwood E NickaGermanyXuxue Feng NEW
Aruna G DarakjyUnited KingdomAmy Elsner PROPOSAL
Jefferson Y SchemmerBrazilIoni Bowcher NEGOTIATION
Jeanfrancois P FollerRussiaAsiya Javayant PROPOSAL
Tony E NickaGermanyAnna Fali RENEWAL
Clifford T FigeroaGermanyAsiya Javayant NEW
Maisha O PerinAustraliaStephen Shaw NEW
Morrow Z AlbaresGermanyBernardo Dominic NEGOTIATION
Faith L MaletIndiaOnyama Limba NEW
Julie I SlusarskiAustraliaStephen Shaw UNQUALIFIED
Murillo Z MaletGermanyIvan Magalhaes PROPOSAL
Tony Q RoysterBrazilStephen Shaw RENEWAL
Ashley B RimItalyBernardo Dominic NEW
Morrow F RutaGermanyElwin Sharvill QUALIFIED
Salvatore V IturbideUnited KingdomAsiya Javayant QUALIFIED
Ricardo R DilliardSpainAsiya Javayant NEGOTIATION
Julie V PaprockiIndiaAsiya Javayant UNQUALIFIED
Silvio X FerenczJapanAmy Elsner NEGOTIATION
Mayumi H AmigonGermanyStephen Shaw NEGOTIATION
Aika K GauchoAustraliaIvan Magalhaes UNQUALIFIED
Kadeem A FlosiBrazilOnyama Limba PROPOSAL
Faith K WhobreyRussiaAnna Fali PROPOSAL
Maria Z DilliardFranceAnna Fali UNQUALIFIED
Deepesh J OstroskyJapanOnyama Limba UNQUALIFIED
David V MaletAustraliaAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
David U BriddickGermanyIvan Magalhaes UNQUALIFIED
Antonio B FigeroaAustraliaIvan Magalhaes QUALIFIED
Maria D RulapaughCanadaElwin Sharvill RENEWAL
Leon J MorascaItalyXuxue Feng QUALIFIED
Costa R DoeSpainOnyama Limba RENEWAL
Tony Z StensethRussiaAsiya Javayant NEW
Wickens L BriddickSpainBernardo Dominic RENEWAL
Francesco Q OldroydFranceAsiya Javayant RENEWAL
Emily M WaycottItalyAnna Fali NEW
Morrow N StockhamJapanAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro J SergiUnited Kingdom2024-06-18Chanay, Jeffrey A Esq PROPOSAL58Amy Elsner
1001Rodrigues Y RulapaughGermany2024-06-04King, Christopher A Esq RENEWAL9Ioni Bowcher
1002David N GlickBrazil2024-06-06Feltz Printing Service UNQUALIFIED58Onyama Limba
1003Nicolas T MaletBrazil2024-05-26Dorl, James J Esq QUALIFIED40Anna Fali
1004Chavez Q AmigonIndia2024-06-16Truhlar And Truhlar Attys NEGOTIATION82Amy Elsner
1005Leon F VocelkaRussia2024-06-20Feiner Bros RENEWAL3Xuxue Feng
1006Kadeem H CampainSpain2024-06-07Truhlar And Truhlar Attys UNQUALIFIED0Onyama Limba
1007Smith S RutaSpain2024-06-04Morlong Associates UNQUALIFIED19Ivan Magalhaes
1008Munro K PoquetteSpain2024-06-11Feltz Printing Service NEGOTIATION83Amy Elsner
1009Isabel Q KuskoGermany2024-06-11Morlong Associates NEW2Bernardo Dominic
1010Ricardo F PerinUnited Kingdom2024-05-25Truhlar And Truhlar Attys NEGOTIATION97Bernardo Dominic
1011Ashley R PoquetteJapan2024-05-26Commercial Press NEW28Stephen Shaw
1012Maria Y SchemmerCanada2024-06-11Commercial Press RENEWAL50Elwin Sharvill
1013Aditya A FerenczItaly2024-05-25Dorl, James J Esq NEW14Amy Elsner
1014Munro T GauchoArgentina2024-05-25Truhlar And Truhlar Attys PROPOSAL42Amy Elsner
1015Rodrigues D IturbideIndia2024-06-11Chapman, Ross E Esq RENEWAL35Asiya Javayant
1016Clifford X AmigonUnited Kingdom2024-05-31King, Christopher A Esq NEGOTIATION4Bernardo Dominic
1017Jefferson N FlosiBrazil2024-06-11Rangoni Of Florence QUALIFIED76Asiya Javayant
1018Murillo O MaletGermany2024-06-19Truhlar And Truhlar Attys UNQUALIFIED85Elwin Sharvill
1019Jefferson E PaprockiItaly2024-06-10Feiner Bros NEGOTIATION62Ivan Magalhaes
1020Emily Z PaprockiGermany2024-06-04Buckley Miller Wright UNQUALIFIED89Bernardo Dominic
1021Sinclair P WhobreyBrazil2024-06-17Feiner Bros PROPOSAL4Anna Fali
1022Mujtaba S GauchoGermany2024-06-17Rangoni Of Florence PROPOSAL78Anna Fali
1023Munro L BriddickSpain2024-06-21Dorl, James J Esq NEW97Amy Elsner
1024Munro K NickaUnited Kingdom2024-06-21Rousseaux, Michael Esq QUALIFIED95Ioni Bowcher
1025David H VocelkaCanada2024-05-29Chanay, Jeffrey A Esq RENEWAL70Stephen Shaw
1026Rodrigues G ShinkoArgentina2024-05-25Chanay, Jeffrey A Esq RENEWAL43Ioni Bowcher
1027Aruna M RulapaughJapan2024-06-03Buckley Miller Wright PROPOSAL60Amy Elsner
1028Isabel Z SergiItaly2024-05-28Feiner Bros RENEWAL57Asiya Javayant
1029Aruna H DoeUnited Kingdom2024-06-13Commercial Press UNQUALIFIED63Ioni Bowcher
1030Wickens K RulapaughSpain2024-06-02King, Christopher A Esq PROPOSAL50Asiya Javayant
1031Kadeem D CampainRussia2024-05-24Rousseaux, Michael Esq PROPOSAL74Stephen Shaw
1032James F PoquetteAustralia2024-05-24Benton, John B Jr NEGOTIATION94Stephen Shaw
1033Greenwood R OldroydFrance2024-05-30Morlong Associates NEW26Stephen Shaw
1034Claire L ButtJapan2024-06-17Benton, John B Jr NEGOTIATION50Amy Elsner
1035Johnson A SergiUnited Kingdom2024-06-03Truhlar And Truhlar Attys PROPOSAL69Ivan Magalhaes
1036James W MacleadIndia2024-05-27Chanay, Jeffrey A Esq NEGOTIATION25Onyama Limba
1037Ashley G ShinkoGermany2024-05-28Chanay, Jeffrey A Esq PROPOSAL84Ivan Magalhaes
1038Francesco L VocelkaUnited Kingdom2024-06-16Benton, John B Jr UNQUALIFIED65Xuxue Feng
1039Ashley K PaprockiArgentina2024-06-10Feiner Bros RENEWAL72Ivan Magalhaes
1040Izzy C OstroskyItaly2024-06-19Feltz Printing Service UNQUALIFIED34Onyama Limba
1041Darci X GarufiBrazil2024-05-27Printing Dimensions NEW26Elwin Sharvill
1042Jeanfrancois U KuskoItaly2024-05-29King, Christopher A Esq QUALIFIED29Xuxue Feng
1043Munro P MaletAustralia2024-06-12Truhlar And Truhlar Attys PROPOSAL88Stephen Shaw
1044Nicolas U OldroydGermany2024-06-06Commercial Press NEGOTIATION13Ivan Magalhaes
1045Munro S AlbaresBrazil2024-06-21Buckley Miller Wright PROPOSAL96Asiya Javayant
1046James W OldroydSpain2024-06-02King, Christopher A Esq RENEWAL24Stephen Shaw
1047Aditya B ChuiGermany2024-06-19Chanay, Jeffrey A Esq UNQUALIFIED83Onyama Limba
1048Emily H MaletAustralia2024-06-04Printing Dimensions NEW7Onyama Limba
1049James R BriddickGermany2024-06-01Chapman, Ross E Esq UNQUALIFIED25Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
David Q BologniaArgentinaXuxue Feng RENEWAL
Alejandro B ChuiJapanAmy Elsner QUALIFIED
Aruna P CaudyFranceStephen Shaw QUALIFIED
Ivar G RoysterRussiaIvan Magalhaes UNQUALIFIED
Costa Z FollerArgentinaIoni Bowcher RENEWAL
Morrow K OstroskyCanadaAmy Elsner UNQUALIFIED
Chavez X CaudyBrazilAmy Elsner UNQUALIFIED
Antonio G WhobreyCanadaOnyama Limba QUALIFIED
Alejandro Y SergiGermanyBernardo Dominic UNQUALIFIED
Johnson V GlickSpainOnyama Limba PROPOSAL
Aruna L WhobreyRussiaIoni Bowcher UNQUALIFIED
Smith J KolmetzJapanOnyama Limba PROPOSAL
Izzy A MaletRussiaIoni Bowcher QUALIFIED
Francesco Z CaldareraCanadaElwin Sharvill QUALIFIED
Juan Z MacleadItalyOnyama Limba NEW
Murillo O AlbaresUnited KingdomAsiya Javayant NEW
Emily B SergiUnited KingdomAmy Elsner QUALIFIED
Costa O WieserCanadaAmy Elsner PROPOSAL
Octavia Z NestleCanadaElwin Sharvill NEGOTIATION
Izzy L PaprockiUnited KingdomAmy Elsner NEGOTIATION
Octavia R FollerSpainIoni Bowcher RENEWAL
Wickens N PerinGermanyElwin Sharvill NEGOTIATION
Mayumi C MaletItalyElwin Sharvill QUALIFIED
Greenwood Q BologniaJapanBernardo Dominic NEGOTIATION
Salvatore L DarakjyIndiaStephen Shaw RENEWAL
Morrow B InouyeArgentinaElwin Sharvill NEW
Darci B BologniaUnited KingdomElwin Sharvill NEGOTIATION
Stacey L OstroskyCanadaXuxue Feng PROPOSAL
Smith R KolmetzGermanyAnna Fali RENEWAL
Claire P WieserSpainAnna Fali RENEWAL
Murillo H RimArgentinaAsiya Javayant QUALIFIED
Francesco U PaprockiFranceXuxue Feng NEGOTIATION
Rodrigues M DarakjyItalyOnyama Limba QUALIFIED
Jones X RulapaughFranceStephen Shaw NEGOTIATION
Isabel Z TollnerItalyStephen Shaw PROPOSAL
Darci C KuskoItalyAmy Elsner NEW
Salvatore Q MorascaFranceElwin Sharvill QUALIFIED
Aika P RutaFranceOnyama Limba UNQUALIFIED
Juan B ButtGermanyAsiya Javayant UNQUALIFIED
Tony V StensethUnited KingdomOnyama Limba RENEWAL
Adams S KuskoCanadaElwin Sharvill NEGOTIATION
Kaitlin N FollerAustraliaIvan Magalhaes RENEWAL
Kaitlin Z WhobreyCanadaAnna Fali NEGOTIATION
Jeanfrancois B StockhamUnited KingdomAsiya Javayant NEGOTIATION
Adams O MacleadAustraliaIoni Bowcher UNQUALIFIED
Juan D WhobreySpainElwin Sharvill NEW
Silvio G SchemmerGermanyIoni Bowcher RENEWAL
Clifford G DoeCanadaIvan Magalhaes NEW
Johnson A GillianItalyAsiya Javayant RENEWAL
Kadeem X RoysterGermanyBernardo Dominic QUALIFIED
Frozen Columns
Name
Chavez T Flosi
James W Dilliard
Arvin D Perin
Wickens L Poquette
Ricardo W Gillian
Julie F Gaucho
Munro O Shinko
Antonio T Garufi
Darci K Saylors
Octavia U Nestle
Juan B Figeroa
Emily J Gillian
Rodrigues I Shinko
Stacey B Malet
Rodrigues S Darakjy
Salvatore P Caldarera
Ricardo K Gillian
Tony K Shinko
Rodrigues G Caudy
Maria Y Ferencz
Aika G Ostrosky
Claire E Glick
Nicolas F Nestle
Munro K Butt
Kadeem R Maclead
Aika F Tollner
Sinclair A Venere
Munro N Stenseth
Munro S Morasca
Isabel H Rim
Ashley W Slusarski
Antonio U Whobrey
Jennifer S Ruta
Ricardo J Butt
Isabel J Doe
Murillo A Rim
Greenwood S Venere
Deepesh A Glick
James F Malet
Leon D Campain
Adams O Stockham
Aika B Inouye
Munro X Amigon
Julie I Inouye
Ashley C Royster
Maisha K Bowley
Ivar B Bowley
Octavia N Slusarski
Claire D Briddick
Ashley C Butt
IdCountryDate
1000Australia2024-06-15
1001United Kingdom2024-06-11
1002France2024-05-25
1003United Kingdom2024-06-19
1004Japan2024-06-16
1005France2024-06-14
1006Germany2024-05-29
1007India2024-06-13
1008Argentina2024-06-02
1009Spain2024-06-16
1010Russia2024-06-08
1011Japan2024-05-24
1012Germany2024-06-13
1013Japan2024-06-02
1014Germany2024-05-25
1015Spain2024-05-31
1016Spain2024-06-01
1017Brazil2024-05-27
1018United Kingdom2024-05-26
1019Japan2024-05-24
1020Argentina2024-05-25
1021Brazil2024-06-20
1022Argentina2024-06-19
1023Germany2024-05-28
1024Italy2024-05-30
1025Italy2024-06-06
1026Italy2024-06-17
1027Argentina2024-06-21
1028India2024-06-07
1029Brazil2024-06-09
1030Japan2024-05-30
1031Russia2024-06-06
1032France2024-06-06
1033Australia2024-05-29
1034India2024-06-01
1035Canada2024-06-11
1036Russia2024-06-05
1037India2024-06-08
1038Germany2024-05-27
1039Russia2024-06-14
1040United Kingdom2024-06-11
1041Canada2024-05-26
1042France2024-06-14
1043Argentina2024-06-10
1044Italy2024-05-30
1045Italy2024-06-22
1046Brazil2024-05-25
1047Brazil2024-06-11
1048Russia2024-06-22
1049Canada2024-05-29

On-Demand Data

NameIdCountryDate
Claire R Poquette1000Germany2024-05-28
Cody S Figeroa1001Japan2024-06-01
Greenwood P Campain1002Brazil2024-06-01
Clifford E Gaucho1003United Kingdom2024-06-01
Nicolas A Nestle1004Brazil2024-06-10
Adams J Rim1005Germany2024-06-14
Alejandro L Kolmetz1006Australia2024-05-30
Aruna L Royster1007France2024-06-09
Faith E Glick1008United Kingdom2024-05-30
Antonio R Darakjy1009Australia2024-06-16
Jeanfrancois R Schemmer1010India2024-05-25
James C Paprocki1011Canada2024-06-07
Claire O Albares1012Australia2024-06-19
Claire Z Whobrey1013Canada2024-06-05
Nicolas O Perin1014Russia2024-06-07
Izzy C Venere1015India2024-06-11
Murillo O Figeroa1016Germany2024-05-29
Mayumi Z Rulapaugh1017Japan2024-05-31
Izzy F Kolmetz1018Germany2024-06-20
Sinclair P Caldarera1019Canada2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon E ButtGermanyAmy Elsner QUALIFIED
Ivar E BologniaRussiaStephen Shaw PROPOSAL
Rodrigues G RoysterGermanyBernardo Dominic QUALIFIED
Murillo T MaletIndiaIvan Magalhaes NEW
Leja N GarufiJapanOnyama Limba UNQUALIFIED
Silvio W BriddickGermanyStephen Shaw NEW
Faith H ButtItalyElwin Sharvill NEW
Chavez N ButtCanadaAnna Fali QUALIFIED
Maisha C SergiSpainIoni Bowcher QUALIFIED
David R PerinFranceElwin Sharvill UNQUALIFIED
Maisha O FerenczJapanOnyama Limba NEW
Smith A ShinkoJapanOnyama Limba UNQUALIFIED
Francesco G VocelkaSpainOnyama Limba NEW
Octavia V DilliardAustraliaAmy Elsner PROPOSAL
Mujtaba C NestleAustraliaXuxue Feng QUALIFIED
Mayumi H GauchoBrazilBernardo Dominic PROPOSAL
Ricardo J BologniaFranceElwin Sharvill NEGOTIATION
Johnson E SergiUnited KingdomAsiya Javayant RENEWAL
Rodrigues J BologniaJapanElwin Sharvill PROPOSAL
Clifford R NestleFranceXuxue Feng PROPOSAL
Kadeem J VocelkaUnited KingdomStephen Shaw QUALIFIED
Kaitlin R FlosiUnited KingdomAnna Fali NEW
Aditya R NickaCanadaXuxue Feng NEW
Izzy C FerenczItalyIoni Bowcher PROPOSAL
Adams O KuskoUnited KingdomXuxue Feng NEGOTIATION
Leon A AlbaresRussiaAmy Elsner UNQUALIFIED
Sinclair T MaletRussiaXuxue Feng QUALIFIED
David T CaudyJapanAsiya Javayant NEGOTIATION
Tony U PoquetteBrazilXuxue Feng QUALIFIED
Jones L StockhamArgentinaAmy Elsner UNQUALIFIED
Munro K SergiRussiaAsiya Javayant QUALIFIED
Jones G GlickIndiaBernardo Dominic QUALIFIED
Salvatore C GlickGermanyAsiya Javayant RENEWAL
Sinclair F VocelkaArgentinaIvan Magalhaes UNQUALIFIED
Maria O ButtAustraliaElwin Sharvill PROPOSAL
Sinclair V BriddickUnited KingdomOnyama Limba NEW
Izzy E FlosiBrazilIoni Bowcher RENEWAL
Jennifer U StockhamIndiaIoni Bowcher QUALIFIED
Faith G NickaJapanAsiya Javayant NEGOTIATION
Cody P MaletArgentinaStephen Shaw RENEWAL

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