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
Nicolas O WhobreyGermanyStephen Shaw NEGOTIATION
Greenwood Y CampainUnited KingdomIvan Magalhaes RENEWAL
Aruna X PerinBrazilIvan Magalhaes QUALIFIED
Jones Z InouyeUnited KingdomAsiya Javayant UNQUALIFIED
Munro W GlickUnited KingdomElwin Sharvill RENEWAL
Leja J SchemmerCanadaOnyama Limba RENEWAL
Francesco L GarufiUnited KingdomAnna Fali NEGOTIATION
David D VenereArgentinaXuxue Feng NEGOTIATION
Juan L RimUnited KingdomBernardo Dominic RENEWAL
Alejandro Y NickaCanadaIoni Bowcher NEW
Jennifer Y RoysterArgentinaIvan Magalhaes RENEWAL
Jefferson F IturbideSpainStephen Shaw RENEWAL
Johnson F FlosiJapanXuxue Feng NEW
Arvin F DarakjyCanadaStephen Shaw RENEWAL
Ivar L NestleGermanyXuxue Feng QUALIFIED
Jeanfrancois U MaletJapanAnna Fali NEW
Juan J FerenczSpainAnna Fali PROPOSAL
Costa V FollerSpainBernardo Dominic NEGOTIATION
Chavez M StensethIndiaElwin Sharvill NEGOTIATION
Mayumi Y PoquetteIndiaOnyama Limba NEGOTIATION
Nicolas I FerenczSpainAnna Fali NEW
James H KuskoCanadaXuxue Feng UNQUALIFIED
Rodrigues Z GarufiRussiaIoni Bowcher PROPOSAL
Kaitlin G GlickItalyElwin Sharvill PROPOSAL
Jennifer W PerinGermanyOnyama Limba RENEWAL
Stacey N GarufiGermanyIvan Magalhaes NEW
Aruna B GillianBrazilElwin Sharvill NEW
James J ChuiRussiaAnna Fali NEGOTIATION
Nicolas T GillianCanadaBernardo Dominic QUALIFIED
Darci J CaudySpainIvan Magalhaes NEGOTIATION
Silvio E IturbideJapanStephen Shaw QUALIFIED
Greenwood F DilliardUnited KingdomAmy Elsner PROPOSAL
Jefferson S RulapaughFranceXuxue Feng NEW
Claire D OldroydFranceIvan Magalhaes PROPOSAL
Rodrigues T StensethIndiaElwin Sharvill NEGOTIATION
Leon D PoquetteBrazilElwin Sharvill QUALIFIED
Leja W FerenczUnited KingdomStephen Shaw NEW
Alejandro T CaudyCanadaBernardo Dominic RENEWAL
Kadeem G DoeFranceBernardo Dominic PROPOSAL
Kadeem X BologniaArgentinaAmy Elsner NEGOTIATION
Ricardo Y RimAustraliaAmy Elsner RENEWAL
Claire P CaudyUnited KingdomBernardo Dominic RENEWAL
Darci J StensethIndiaStephen Shaw RENEWAL
Kaitlin K RoysterJapanXuxue Feng NEGOTIATION
Munro Z KuskoUnited KingdomAnna Fali QUALIFIED
Nicolas T PaprockiIndiaIvan Magalhaes UNQUALIFIED
Octavia E StockhamArgentinaAnna Fali QUALIFIED
Munro C KuskoItalyOnyama Limba NEGOTIATION
Adams Z MaletItalyBernardo Dominic PROPOSAL
Smith N PoquetteBrazilIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Chavez O OstroskySpainBernardo Dominic QUALIFIED
Aditya P NestleGermanyOnyama Limba QUALIFIED
David R FerenczAustraliaOnyama Limba PROPOSAL
David O GarufiArgentinaXuxue Feng NEW
Kaitlin P MaletCanadaElwin Sharvill PROPOSAL
Mujtaba A DoeItalyXuxue Feng NEGOTIATION
Rodrigues U FerenczGermanyAsiya Javayant PROPOSAL
Tony S DarakjyItalyAnna Fali UNQUALIFIED
Munro U BriddickUnited KingdomBernardo Dominic UNQUALIFIED
Jones U ShinkoJapanIoni Bowcher RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem Y DoeItaly2024-05-27Rousseaux, Michael Esq QUALIFIED45Bernardo Dominic
1001Aruna W SergiUnited Kingdom2024-06-19Commercial Press RENEWAL23Xuxue Feng
1002Munro S PaprockiJapan2024-06-15Chemel, James L Cpa RENEWAL56Xuxue Feng
1003Stacey A FigeroaAustralia2024-06-21Commercial Press QUALIFIED90Anna Fali
1004Claire C VenereGermany2024-06-21Rousseaux, Michael Esq RENEWAL63Onyama Limba
1005Kaitlin C KuskoJapan2024-06-04Feiner Bros UNQUALIFIED25Anna Fali
1006Wickens N OstroskyUnited Kingdom2024-06-05Benton, John B Jr UNQUALIFIED38Xuxue Feng
1007Leja R GillianCanada2024-06-11Rousseaux, Michael Esq QUALIFIED23Xuxue Feng
1008Silvio G TollnerArgentina2024-06-10Feiner Bros NEGOTIATION74Amy Elsner
1009Emily Z CampainSpain2024-06-19Buckley Miller Wright QUALIFIED63Elwin Sharvill
1010Wickens A WaycottIndia2024-06-15Chemel, James L Cpa QUALIFIED72Ioni Bowcher
1011Adams B CampainSpain2024-05-26King, Christopher A Esq QUALIFIED79Anna Fali
1012Sinclair S SchemmerItaly2024-06-04Dorl, James J Esq PROPOSAL67Stephen Shaw
1013Emily X CaldareraArgentina2024-06-06Rangoni Of Florence PROPOSAL87Ivan Magalhaes
1014Kaitlin D DarakjyJapan2024-06-17Rousseaux, Michael Esq QUALIFIED29Amy Elsner
1015Adams P SergiUnited Kingdom2024-05-28Buckley Miller Wright PROPOSAL91Ivan Magalhaes
1016Cody C AlbaresArgentina2024-06-15Buckley Miller Wright PROPOSAL41Xuxue Feng
1017Ashley Q OldroydItaly2024-05-29Benton, John B Jr QUALIFIED48Bernardo Dominic
1018Ricardo E ShinkoCanada2024-06-16King, Christopher A Esq QUALIFIED59Xuxue Feng
1019Murillo R OstroskySpain2024-06-02Feltz Printing Service NEW77Xuxue Feng
1020Murillo M IturbideJapan2024-06-10King, Christopher A Esq NEW75Amy Elsner
1021Aika Q MacleadCanada2024-06-01Chemel, James L Cpa NEGOTIATION11Stephen Shaw
1022Izzy Z AmigonJapan2024-06-12Feltz Printing Service QUALIFIED25Anna Fali
1023Jennifer M BriddickRussia2024-06-21Dorl, James J Esq QUALIFIED3Bernardo Dominic
1024Silvio Z DilliardFrance2024-05-24King, Christopher A Esq QUALIFIED20Asiya Javayant
1025Clifford C SlusarskiAustralia2024-06-10Rousseaux, Michael Esq NEW30Bernardo Dominic
1026Mayumi S MaletIndia2024-06-07Feltz Printing Service UNQUALIFIED6Asiya Javayant
1027Ricardo H ButtUnited Kingdom2024-06-07Morlong Associates RENEWAL81Onyama Limba
1028Morrow U FlosiUnited Kingdom2024-06-19Dorl, James J Esq QUALIFIED79Xuxue Feng
1029Munro P BowleyFrance2024-06-05Rangoni Of Florence RENEWAL89Asiya Javayant
1030Salvatore G RulapaughFrance2024-06-04Feltz Printing Service NEW43Bernardo Dominic
1031Greenwood V VocelkaArgentina2024-06-02Chemel, James L Cpa UNQUALIFIED46Anna Fali
1032Stacey J PerinIndia2024-05-31Feiner Bros QUALIFIED63Bernardo Dominic
1033James M PerinArgentina2024-06-14Printing Dimensions NEGOTIATION45Onyama Limba
1034Jeanfrancois P InouyeFrance2024-06-17Chapman, Ross E Esq QUALIFIED63Elwin Sharvill
1035Ricardo A VocelkaArgentina2024-06-06Morlong Associates PROPOSAL9Ioni Bowcher
1036Johnson T GillianBrazil2024-06-18Feiner Bros NEW60Bernardo Dominic
1037Rodrigues E GillianItaly2024-06-14Benton, John B Jr NEGOTIATION47Xuxue Feng
1038Chavez S RimFrance2024-06-18Chemel, James L Cpa PROPOSAL25Amy Elsner
1039Stacey Y WaycottUnited Kingdom2024-06-11Morlong Associates UNQUALIFIED55Asiya Javayant
1040Antonio X MorascaSpain2024-06-07Truhlar And Truhlar Attys NEW98Onyama Limba
1041Cody Y OstroskyFrance2024-05-26Dorl, James J Esq PROPOSAL50Stephen Shaw
1042Leja R RoysterArgentina2024-05-26Chapman, Ross E Esq UNQUALIFIED79Ivan Magalhaes
1043Leja R BologniaFrance2024-06-03Buckley Miller Wright QUALIFIED75Stephen Shaw
1044Adams T IturbideIndia2024-06-08Chanay, Jeffrey A Esq NEGOTIATION7Ioni Bowcher
1045Isabel A OldroydFrance2024-06-03Rangoni Of Florence NEW16Ioni Bowcher
1046Smith H DarakjyBrazil2024-06-17Printing Dimensions UNQUALIFIED26Elwin Sharvill
1047Julie N KuskoBrazil2024-06-15Feiner Bros NEW50Amy Elsner
1048Silvio H MorascaRussia2024-06-15Chapman, Ross E Esq UNQUALIFIED58Ioni Bowcher
1049Murillo N PoquetteSpain2024-05-30Feltz Printing Service QUALIFIED8Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Ashley O BriddickIndiaBernardo Dominic NEGOTIATION
Tony R RoysterSpainXuxue Feng NEGOTIATION
Chavez J GauchoItalyAnna Fali PROPOSAL
Ashley P RoysterSpainIoni Bowcher RENEWAL
Aika E TollnerIndiaAsiya Javayant NEGOTIATION
Juan C NickaJapanElwin Sharvill QUALIFIED
Morrow Y FigeroaGermanyAsiya Javayant RENEWAL
David M WhobreyFranceIvan Magalhaes NEGOTIATION
Emily Y RulapaughUnited KingdomStephen Shaw RENEWAL
Jennifer B InouyeFranceXuxue Feng PROPOSAL
Juan O SergiIndiaAmy Elsner NEW
Jones M RulapaughBrazilIvan Magalhaes QUALIFIED
Julie U StockhamSpainAmy Elsner UNQUALIFIED
Clifford R ChuiUnited KingdomElwin Sharvill NEGOTIATION
James C WhobreyAustraliaAnna Fali QUALIFIED
Ricardo J AlbaresArgentinaElwin Sharvill NEW
Kaitlin R FerenczRussiaXuxue Feng RENEWAL
Smith C DoeGermanyIoni Bowcher PROPOSAL
Aditya M FollerSpainStephen Shaw UNQUALIFIED
Johnson D ShinkoIndiaAsiya Javayant NEW
Claire D MacleadGermanyElwin Sharvill RENEWAL
Greenwood I GauchoBrazilAnna Fali QUALIFIED
Rodrigues B GauchoCanadaAsiya Javayant UNQUALIFIED
Wickens P RoysterSpainBernardo Dominic RENEWAL
Aruna N RimAustraliaBernardo Dominic RENEWAL
Wickens Y StockhamFranceAmy Elsner PROPOSAL
Tony D BriddickCanadaElwin Sharvill NEGOTIATION
Leja N DoeIndiaElwin Sharvill QUALIFIED
Morrow D NestleArgentinaAnna Fali QUALIFIED
Francesco R FerenczIndiaIoni Bowcher PROPOSAL
Salvatore G PoquetteIndiaStephen Shaw NEW
Kadeem G TollnerCanadaElwin Sharvill UNQUALIFIED
Isabel H PoquetteFranceIoni Bowcher PROPOSAL
Silvio H DoeRussiaXuxue Feng PROPOSAL
Aditya L FigeroaAustraliaIoni Bowcher NEW
Johnson O BologniaItalyBernardo Dominic QUALIFIED
Tony Q ChuiAustraliaAsiya Javayant RENEWAL
Clifford A IturbideIndiaXuxue Feng QUALIFIED
Deepesh Y WieserBrazilElwin Sharvill QUALIFIED
Stacey W ChuiIndiaAmy Elsner PROPOSAL
Silvio L NestleFranceOnyama Limba QUALIFIED
Stacey I MorascaBrazilIvan Magalhaes PROPOSAL
Jones F BologniaFranceAmy Elsner QUALIFIED
Morrow M FollerSpainBernardo Dominic NEGOTIATION
Kadeem O PaprockiJapanElwin Sharvill QUALIFIED
Ivar T SaylorsJapanXuxue Feng PROPOSAL
Octavia Q MaletCanadaElwin Sharvill PROPOSAL
Ricardo W GillianBrazilElwin Sharvill RENEWAL
James M KuskoItalyAmy Elsner PROPOSAL
Darci S FigeroaArgentinaAmy Elsner UNQUALIFIED
Frozen Columns
Name
Stacey H Morasca
Chavez S Briddick
Morrow M Foller
Adams C Glick
Mujtaba X Saylors
Deepesh L Gaucho
Mayumi O Amigon
Leja U Briddick
Stacey N Ostrosky
Chavez U Rulapaugh
Ivar Z Morasca
Stacey I Glick
Kadeem H Schemmer
Jennifer E Stockham
Adams W Royster
Salvatore L Caldarera
Antonio T Butt
Francesco C Inouye
Aditya C Gillian
Juan E Amigon
Stacey T Whobrey
David U Wieser
Mujtaba M Waycott
Aika H Oldroyd
Clifford G Garufi
Antonio T Figeroa
Misaki H Maclead
Cody H Kolmetz
Aika Q Shinko
Nicolas N Wieser
Darci Q Ostrosky
Maisha N Rulapaugh
Octavia V Nicka
Leja P Ruta
Stacey L Stenseth
Alejandro X Caldarera
Jennifer F Briddick
Murillo M Amigon
Misaki U Malet
Francesco I Venere
Jefferson Q Malet
Antonio J Iturbide
Greenwood F Briddick
Octavia Z Nicka
Maisha G Morasca
Deepesh F Chui
Misaki X Flosi
Faith L Morasca
Emily A Vocelka
Rodrigues M Slusarski
IdCountryDate
1000Brazil2024-06-01
1001Canada2024-06-03
1002Spain2024-06-14
1003Argentina2024-06-09
1004Argentina2024-06-19
1005Argentina2024-06-01
1006Germany2024-05-23
1007Italy2024-06-13
1008Germany2024-06-21
1009Argentina2024-05-29
1010France2024-05-30
1011France2024-06-20
1012Spain2024-06-08
1013Australia2024-06-12
1014France2024-06-14
1015Italy2024-06-19
1016Argentina2024-06-11
1017Spain2024-05-23
1018Argentina2024-06-20
1019France2024-06-17
1020Japan2024-05-25
1021Germany2024-05-30
1022Australia2024-06-21
1023Canada2024-05-28
1024Canada2024-06-04
1025Brazil2024-06-13
1026United Kingdom2024-06-10
1027Canada2024-06-06
1028Spain2024-05-24
1029Japan2024-05-23
1030Italy2024-05-25
1031Germany2024-06-06
1032France2024-05-27
1033Germany2024-05-24
1034Australia2024-06-18
1035Italy2024-06-16
1036Brazil2024-06-04
1037India2024-05-27
1038France2024-06-03
1039France2024-06-19
1040Brazil2024-06-10
1041Canada2024-06-14
1042Brazil2024-05-28
1043Spain2024-06-20
1044Russia2024-06-14
1045Australia2024-06-11
1046India2024-06-03
1047Brazil2024-05-28
1048Russia2024-06-07
1049Canada2024-06-20

On-Demand Data

NameIdCountryDate
Darci X Tollner1000Australia2024-06-09
Morrow F Chui1001Argentina2024-05-26
Aditya B Perin1002Russia2024-06-18
Faith W Glick1003Russia2024-06-14
Morrow H Whobrey1004France2024-06-11
Faith P Ferencz1005France2024-05-28
Nicolas W Whobrey1006Italy2024-06-12
Jones Q Saylors1007Japan2024-05-24
Kaitlin E Saylors1008Russia2024-05-29
Aika N Oldroyd1009Spain2024-06-10
Smith N Rim1010Australia2024-05-24
Izzy Y Briddick1011Germany2024-06-14
Misaki K Glick1012Australia2024-06-15
Costa O Figeroa1013Japan2024-05-24
Mayumi M Royster1014Argentina2024-06-01
Silvio L Figeroa1015Brazil2024-06-11
Cody D Ruta1016Spain2024-06-13
Ricardo C Iturbide1017Canada2024-06-12
Smith C Chui1018India2024-05-23
Antonio S Kusko1019Canada2024-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci D WieserBrazilIvan Magalhaes PROPOSAL
Chavez B RoysterItalyOnyama Limba NEGOTIATION
Costa R MorascaArgentinaAmy Elsner NEW
Maria J RimArgentinaStephen Shaw NEGOTIATION
Sinclair M SaylorsIndiaStephen Shaw NEW
Octavia H PaprockiAustraliaXuxue Feng PROPOSAL
Munro W NestleArgentinaElwin Sharvill NEGOTIATION
Wickens N BriddickCanadaXuxue Feng PROPOSAL
Stacey E MaletAustraliaBernardo Dominic RENEWAL
Claire V CaldareraGermanyStephen Shaw PROPOSAL
Jefferson P StockhamRussiaAsiya Javayant RENEWAL
Jennifer C FlosiGermanyAnna Fali QUALIFIED
Emily O RimFranceIvan Magalhaes PROPOSAL
Misaki A InouyeSpainXuxue Feng NEW
Tony N KuskoUnited KingdomAnna Fali NEW
Aika Z RoysterItalyOnyama Limba NEW
Jeanfrancois B BowleySpainAnna Fali QUALIFIED
Jefferson F BriddickSpainBernardo Dominic PROPOSAL
Jones Q OldroydIndiaXuxue Feng UNQUALIFIED
Deepesh R GillianUnited KingdomIvan Magalhaes QUALIFIED
Aditya L CampainGermanyElwin Sharvill PROPOSAL
Leja X MorascaIndiaAnna Fali NEGOTIATION
Emily G PaprockiGermanyAsiya Javayant PROPOSAL
Jeanfrancois X BowleyGermanyStephen Shaw PROPOSAL
Isabel I AlbaresIndiaElwin Sharvill NEGOTIATION
Arvin Y GlickItalyXuxue Feng RENEWAL
Chavez W MaletSpainIvan Magalhaes QUALIFIED
Ivar R SlusarskiRussiaIoni Bowcher UNQUALIFIED
Alejandro Z VenereBrazilBernardo Dominic QUALIFIED
Salvatore M WieserItalyAsiya Javayant QUALIFIED
Greenwood P CaudyIndiaStephen Shaw QUALIFIED
Isabel Z GlickFranceElwin Sharvill UNQUALIFIED
Isabel W VocelkaGermanyIoni Bowcher PROPOSAL
David A RimJapanOnyama Limba NEW
Rodrigues S GlickFranceAmy Elsner NEW
Johnson I WieserJapanAsiya Javayant UNQUALIFIED
Isabel S OldroydRussiaAnna Fali UNQUALIFIED
Isabel R AlbaresAustraliaAsiya Javayant NEGOTIATION
Jeanfrancois D ButtFranceBernardo Dominic RENEWAL
Mayumi O AmigonGermanyIoni Bowcher 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>