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
Kadeem Q MaletFranceAmy Elsner UNQUALIFIED
Johnson G FigeroaFranceXuxue Feng NEW
Ricardo I VocelkaCanadaElwin Sharvill NEGOTIATION
Stacey W MarrierFranceElwin Sharvill UNQUALIFIED
Chavez R BriddickGermanyXuxue Feng NEW
Mujtaba M WhobreyCanadaAmy Elsner NEW
Murillo O SaylorsIndiaIoni Bowcher QUALIFIED
Costa Y CaudyBrazilElwin Sharvill QUALIFIED
Ivar X GauchoGermanyAnna Fali UNQUALIFIED
Darci O ShinkoFranceAmy Elsner NEGOTIATION
Murillo T KolmetzArgentinaOnyama Limba PROPOSAL
Claire Z NickaBrazilIvan Magalhaes PROPOSAL
Aika T PaprockiArgentinaXuxue Feng QUALIFIED
Maisha A RoysterGermanyIoni Bowcher UNQUALIFIED
Smith A FerenczJapanAsiya Javayant RENEWAL
David Q DilliardAustraliaStephen Shaw NEGOTIATION
Deepesh G SlusarskiFranceElwin Sharvill NEW
Kadeem P MaletArgentinaIvan Magalhaes PROPOSAL
David R ButtSpainStephen Shaw NEGOTIATION
Octavia X AlbaresRussiaXuxue Feng NEW
Stacey R RoysterCanadaXuxue Feng UNQUALIFIED
Greenwood I VenereUnited KingdomBernardo Dominic NEGOTIATION
Mujtaba Q IturbideItalyIoni Bowcher RENEWAL
Jennifer X TollnerGermanyIvan Magalhaes NEW
Jennifer F CaldareraBrazilXuxue Feng NEW
Leja P MarrierBrazilAmy Elsner PROPOSAL
Francesco W TollnerArgentinaIvan Magalhaes QUALIFIED
Jeanfrancois M ButtRussiaStephen Shaw NEW
Kaitlin G WaycottAustraliaIvan Magalhaes NEGOTIATION
Jennifer K BowleyUnited KingdomStephen Shaw RENEWAL
Darci D RimArgentinaElwin Sharvill NEGOTIATION
Izzy J AmigonAustraliaBernardo Dominic NEW
Aruna Q NestleUnited KingdomElwin Sharvill UNQUALIFIED
Kadeem I IturbideUnited KingdomIvan Magalhaes QUALIFIED
Aruna W NickaArgentinaOnyama Limba RENEWAL
Stacey R PaprockiSpainOnyama Limba UNQUALIFIED
Misaki M StensethSpainStephen Shaw NEW
Salvatore E KuskoCanadaOnyama Limba RENEWAL
Jones F SchemmerSpainAmy Elsner QUALIFIED
Morrow Q ChuiGermanyStephen Shaw QUALIFIED
Mayumi I InouyeArgentinaBernardo Dominic RENEWAL
Tony J MaletAustraliaIvan Magalhaes QUALIFIED
Chavez Q NickaItalyIvan Magalhaes NEGOTIATION
Smith K PaprockiRussiaElwin Sharvill QUALIFIED
Alejandro V FlosiBrazilIvan Magalhaes NEGOTIATION
Jones H IturbideJapanAmy Elsner PROPOSAL
Antonio Q NestleArgentinaIvan Magalhaes QUALIFIED
Tony R StensethItalyAnna Fali PROPOSAL
Leon O FigeroaCanadaIvan Magalhaes QUALIFIED
David E AmigonRussiaAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Munro U StensethRussiaElwin Sharvill PROPOSAL
Mayumi G SlusarskiUnited KingdomAsiya Javayant NEGOTIATION
Arvin W RulapaughIndiaIvan Magalhaes RENEWAL
Morrow I BologniaSpainXuxue Feng UNQUALIFIED
Silvio U RutaAustraliaAsiya Javayant NEW
Isabel X BriddickUnited KingdomAmy Elsner UNQUALIFIED
Kadeem Y ButtUnited KingdomAsiya Javayant RENEWAL
Ricardo U GillianIndiaIoni Bowcher UNQUALIFIED
Emily S VenereFranceElwin Sharvill NEGOTIATION
Silvio I FerenczFranceOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo G WieserArgentina2024-06-17Buckley Miller Wright UNQUALIFIED51Onyama Limba
1001Faith Q MaletItaly2024-05-27Feltz Printing Service PROPOSAL77Asiya Javayant
1002Nicolas K AlbaresSpain2024-06-12Rangoni Of Florence NEGOTIATION43Anna Fali
1003David A PoquetteArgentina2024-05-31Morlong Associates QUALIFIED30Onyama Limba
1004Francesco P IturbideUnited Kingdom2024-05-29Feiner Bros UNQUALIFIED51Elwin Sharvill
1005Ashley K FlosiBrazil2024-06-14Truhlar And Truhlar Attys NEW51Amy Elsner
1006Ricardo X IturbideSpain2024-06-04Truhlar And Truhlar Attys NEW69Amy Elsner
1007James B StockhamBrazil2024-06-21King, Christopher A Esq NEGOTIATION74Anna Fali
1008Claire S SaylorsAustralia2024-06-14Commercial Press UNQUALIFIED56Ivan Magalhaes
1009Clifford N SchemmerItaly2024-06-08Chemel, James L Cpa QUALIFIED57Bernardo Dominic
1010Silvio D WieserFrance2024-05-29Benton, John B Jr PROPOSAL77Elwin Sharvill
1011Rodrigues R IturbideArgentina2024-06-19Dorl, James J Esq RENEWAL56Ioni Bowcher
1012Murillo G AmigonBrazil2024-06-22Commercial Press QUALIFIED66Asiya Javayant
1013Alejandro W GarufiIndia2024-06-11Buckley Miller Wright RENEWAL43Anna Fali
1014Isabel E FlosiBrazil2024-06-10Printing Dimensions PROPOSAL32Amy Elsner
1015Tony A CaldareraRussia2024-06-17Commercial Press NEGOTIATION36Ioni Bowcher
1016Jefferson Q MorascaGermany2024-06-10Feltz Printing Service PROPOSAL28Ioni Bowcher
1017Francesco U DoeJapan2024-06-14Feiner Bros PROPOSAL64Elwin Sharvill
1018Izzy U DilliardCanada2024-06-18Printing Dimensions QUALIFIED6Ivan Magalhaes
1019Julie Y CaudyFrance2024-06-16King, Christopher A Esq PROPOSAL42Elwin Sharvill
1020Claire Z AlbaresUnited Kingdom2024-06-15Dorl, James J Esq QUALIFIED24Amy Elsner
1021Chavez B SchemmerSpain2024-06-22Chanay, Jeffrey A Esq QUALIFIED2Onyama Limba
1022Aika A CaldareraGermany2024-06-08Printing Dimensions PROPOSAL25Stephen Shaw
1023Cody Y DarakjySpain2024-05-27Dorl, James J Esq PROPOSAL0Ioni Bowcher
1024Arvin A NestleFrance2024-05-26Buckley Miller Wright PROPOSAL36Anna Fali
1025Aika B SchemmerUnited Kingdom2024-06-06Benton, John B Jr NEGOTIATION93Anna Fali
1026Salvatore N FigeroaFrance2024-06-15Dorl, James J Esq NEGOTIATION19Anna Fali
1027Tony M WhobreyAustralia2024-06-18Printing Dimensions UNQUALIFIED87Stephen Shaw
1028Faith E GarufiFrance2024-06-01Chemel, James L Cpa PROPOSAL90Ioni Bowcher
1029Ivar F MarrierJapan2024-05-24Chemel, James L Cpa PROPOSAL89Asiya Javayant
1030Cody C WaycottGermany2024-06-09Feiner Bros UNQUALIFIED86Amy Elsner
1031Emily V WieserBrazil2024-05-30Buckley Miller Wright QUALIFIED61Anna Fali
1032Antonio D OldroydGermany2024-05-29Rangoni Of Florence PROPOSAL48Elwin Sharvill
1033Darci M ShinkoGermany2024-05-26Commercial Press NEGOTIATION57Amy Elsner
1034Maisha D SchemmerRussia2024-06-14Morlong Associates RENEWAL50Stephen Shaw
1035Rodrigues K DoeCanada2024-05-25Rousseaux, Michael Esq QUALIFIED55Xuxue Feng
1036Faith U FerenczJapan2024-05-28Benton, John B Jr NEW16Asiya Javayant
1037Ricardo C SlusarskiRussia2024-06-10Chanay, Jeffrey A Esq NEW55Xuxue Feng
1038Antonio T FlosiRussia2024-05-24Commercial Press PROPOSAL8Xuxue Feng
1039Chavez L SlusarskiUnited Kingdom2024-05-31Feltz Printing Service RENEWAL84Ioni Bowcher
1040Emily V MaletGermany2024-06-11Buckley Miller Wright NEGOTIATION18Ioni Bowcher
1041Salvatore Z VenereJapan2024-06-20Truhlar And Truhlar Attys NEW19Elwin Sharvill
1042Maria I KolmetzBrazil2024-06-18King, Christopher A Esq PROPOSAL10Ioni Bowcher
1043Leon Y RoysterCanada2024-06-03Chemel, James L Cpa QUALIFIED51Ivan Magalhaes
1044James M CampainBrazil2024-05-24Chemel, James L Cpa QUALIFIED9Amy Elsner
1045Cody F OldroydBrazil2024-05-31Buckley Miller Wright QUALIFIED42Anna Fali
1046Maria M FlosiRussia2024-05-31Benton, John B Jr QUALIFIED90Ioni Bowcher
1047Maria H MaletArgentina2024-06-05Rousseaux, Michael Esq NEW96Ivan Magalhaes
1048Leja O RutaArgentina2024-06-19King, Christopher A Esq UNQUALIFIED86Amy Elsner
1049David B KuskoGermany2024-05-28Commercial Press QUALIFIED12Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Isabel N FigeroaAustraliaIvan Magalhaes QUALIFIED
Smith Z SergiAustraliaXuxue Feng UNQUALIFIED
Alejandro R RoysterUnited KingdomAsiya Javayant UNQUALIFIED
Antonio S AmigonArgentinaBernardo Dominic UNQUALIFIED
Antonio X InouyeAustraliaOnyama Limba RENEWAL
Alejandro F NickaSpainAmy Elsner PROPOSAL
Izzy B CaudyAustraliaXuxue Feng NEGOTIATION
Juan X NestleArgentinaXuxue Feng QUALIFIED
Alejandro G SchemmerItalyIoni Bowcher PROPOSAL
Salvatore X DilliardCanadaOnyama Limba NEGOTIATION
Misaki K MaletIndiaXuxue Feng PROPOSAL
Tony K SaylorsRussiaAmy Elsner RENEWAL
Adams M RulapaughAustraliaAnna Fali QUALIFIED
Stacey R BriddickIndiaBernardo Dominic UNQUALIFIED
Maria Y NestleIndiaStephen Shaw PROPOSAL
Aditya Y ButtGermanyIvan Magalhaes PROPOSAL
Claire C WieserItalyAnna Fali PROPOSAL
Tony N MaletAustraliaAmy Elsner NEW
Morrow J FlosiItalyElwin Sharvill PROPOSAL
Mujtaba C PoquetteCanadaAmy Elsner NEW
Mayumi X RimArgentinaStephen Shaw RENEWAL
Aruna R InouyeJapanElwin Sharvill QUALIFIED
Mujtaba V PoquetteFranceAsiya Javayant QUALIFIED
Jones X RoysterJapanElwin Sharvill NEW
Ricardo E DarakjyRussiaStephen Shaw RENEWAL
Jennifer M ButtRussiaBernardo Dominic PROPOSAL
Izzy Z TollnerGermanyXuxue Feng RENEWAL
Aika I VenereRussiaIoni Bowcher PROPOSAL
Aditya R WhobreyGermanyBernardo Dominic QUALIFIED
Mayumi U DarakjyGermanyElwin Sharvill RENEWAL
Maria T BologniaSpainIvan Magalhaes PROPOSAL
Jennifer S DoeUnited KingdomStephen Shaw RENEWAL
Leja M PerinItalyAsiya Javayant QUALIFIED
Cody N BologniaSpainOnyama Limba NEW
James P FlosiItalyOnyama Limba NEGOTIATION
Nicolas U MorascaIndiaAnna Fali RENEWAL
Emily D FollerItalyAmy Elsner PROPOSAL
Kaitlin R DoeRussiaBernardo Dominic NEW
Nicolas C VocelkaCanadaXuxue Feng QUALIFIED
Smith M OstroskyUnited KingdomAnna Fali UNQUALIFIED
Stacey W FlosiBrazilIvan Magalhaes UNQUALIFIED
Juan S StensethJapanBernardo Dominic UNQUALIFIED
Greenwood T SlusarskiBrazilElwin Sharvill NEW
Tony Z InouyeGermanyAsiya Javayant RENEWAL
James K DilliardItalyAsiya Javayant PROPOSAL
Costa S InouyeFranceIoni Bowcher UNQUALIFIED
Leon N DilliardCanadaIoni Bowcher UNQUALIFIED
Mujtaba Z VenereArgentinaIvan Magalhaes PROPOSAL
Wickens W KuskoAustraliaElwin Sharvill RENEWAL
Mayumi D OstroskyFranceOnyama Limba NEW
Frozen Columns
Name
Salvatore X Royster
Mayumi P Caldarera
Jones Q Saylors
Deepesh Y Bowley
Claire Z Whobrey
Jones V Foller
Costa O Flosi
Morrow E Briddick
Clifford L Campain
Julie O Malet
Kaitlin D Stockham
Johnson C Kolmetz
Mayumi U Bowley
Julie E Poquette
Tony C Slusarski
Greenwood R Vocelka
Mayumi U Rim
Munro O Figeroa
Kadeem S Butt
Adams T Garufi
Francesco T Maclead
Faith Z Vocelka
Munro R Foller
Ashley L Poquette
Kaitlin F Maclead
Emily I Figeroa
Misaki A Malet
Leon H Poquette
James F Tollner
Costa O Amigon
Aruna Z Figeroa
Kaitlin X Caldarera
Chavez D Ostrosky
Ashley Z Rim
Maria O Gaucho
Francesco M Bolognia
Clifford F Briddick
Rodrigues C Tollner
Darci P Nicka
Silvio O Gillian
Adams C Caudy
Rodrigues D Stockham
Francesco N Saylors
Leja J Stockham
David F Oldroyd
Mayumi X Royster
Johnson J Amigon
Ashley E Dilliard
Jeanfrancois I Gillian
Munro V Flosi
IdCountryDate
1000Germany2024-06-04
1001Spain2024-06-03
1002India2024-06-07
1003India2024-06-15
1004Australia2024-05-27
1005Argentina2024-06-09
1006France2024-05-28
1007France2024-06-11
1008Brazil2024-06-04
1009Brazil2024-06-16
1010United Kingdom2024-06-03
1011Russia2024-06-19
1012Canada2024-06-07
1013India2024-05-29
1014Russia2024-05-26
1015Argentina2024-06-05
1016Brazil2024-06-09
1017Argentina2024-06-07
1018Spain2024-05-27
1019Japan2024-06-01
1020Russia2024-05-29
1021Germany2024-05-29
1022India2024-06-22
1023Argentina2024-05-28
1024Japan2024-06-22
1025Spain2024-06-09
1026United Kingdom2024-06-16
1027Australia2024-06-09
1028Italy2024-06-09
1029Canada2024-06-16
1030Canada2024-06-07
1031Japan2024-06-14
1032Japan2024-06-18
1033Spain2024-06-06
1034Spain2024-06-19
1035Argentina2024-06-13
1036Spain2024-05-28
1037Japan2024-06-20
1038Canada2024-05-29
1039United Kingdom2024-06-12
1040India2024-06-14
1041Australia2024-05-26
1042Germany2024-06-19
1043Argentina2024-06-02
1044Italy2024-05-27
1045Spain2024-06-11
1046Italy2024-05-24
1047Argentina2024-06-19
1048Germany2024-06-08
1049United Kingdom2024-05-25

On-Demand Data

NameIdCountryDate
Mayumi X Wieser1000Australia2024-06-11
Claire Z Ostrosky1001France2024-06-20
Antonio U Perin1002Russia2024-06-14
Stacey B Inouye1003Germany2024-06-22
Izzy A Waycott1004India2024-06-07
Ricardo Z Whobrey1005Argentina2024-06-02
Chavez F Inouye1006Russia2024-06-10
Juan P Flosi1007India2024-06-06
Leon O Doe1008Japan2024-06-05
Aika T Rim1009France2024-05-26
Johnson D Malet1010Brazil2024-06-21
Aika C Bolognia1011Russia2024-06-19
Faith U Sergi1012Brazil2024-06-12
Antonio B Flosi1013United Kingdom2024-06-08
Faith F Marrier1014Japan2024-06-16
Claire E Whobrey1015Australia2024-06-15
Arvin W Flosi1016United Kingdom2024-06-18
Wickens E Wieser1017Germany2024-06-21
Maisha E Darakjy1018Australia2024-05-31
Isabel P Maclead1019Russia2024-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio Z RulapaughRussiaOnyama Limba NEGOTIATION
Alejandro N MacleadArgentinaElwin Sharvill UNQUALIFIED
Octavia D CaldareraFranceXuxue Feng NEGOTIATION
Izzy J FerenczSpainAnna Fali RENEWAL
Jones Y WaycottItalyStephen Shaw NEGOTIATION
Alejandro P InouyeArgentinaOnyama Limba RENEWAL
Darci L VenereSpainBernardo Dominic RENEWAL
Greenwood S WieserItalyAnna Fali NEGOTIATION
Deepesh J SlusarskiAustraliaElwin Sharvill UNQUALIFIED
Antonio P RimBrazilIoni Bowcher RENEWAL
Darci D SlusarskiIndiaAsiya Javayant RENEWAL
Misaki Y AmigonIndiaIvan Magalhaes PROPOSAL
Clifford K DarakjyUnited KingdomAmy Elsner NEW
Izzy K FigeroaCanadaOnyama Limba QUALIFIED
Greenwood M StensethArgentinaBernardo Dominic UNQUALIFIED
Juan S RulapaughItalyAsiya Javayant UNQUALIFIED
Ashley H GarufiAustraliaStephen Shaw NEW
Munro A VocelkaSpainElwin Sharvill RENEWAL
Aditya A ShinkoAustraliaAmy Elsner NEGOTIATION
Alejandro S WaycottSpainAmy Elsner NEGOTIATION
David A ShinkoArgentinaIvan Magalhaes NEGOTIATION
Mayumi M FollerIndiaAsiya Javayant QUALIFIED
Octavia Y MorascaBrazilStephen Shaw UNQUALIFIED
Misaki P KuskoCanadaElwin Sharvill NEW
Clifford K BologniaJapanOnyama Limba UNQUALIFIED
Smith P KolmetzItalyBernardo Dominic PROPOSAL
Juan N FollerAustraliaBernardo Dominic PROPOSAL
Kadeem D PaprockiRussiaStephen Shaw QUALIFIED
Ivar X PoquetteFranceXuxue Feng QUALIFIED
Maria Z MaletUnited KingdomStephen Shaw UNQUALIFIED
David T GillianUnited KingdomIvan Magalhaes NEW
Murillo X ButtIndiaXuxue Feng PROPOSAL
Francesco J SchemmerJapanAsiya Javayant NEW
Johnson E InouyeCanadaAmy Elsner NEGOTIATION
Aika M WhobreyCanadaStephen Shaw QUALIFIED
Aruna V FerenczFranceIoni Bowcher PROPOSAL
Kadeem P DilliardRussiaXuxue Feng NEGOTIATION
Ivar K RutaFranceAnna Fali RENEWAL
Mayumi J AlbaresSpainElwin Sharvill UNQUALIFIED
Alejandro K BriddickIndiaOnyama Limba NEW

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