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
Antonio C StockhamGermanyBernardo Dominic QUALIFIED
Jeanfrancois U GillianIndiaIvan Magalhaes PROPOSAL
Misaki B MaletBrazilAmy Elsner UNQUALIFIED
Greenwood L FerenczAustraliaStephen Shaw NEW
Greenwood R WieserRussiaAnna Fali NEGOTIATION
Murillo B FigeroaUnited KingdomAmy Elsner QUALIFIED
Faith T FollerItalyAsiya Javayant QUALIFIED
Mujtaba S FollerIndiaIoni Bowcher PROPOSAL
Cody J VenereCanadaBernardo Dominic UNQUALIFIED
Alejandro K SlusarskiSpainAmy Elsner PROPOSAL
Maria K AmigonIndiaElwin Sharvill PROPOSAL
Deepesh R BowleyBrazilAsiya Javayant RENEWAL
Munro F OstroskyRussiaAmy Elsner RENEWAL
Arvin U WieserCanadaAsiya Javayant UNQUALIFIED
Wickens U TollnerGermanyAsiya Javayant RENEWAL
Leon V FlosiArgentinaStephen Shaw RENEWAL
Izzy M SaylorsAustraliaIoni Bowcher NEGOTIATION
Costa L WhobreyBrazilIoni Bowcher NEW
Ivar D MaletSpainIoni Bowcher RENEWAL
Johnson B DarakjyBrazilOnyama Limba UNQUALIFIED
Leon V RimUnited KingdomStephen Shaw UNQUALIFIED
Ivar I ButtCanadaBernardo Dominic NEW
Aditya C GlickCanadaXuxue Feng NEGOTIATION
Maisha H MarrierFranceAnna Fali RENEWAL
Jennifer H WieserUnited KingdomIoni Bowcher PROPOSAL
James U AlbaresCanadaStephen Shaw RENEWAL
Leja A FollerBrazilIvan Magalhaes NEW
Ashley Y CampainItalyStephen Shaw RENEWAL
David U DilliardCanadaElwin Sharvill NEGOTIATION
Jennifer D BriddickJapanStephen Shaw PROPOSAL
Jones K WhobreyItalyAsiya Javayant UNQUALIFIED
Aruna O MacleadArgentinaOnyama Limba PROPOSAL
Kaitlin L CampainBrazilAmy Elsner NEGOTIATION
Deepesh Q BologniaFranceXuxue Feng PROPOSAL
Wickens U MarrierJapanAsiya Javayant NEW
Rodrigues W VenereItalyAnna Fali RENEWAL
Morrow V MaletBrazilIoni Bowcher RENEWAL
Morrow Z TollnerIndiaBernardo Dominic PROPOSAL
Clifford Q DoeRussiaIoni Bowcher QUALIFIED
Maria I GillianArgentinaOnyama Limba NEGOTIATION
Chavez D RoysterGermanyAnna Fali PROPOSAL
Mujtaba O NestleFranceAmy Elsner QUALIFIED
Izzy N ShinkoSpainXuxue Feng UNQUALIFIED
Leja O GlickIndiaOnyama Limba UNQUALIFIED
Leja Q DilliardArgentinaOnyama Limba NEGOTIATION
Claire O SlusarskiGermanyAnna Fali NEW
Nicolas K GlickIndiaIvan Magalhaes QUALIFIED
Faith T PaprockiAustraliaIvan Magalhaes RENEWAL
Maisha A MacleadUnited KingdomStephen Shaw QUALIFIED
Emily F VocelkaItalyAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Greenwood C AmigonIndiaXuxue Feng RENEWAL
Jeanfrancois A FollerUnited KingdomElwin Sharvill NEGOTIATION
Johnson K BologniaArgentinaBernardo Dominic NEW
Mujtaba E GauchoRussiaBernardo Dominic RENEWAL
Greenwood N DoeRussiaStephen Shaw RENEWAL
Silvio J BriddickRussiaIoni Bowcher NEW
Tony I GillianBrazilStephen Shaw NEW
Kadeem R FlosiUnited KingdomAsiya Javayant UNQUALIFIED
Johnson S SergiAustraliaStephen Shaw UNQUALIFIED
Alejandro H MarrierItalyXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow P RutaSpain2024-06-15Chemel, James L Cpa NEGOTIATION59Ioni Bowcher
1001Rodrigues M RoysterIndia2024-06-15Chanay, Jeffrey A Esq QUALIFIED94Elwin Sharvill
1002Antonio O CaudyAustralia2024-06-15Chanay, Jeffrey A Esq RENEWAL19Onyama Limba
1003Silvio Q OstroskyAustralia2024-05-27Rousseaux, Michael Esq NEGOTIATION10Onyama Limba
1004Antonio K VocelkaRussia2024-06-17Benton, John B Jr PROPOSAL0Onyama Limba
1005Izzy J KolmetzGermany2024-06-04Morlong Associates PROPOSAL71Ioni Bowcher
1006James S DoeBrazil2024-06-03Benton, John B Jr RENEWAL22Elwin Sharvill
1007Salvatore Y InouyeBrazil2024-06-05Dorl, James J Esq PROPOSAL38Ioni Bowcher
1008Maria P MaletBrazil2024-06-09King, Christopher A Esq NEGOTIATION7Stephen Shaw
1009Emily H FigeroaIndia2024-06-02Feltz Printing Service QUALIFIED61Onyama Limba
1010Maria U BriddickCanada2024-06-09Feiner Bros PROPOSAL79Asiya Javayant
1011Izzy G IturbideSpain2024-05-26Rousseaux, Michael Esq PROPOSAL53Asiya Javayant
1012Costa J VocelkaUnited Kingdom2024-06-19Feiner Bros NEGOTIATION7Amy Elsner
1013Emily Q BriddickUnited Kingdom2024-06-01Morlong Associates PROPOSAL6Ivan Magalhaes
1014Leja V DilliardSpain2024-05-28Benton, John B Jr NEW17Bernardo Dominic
1015David J SaylorsUnited Kingdom2024-06-08Morlong Associates UNQUALIFIED14Ioni Bowcher
1016Tony E DilliardGermany2024-05-25Chapman, Ross E Esq UNQUALIFIED71Asiya Javayant
1017Maisha S WaycottCanada2024-05-31Buckley Miller Wright NEGOTIATION30Ivan Magalhaes
1018Maisha P MacleadIndia2024-06-08Chanay, Jeffrey A Esq NEW84Amy Elsner
1019Aditya J WaycottBrazil2024-06-01Chanay, Jeffrey A Esq RENEWAL36Anna Fali
1020Ricardo R GarufiArgentina2024-06-22Benton, John B Jr RENEWAL32Elwin Sharvill
1021Emily H FollerCanada2024-06-21Rangoni Of Florence UNQUALIFIED21Elwin Sharvill
1022Izzy W GauchoAustralia2024-06-20Morlong Associates NEGOTIATION99Xuxue Feng
1023Julie O SergiGermany2024-06-04Feltz Printing Service QUALIFIED2Bernardo Dominic
1024Leon I PerinSpain2024-06-23Feltz Printing Service NEW52Stephen Shaw
1025Adams F WhobreyIndia2024-05-31Commercial Press NEW95Amy Elsner
1026Aditya F AlbaresBrazil2024-06-06Printing Dimensions NEW13Xuxue Feng
1027Ivar H CaudyUnited Kingdom2024-05-26Buckley Miller Wright NEW49Bernardo Dominic
1028Leja Z TollnerItaly2024-06-11Rangoni Of Florence PROPOSAL62Stephen Shaw
1029Claire E KuskoRussia2024-06-15Truhlar And Truhlar Attys QUALIFIED44Ivan Magalhaes
1030Silvio S SaylorsGermany2024-05-25Rousseaux, Michael Esq UNQUALIFIED91Elwin Sharvill
1031Jeanfrancois X RimAustralia2024-06-23Rousseaux, Michael Esq QUALIFIED93Elwin Sharvill
1032Darci Y DarakjyIndia2024-06-05Chanay, Jeffrey A Esq QUALIFIED49Ioni Bowcher
1033Morrow D GillianItaly2024-06-20Rangoni Of Florence NEGOTIATION3Elwin Sharvill
1034Juan H ShinkoFrance2024-06-15Truhlar And Truhlar Attys PROPOSAL31Stephen Shaw
1035Antonio E MorascaUnited Kingdom2024-05-25Benton, John B Jr QUALIFIED53Elwin Sharvill
1036Smith T BologniaUnited Kingdom2024-06-06Dorl, James J Esq RENEWAL63Ioni Bowcher
1037Sinclair H WieserAustralia2024-05-30Feiner Bros NEGOTIATION89Amy Elsner
1038Aruna T RoysterAustralia2024-06-17King, Christopher A Esq PROPOSAL60Amy Elsner
1039Ashley R KuskoIndia2024-06-23Commercial Press RENEWAL18Stephen Shaw
1040Julie P RimUnited Kingdom2024-05-30Feltz Printing Service UNQUALIFIED36Elwin Sharvill
1041Aruna U CaudyJapan2024-06-10Morlong Associates RENEWAL1Amy Elsner
1042Aika Y PaprockiGermany2024-06-16Truhlar And Truhlar Attys RENEWAL16Ioni Bowcher
1043Silvio K KolmetzRussia2024-06-17Buckley Miller Wright QUALIFIED72Anna Fali
1044Mayumi D GarufiFrance2024-06-01King, Christopher A Esq UNQUALIFIED0Asiya Javayant
1045Julie Y TollnerFrance2024-06-15Morlong Associates QUALIFIED5Asiya Javayant
1046Adams K VenereFrance2024-05-26Feltz Printing Service NEGOTIATION83Stephen Shaw
1047Ricardo B PaprockiIndia2024-06-13Morlong Associates UNQUALIFIED59Asiya Javayant
1048Jennifer Q VocelkaJapan2024-06-23Morlong Associates NEW9Amy Elsner
1049Wickens H NickaSpain2024-06-19Truhlar And Truhlar Attys PROPOSAL22Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Misaki R BologniaRussiaBernardo Dominic RENEWAL
Jones U DarakjySpainStephen Shaw PROPOSAL
Stacey X GlickAustraliaIvan Magalhaes UNQUALIFIED
Deepesh T IturbideSpainIvan Magalhaes NEW
Adams R SchemmerJapanOnyama Limba NEW
Munro M DilliardItalyAmy Elsner PROPOSAL
Adams D BowleyCanadaOnyama Limba RENEWAL
Sinclair Z DarakjyJapanAsiya Javayant QUALIFIED
Nicolas U FlosiCanadaBernardo Dominic RENEWAL
Murillo K MaletAustraliaElwin Sharvill RENEWAL
Silvio V MorascaUnited KingdomIoni Bowcher NEGOTIATION
Mujtaba Z ButtIndiaAmy Elsner QUALIFIED
Aruna S CaldareraArgentinaAmy Elsner NEW
Arvin Y GillianCanadaBernardo Dominic QUALIFIED
Wickens D FollerItalyElwin Sharvill PROPOSAL
Jefferson D BologniaJapanAsiya Javayant UNQUALIFIED
Maria N DilliardUnited KingdomElwin Sharvill UNQUALIFIED
Nicolas V RoysterJapanXuxue Feng UNQUALIFIED
Izzy Z FigeroaGermanyElwin Sharvill RENEWAL
Jeanfrancois H GarufiFranceOnyama Limba UNQUALIFIED
Nicolas J VocelkaUnited KingdomAnna Fali PROPOSAL
Ashley U RulapaughJapanXuxue Feng RENEWAL
Aruna Y VenereIndiaIoni Bowcher PROPOSAL
James I MorascaGermanyStephen Shaw RENEWAL
Jefferson T RulapaughCanadaIvan Magalhaes NEGOTIATION
Emily V StensethGermanyXuxue Feng PROPOSAL
Morrow Y DarakjyArgentinaXuxue Feng RENEWAL
Smith O BologniaAustraliaAmy Elsner UNQUALIFIED
Isabel E OldroydUnited KingdomIvan Magalhaes UNQUALIFIED
Tony Z OldroydUnited KingdomStephen Shaw NEW
Jeanfrancois T FigeroaItalyIvan Magalhaes QUALIFIED
Jeanfrancois Y PoquetteCanadaOnyama Limba NEGOTIATION
Antonio A DarakjyItalyOnyama Limba UNQUALIFIED
Aika K RoysterGermanyAsiya Javayant RENEWAL
Aruna G PoquetteArgentinaStephen Shaw QUALIFIED
Faith G MorascaCanadaAnna Fali NEGOTIATION
Misaki H PoquetteItalyXuxue Feng RENEWAL
Octavia D SlusarskiUnited KingdomAsiya Javayant PROPOSAL
Chavez S BriddickFranceAnna Fali RENEWAL
Cody P ShinkoArgentinaElwin Sharvill UNQUALIFIED
James D SchemmerUnited KingdomAnna Fali NEGOTIATION
Smith B CaldareraAustraliaOnyama Limba UNQUALIFIED
Murillo W KolmetzBrazilIoni Bowcher QUALIFIED
Mayumi K ButtSpainAmy Elsner NEW
Greenwood C MacleadIndiaXuxue Feng RENEWAL
Mayumi G DoeSpainStephen Shaw PROPOSAL
Misaki X OldroydBrazilIoni Bowcher NEW
Jeanfrancois H VocelkaUnited KingdomAnna Fali NEW
Octavia H SchemmerArgentinaAsiya Javayant UNQUALIFIED
Aika Y RoysterIndiaIvan Magalhaes RENEWAL
Frozen Columns
Name
Misaki G Sergi
Kaitlin C Ostrosky
Adams R Gaucho
Clifford B Stockham
Mayumi Y Malet
Jeanfrancois W Iturbide
Salvatore K Stenseth
Claire L Ferencz
Morrow D Amigon
Jefferson W Sergi
Sinclair L Marrier
Munro V Garufi
Antonio U Schemmer
Octavia P Inouye
Silvio T Albares
Darci L Marrier
Ashley Q Chui
Munro K Schemmer
Aika I Ostrosky
Aditya T Figeroa
Francesco N Rim
Greenwood K Shinko
James O Vocelka
Mujtaba E Perin
David S Doe
Cody K Morasca
Silvio U Foller
Maisha P Perin
Isabel Q Marrier
Jones J Royster
Wickens S Chui
Octavia D Slusarski
Tony W Schemmer
Mujtaba O Saylors
Claire S Malet
Francesco N Tollner
Cody X Stenseth
Greenwood G Shinko
Sinclair X Albares
Salvatore A Ostrosky
Jones E Darakjy
Nicolas Z Foller
Maria H Nicka
Smith B Shinko
Faith M Sergi
Aruna M Kolmetz
Jeanfrancois T Wieser
Misaki N Rim
Murillo B Poquette
Adams S Campain
IdCountryDate
1000France2024-05-28
1001Canada2024-06-04
1002Australia2024-06-17
1003Russia2024-05-25
1004France2024-05-29
1005Australia2024-06-11
1006Brazil2024-05-28
1007Brazil2024-06-18
1008Argentina2024-06-03
1009United Kingdom2024-05-29
1010Russia2024-05-30
1011Japan2024-06-18
1012France2024-05-25
1013Canada2024-05-27
1014Russia2024-06-14
1015Japan2024-05-25
1016France2024-06-20
1017Australia2024-05-25
1018Brazil2024-06-23
1019Russia2024-06-05
1020Canada2024-06-14
1021Argentina2024-05-31
1022Japan2024-06-10
1023Germany2024-06-07
1024Brazil2024-06-16
1025Canada2024-05-25
1026Germany2024-05-26
1027Australia2024-06-22
1028Canada2024-06-18
1029Brazil2024-06-22
1030Australia2024-05-30
1031Spain2024-06-17
1032Italy2024-06-11
1033United Kingdom2024-06-12
1034Germany2024-06-12
1035India2024-06-04
1036Japan2024-06-20
1037India2024-06-08
1038Australia2024-06-10
1039Germany2024-06-19
1040Russia2024-05-27
1041Brazil2024-06-14
1042France2024-06-09
1043Italy2024-05-27
1044Spain2024-06-02
1045Australia2024-06-22
1046Italy2024-05-25
1047Argentina2024-06-21
1048Australia2024-05-28
1049France2024-06-22

On-Demand Data

NameIdCountryDate
Chavez R Bolognia1000France2024-06-01
Aika Z Flosi1001Australia2024-06-09
Wickens P Maclead1002Italy2024-06-16
Leja Z Stockham1003Canada2024-06-12
Morrow S Garufi1004France2024-06-11
Faith Z Malet1005Japan2024-06-22
Wickens J Malet1006Spain2024-06-05
Nicolas F Figeroa1007Argentina2024-05-29
Murillo G Doe1008Spain2024-06-09
Ashley A Saylors1009India2024-05-25
Juan M Bolognia1010Canada2024-06-02
Aruna C Inouye1011Japan2024-05-29
Greenwood R Vocelka1012Argentina2024-05-31
Clifford Z Malet1013Spain2024-06-01
Clifford G Garufi1014Argentina2024-06-03
Emily J Stockham1015Japan2024-06-08
Ricardo W Chui1016United Kingdom2024-06-10
Kaitlin Z Saylors1017India2024-05-27
Maisha R Amigon1018India2024-06-15
Johnson H Campain1019France2024-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley L FlosiAustraliaAmy Elsner PROPOSAL
Deepesh B FlosiSpainAnna Fali NEW
Antonio T DilliardJapanElwin Sharvill NEW
Izzy C PerinItalyIvan Magalhaes NEGOTIATION
Aruna V DoeBrazilXuxue Feng UNQUALIFIED
Ivar D FigeroaJapanIoni Bowcher NEGOTIATION
Nicolas K MorascaJapanAsiya Javayant UNQUALIFIED
Alejandro E OldroydIndiaAsiya Javayant UNQUALIFIED
Kaitlin H FerenczArgentinaAmy Elsner RENEWAL
Morrow G CaldareraFranceAmy Elsner RENEWAL
Salvatore Z SaylorsJapanAnna Fali NEGOTIATION
Misaki F SaylorsIndiaAmy Elsner NEGOTIATION
Chavez A MorascaGermanyStephen Shaw RENEWAL
Claire H GlickBrazilBernardo Dominic QUALIFIED
Mujtaba D IturbideRussiaElwin Sharvill QUALIFIED
Francesco H RoysterItalyElwin Sharvill PROPOSAL
Jefferson U MaletRussiaStephen Shaw PROPOSAL
Costa U DarakjySpainIoni Bowcher RENEWAL
Faith U SergiBrazilStephen Shaw UNQUALIFIED
Ricardo O SlusarskiGermanyAmy Elsner RENEWAL
Cody V ButtRussiaIoni Bowcher QUALIFIED
Murillo P DoeSpainAmy Elsner QUALIFIED
Arvin F RulapaughCanadaBernardo Dominic PROPOSAL
Isabel H VenereJapanAsiya Javayant UNQUALIFIED
Smith G PoquetteAustraliaStephen Shaw QUALIFIED
Murillo F SchemmerJapanAnna Fali UNQUALIFIED
Ivar X SlusarskiItalyAmy Elsner RENEWAL
Kaitlin Y DilliardAustraliaStephen Shaw RENEWAL
Salvatore R CaldareraGermanyIvan Magalhaes PROPOSAL
Isabel G BologniaJapanXuxue Feng QUALIFIED
Aditya K InouyeGermanyBernardo Dominic NEGOTIATION
James G GlickAustraliaAsiya Javayant RENEWAL
Clifford F FerenczSpainAsiya Javayant NEGOTIATION
Johnson B KuskoUnited KingdomOnyama Limba PROPOSAL
Aditya T BologniaItalyElwin Sharvill RENEWAL
Darci J RulapaughAustraliaAnna Fali PROPOSAL
Salvatore C KolmetzUnited KingdomBernardo Dominic UNQUALIFIED
Isabel S NickaJapanIoni Bowcher QUALIFIED
Jennifer Q FlosiCanadaAnna Fali RENEWAL
Smith O GillianGermanyIoni Bowcher 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>