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
Mayumi Z NestleIndiaBernardo Dominic PROPOSAL
Francesco N CaudyCanadaIoni Bowcher QUALIFIED
Mayumi O GlickFranceAnna Fali NEW
Misaki B VocelkaUnited KingdomAnna Fali PROPOSAL
Morrow N ChuiIndiaIvan Magalhaes NEW
Octavia M RulapaughItalyElwin Sharvill UNQUALIFIED
Jones J DilliardJapanXuxue Feng QUALIFIED
Costa P AmigonIndiaIvan Magalhaes UNQUALIFIED
Leon N BologniaRussiaIoni Bowcher UNQUALIFIED
Jeanfrancois P WaycottUnited KingdomXuxue Feng PROPOSAL
Deepesh V GarufiItalyAsiya Javayant RENEWAL
Stacey R StensethArgentinaOnyama Limba QUALIFIED
Alejandro N RimArgentinaIvan Magalhaes NEGOTIATION
Maisha G AmigonSpainXuxue Feng RENEWAL
Juan N DilliardIndiaAmy Elsner NEGOTIATION
Chavez M SchemmerIndiaAsiya Javayant UNQUALIFIED
Adams Z GarufiUnited KingdomXuxue Feng RENEWAL
Munro M MarrierItalyAnna Fali UNQUALIFIED
Nicolas J AlbaresIndiaStephen Shaw NEW
Stacey S GlickSpainOnyama Limba UNQUALIFIED
Francesco V CaldareraGermanyBernardo Dominic QUALIFIED
Alejandro T SergiRussiaAmy Elsner NEW
Octavia O CampainAustraliaXuxue Feng QUALIFIED
Leja I GillianCanadaAnna Fali PROPOSAL
Deepesh H StensethBrazilXuxue Feng NEW
Octavia D FlosiCanadaAmy Elsner PROPOSAL
Deepesh C CampainIndiaOnyama Limba NEGOTIATION
Leon H TollnerGermanyIvan Magalhaes NEGOTIATION
Morrow G TollnerGermanyXuxue Feng NEGOTIATION
Antonio S StensethFranceXuxue Feng NEGOTIATION
Faith K GlickBrazilAmy Elsner UNQUALIFIED
Deepesh R PoquetteCanadaIvan Magalhaes UNQUALIFIED
Chavez V VenereIndiaXuxue Feng QUALIFIED
Isabel J VocelkaGermanyOnyama Limba NEGOTIATION
Ricardo O WieserSpainStephen Shaw RENEWAL
Chavez U KolmetzArgentinaIoni Bowcher QUALIFIED
Misaki U StockhamArgentinaAsiya Javayant RENEWAL
Deepesh K NestleIndiaStephen Shaw QUALIFIED
Izzy G RimGermanyAsiya Javayant UNQUALIFIED
Sinclair P FollerGermanyXuxue Feng UNQUALIFIED
James V BologniaCanadaIoni Bowcher NEW
Munro R AlbaresArgentinaIvan Magalhaes RENEWAL
Ricardo M OldroydBrazilElwin Sharvill UNQUALIFIED
Julie S SergiRussiaStephen Shaw PROPOSAL
Mayumi G FlosiGermanyIoni Bowcher UNQUALIFIED
Julie B AmigonAustraliaAnna Fali NEW
Arvin C RutaItalyXuxue Feng NEW
Aruna Y GlickIndiaBernardo Dominic UNQUALIFIED
Chavez A GillianItalyAmy Elsner RENEWAL
Darci N GlickUnited KingdomAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
James R OstroskyGermanyStephen Shaw UNQUALIFIED
Darci T WieserUnited KingdomAmy Elsner NEGOTIATION
Emily M CaldareraIndiaStephen Shaw QUALIFIED
Munro B IturbideGermanyAnna Fali PROPOSAL
Ivar W MarrierIndiaXuxue Feng NEW
Faith U InouyeIndiaXuxue Feng QUALIFIED
Julie Z KolmetzRussiaAmy Elsner RENEWAL
Greenwood Q FigeroaFranceIoni Bowcher UNQUALIFIED
Jennifer M ButtBrazilElwin Sharvill NEGOTIATION
Francesco H StensethUnited KingdomStephen Shaw UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Claire O DilliardRussia2024-06-16Buckley Miller Wright PROPOSAL48Bernardo Dominic
1001Murillo O CaldareraJapan2024-06-04Rousseaux, Michael Esq NEGOTIATION67Asiya Javayant
1002David Y MarrierUnited Kingdom2024-06-01Benton, John B Jr NEGOTIATION75Anna Fali
1003Clifford X AmigonIndia2024-06-04Commercial Press NEW90Onyama Limba
1004Cody H SaylorsRussia2024-06-05Feiner Bros RENEWAL73Anna Fali
1005Mujtaba C PoquetteBrazil2024-06-15Chapman, Ross E Esq UNQUALIFIED8Bernardo Dominic
1006Antonio D FerenczUnited Kingdom2024-06-08Feltz Printing Service UNQUALIFIED40Elwin Sharvill
1007Nicolas V VenereRussia2024-06-16Chapman, Ross E Esq QUALIFIED43Xuxue Feng
1008Izzy N ButtItaly2024-05-25Rangoni Of Florence PROPOSAL56Bernardo Dominic
1009Jones V FigeroaJapan2024-06-18Chanay, Jeffrey A Esq UNQUALIFIED7Anna Fali
1010Faith V MaletFrance2024-06-12King, Christopher A Esq RENEWAL91Ioni Bowcher
1011Antonio A KuskoArgentina2024-06-21Rangoni Of Florence NEW77Stephen Shaw
1012Jeanfrancois Y SlusarskiFrance2024-05-25King, Christopher A Esq UNQUALIFIED23Asiya Javayant
1013Morrow F KuskoJapan2024-06-15King, Christopher A Esq NEGOTIATION6Xuxue Feng
1014Mujtaba T NestleBrazil2024-06-06Rousseaux, Michael Esq NEGOTIATION30Xuxue Feng
1015Aika M IturbideArgentina2024-06-20Dorl, James J Esq NEGOTIATION30Bernardo Dominic
1016Francesco Z PoquetteCanada2024-05-26Feltz Printing Service QUALIFIED12Elwin Sharvill
1017Salvatore N SaylorsSpain2024-05-25Commercial Press UNQUALIFIED0Anna Fali
1018Salvatore Z WieserItaly2024-06-08Commercial Press NEW92Ivan Magalhaes
1019Clifford O WieserGermany2024-05-29Rangoni Of Florence QUALIFIED65Bernardo Dominic
1020Deepesh N RutaFrance2024-06-01Morlong Associates RENEWAL0Elwin Sharvill
1021Francesco C VenereItaly2024-06-03Morlong Associates RENEWAL72Asiya Javayant
1022Juan U MaletJapan2024-06-01Morlong Associates NEW35Elwin Sharvill
1023Maria N MacleadArgentina2024-06-02Chemel, James L Cpa UNQUALIFIED66Xuxue Feng
1024Leon I FigeroaUnited Kingdom2024-06-01Morlong Associates NEGOTIATION83Xuxue Feng
1025Greenwood P DilliardRussia2024-06-01Feiner Bros NEW70Amy Elsner
1026Antonio L StensethGermany2024-06-20Truhlar And Truhlar Attys PROPOSAL7Ioni Bowcher
1027Izzy C SchemmerArgentina2024-06-22Dorl, James J Esq PROPOSAL16Bernardo Dominic
1028Francesco X MacleadItaly2024-06-11King, Christopher A Esq NEGOTIATION74Stephen Shaw
1029Jones G ShinkoJapan2024-06-09Chanay, Jeffrey A Esq NEGOTIATION35Anna Fali
1030Alejandro Y RutaJapan2024-06-10Commercial Press QUALIFIED55Amy Elsner
1031Francesco Y FerenczCanada2024-05-30Benton, John B Jr NEGOTIATION0Ivan Magalhaes
1032Jones X WaycottSpain2024-06-03Printing Dimensions PROPOSAL3Stephen Shaw
1033Cody G AmigonFrance2024-06-05Feiner Bros UNQUALIFIED72Elwin Sharvill
1034Maria X CampainSpain2024-06-19Buckley Miller Wright NEW5Xuxue Feng
1035Emily H InouyeCanada2024-06-22Chapman, Ross E Esq PROPOSAL98Ioni Bowcher
1036Francesco H NickaRussia2024-06-05Truhlar And Truhlar Attys QUALIFIED61Bernardo Dominic
1037Morrow Y SlusarskiCanada2024-06-15Truhlar And Truhlar Attys RENEWAL18Elwin Sharvill
1038Francesco C OldroydAustralia2024-05-28Rousseaux, Michael Esq NEW62Stephen Shaw
1039Kaitlin J MarrierGermany2024-06-03Chemel, James L Cpa PROPOSAL60Stephen Shaw
1040Ivar I FlosiAustralia2024-05-30Commercial Press UNQUALIFIED56Onyama Limba
1041Cody A FollerSpain2024-06-20Benton, John B Jr QUALIFIED49Asiya Javayant
1042Sinclair A AlbaresJapan2024-06-18King, Christopher A Esq UNQUALIFIED65Onyama Limba
1043Aruna X MacleadCanada2024-05-31King, Christopher A Esq RENEWAL10Amy Elsner
1044Ivar D WhobreyGermany2024-06-12Dorl, James J Esq UNQUALIFIED25Elwin Sharvill
1045Faith T IturbideGermany2024-06-03Buckley Miller Wright NEGOTIATION83Elwin Sharvill
1046David W CampainGermany2024-06-22Benton, John B Jr RENEWAL95Stephen Shaw
1047Ricardo R BologniaUnited Kingdom2024-06-20Dorl, James J Esq NEW7Xuxue Feng
1048Rodrigues N VocelkaCanada2024-06-22Commercial Press RENEWAL45Ioni Bowcher
1049Kadeem F TollnerGermany2024-06-18King, Christopher A Esq PROPOSAL24Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues R MarrierSpainIoni Bowcher RENEWAL
Aika B BowleyRussiaAsiya Javayant NEGOTIATION
Jefferson D WaycottCanadaElwin Sharvill RENEWAL
Deepesh H CaldareraIndiaBernardo Dominic UNQUALIFIED
Maisha W RulapaughUnited KingdomIvan Magalhaes UNQUALIFIED
Leon C KuskoCanadaIvan Magalhaes NEW
Sinclair A WieserSpainStephen Shaw QUALIFIED
Greenwood O FollerUnited KingdomAnna Fali QUALIFIED
Faith D RoysterCanadaXuxue Feng RENEWAL
Cody E CaldareraArgentinaOnyama Limba NEW
Sinclair Z CaudyItalyAmy Elsner UNQUALIFIED
Jennifer R TollnerIndiaOnyama Limba PROPOSAL
Aika V CaudyIndiaElwin Sharvill UNQUALIFIED
Maria Y GlickCanadaIoni Bowcher UNQUALIFIED
Wickens Y RoysterBrazilStephen Shaw PROPOSAL
Morrow R StensethItalyBernardo Dominic UNQUALIFIED
James I WieserAustraliaOnyama Limba NEGOTIATION
Claire F OldroydIndiaIvan Magalhaes UNQUALIFIED
Aruna O RutaUnited KingdomAmy Elsner NEGOTIATION
Costa M StockhamJapanIoni Bowcher UNQUALIFIED
Smith Y TollnerBrazilIoni Bowcher QUALIFIED
Claire P BologniaBrazilOnyama Limba PROPOSAL
Mayumi O SchemmerGermanyAsiya Javayant PROPOSAL
Kadeem A WhobreyBrazilElwin Sharvill PROPOSAL
Adams C DoeCanadaIoni Bowcher NEW
Sinclair U RimItalyIoni Bowcher UNQUALIFIED
Tony R VocelkaRussiaIoni Bowcher UNQUALIFIED
David Y PoquetteArgentinaIvan Magalhaes RENEWAL
Silvio M NickaFranceAmy Elsner QUALIFIED
Leon E PaprockiAustraliaStephen Shaw QUALIFIED
Misaki J MorascaCanadaOnyama Limba RENEWAL
Faith Q PerinSpainBernardo Dominic NEGOTIATION
Greenwood T SchemmerSpainBernardo Dominic NEGOTIATION
Arvin H StockhamUnited KingdomBernardo Dominic UNQUALIFIED
Faith A BriddickIndiaStephen Shaw UNQUALIFIED
Smith U KuskoUnited KingdomAmy Elsner UNQUALIFIED
Chavez P TollnerArgentinaBernardo Dominic NEW
Aditya N MaletIndiaAsiya Javayant UNQUALIFIED
Morrow V AmigonRussiaOnyama Limba UNQUALIFIED
Morrow F AlbaresAustraliaBernardo Dominic UNQUALIFIED
Aditya S OldroydIndiaBernardo Dominic QUALIFIED
Murillo W PoquetteCanadaAmy Elsner NEW
Ricardo X WaycottArgentinaAmy Elsner NEGOTIATION
Izzy D AmigonRussiaBernardo Dominic NEW
Alejandro V SlusarskiUnited KingdomElwin Sharvill UNQUALIFIED
Octavia X FlosiArgentinaIoni Bowcher UNQUALIFIED
Juan L PerinBrazilIoni Bowcher NEW
Ashley J TollnerGermanyAnna Fali UNQUALIFIED
Leja H InouyeJapanOnyama Limba NEW
Leon D GarufiSpainAsiya Javayant QUALIFIED
Frozen Columns
Name
Jennifer D Venere
Murillo F Kolmetz
Jennifer H Doe
Aditya D Whobrey
Greenwood B Stenseth
Jennifer O Foller
Tony N Paprocki
Johnson E Malet
Chavez R Ruta
Cody Q Stockham
Clifford U Stenseth
Aika X Butt
Munro T Dilliard
Wickens L Glick
Ivar N Oldroyd
Ashley T Albares
Sinclair K Dilliard
Darci G Campain
Francesco M Ostrosky
Ivar U Chui
Leja G Amigon
Misaki T Paprocki
Adams N Morasca
Octavia N Nicka
Juan X Campain
Aruna N Inouye
Salvatore E Rulapaugh
Salvatore V Vocelka
Greenwood I Dilliard
Murillo G Slusarski
Ivar X Malet
Leja Y Malet
Juan R Vocelka
Aika B Poquette
Sinclair I Marrier
Smith J Doe
Silvio L Saylors
Kadeem Y Royster
Maria Z Whobrey
Emily Y Darakjy
Ivar H Ferencz
Silvio O Briddick
David J Butt
Jefferson Z Iturbide
Darci B Rim
Claire Q Caudy
Maria T Oldroyd
Faith Z Stenseth
Juan J Inouye
Ricardo D Gillian
IdCountryDate
1000Japan2024-05-25
1001Spain2024-06-12
1002Australia2024-06-17
1003Brazil2024-06-22
1004Australia2024-06-01
1005India2024-06-05
1006Spain2024-05-31
1007Italy2024-06-18
1008Italy2024-05-27
1009Brazil2024-06-10
1010France2024-05-26
1011Germany2024-05-31
1012United Kingdom2024-06-18
1013India2024-05-24
1014Spain2024-06-14
1015Germany2024-06-09
1016Australia2024-06-05
1017Japan2024-06-01
1018Germany2024-06-21
1019Italy2024-06-06
1020India2024-06-20
1021Russia2024-05-28
1022United Kingdom2024-05-28
1023France2024-06-08
1024Brazil2024-05-28
1025Spain2024-06-11
1026Russia2024-06-12
1027Italy2024-05-25
1028France2024-06-08
1029Russia2024-06-03
1030Canada2024-06-07
1031Australia2024-06-03
1032Italy2024-06-02
1033Spain2024-05-30
1034Canada2024-06-03
1035United Kingdom2024-06-07
1036Australia2024-05-24
1037Spain2024-06-21
1038Japan2024-06-11
1039Italy2024-05-31
1040Canada2024-06-18
1041Germany2024-05-27
1042Germany2024-06-03
1043Italy2024-05-27
1044Russia2024-06-19
1045Japan2024-06-17
1046Germany2024-06-06
1047Italy2024-05-28
1048Australia2024-06-10
1049Canada2024-06-11

On-Demand Data

NameIdCountryDate
Chavez X Ostrosky1000United Kingdom2024-06-16
Deepesh E Maclead1001United Kingdom2024-05-27
Chavez F Chui1002France2024-05-27
Kaitlin F Sergi1003India2024-06-15
Mujtaba Z Doe1004United Kingdom2024-06-09
Morrow K Dilliard1005Australia2024-06-12
Johnson P Gaucho1006Australia2024-06-17
Darci V Vocelka1007Italy2024-06-20
Francesco B Glick1008Canada2024-05-28
Claire Y Garufi1009United Kingdom2024-06-14
Octavia H Paprocki1010Brazil2024-06-08
Greenwood X Darakjy1011Spain2024-06-14
Mayumi H Vocelka1012Canada2024-06-08
Morrow Q Foller1013Argentina2024-06-03
Maria X Wieser1014France2024-06-12
Octavia G Ferencz1015France2024-06-17
Isabel I Gaucho1016United Kingdom2024-06-06
Arvin H Iturbide1017Russia2024-06-15
Leon Z Waycott1018Spain2024-06-07
Maisha X Flosi1019Japan2024-06-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford G StockhamAustraliaIvan Magalhaes UNQUALIFIED
Tony F FigeroaGermanyAnna Fali PROPOSAL
Kaitlin R RimArgentinaAmy Elsner RENEWAL
Maria W GauchoIndiaStephen Shaw PROPOSAL
Greenwood Z OldroydUnited KingdomAmy Elsner RENEWAL
Jones I RoysterItalyStephen Shaw NEGOTIATION
Kaitlin N InouyeArgentinaOnyama Limba NEGOTIATION
Deepesh B DilliardIndiaBernardo Dominic PROPOSAL
Leon X WieserSpainIoni Bowcher NEGOTIATION
Stacey S MaletIndiaAsiya Javayant RENEWAL
Misaki M PaprockiJapanStephen Shaw PROPOSAL
James L BriddickArgentinaAmy Elsner RENEWAL
Johnson P VocelkaJapanXuxue Feng UNQUALIFIED
Jefferson C SaylorsUnited KingdomBernardo Dominic QUALIFIED
Leon B DoeArgentinaIvan Magalhaes QUALIFIED
Emily S FerenczItalyIoni Bowcher PROPOSAL
Jennifer V NestleAustraliaElwin Sharvill NEGOTIATION
Morrow V PerinAustraliaIvan Magalhaes UNQUALIFIED
Adams J StensethFranceBernardo Dominic PROPOSAL
Faith E DarakjyBrazilBernardo Dominic RENEWAL
Murillo M SlusarskiRussiaAnna Fali NEW
Jennifer Y ChuiBrazilIvan Magalhaes UNQUALIFIED
Tony H PerinItalyIvan Magalhaes PROPOSAL
Darci I MaletRussiaOnyama Limba PROPOSAL
Wickens V OstroskyItalyBernardo Dominic NEW
Rodrigues O BologniaUnited KingdomIoni Bowcher RENEWAL
Emily T TollnerBrazilOnyama Limba UNQUALIFIED
Aika W NestleAustraliaStephen Shaw RENEWAL
Alejandro Q MaletIndiaBernardo Dominic NEGOTIATION
Clifford X ChuiCanadaAmy Elsner QUALIFIED
Greenwood H OstroskyBrazilIvan Magalhaes UNQUALIFIED
Jones V DarakjyRussiaXuxue Feng PROPOSAL
Sinclair F ShinkoAustraliaAmy Elsner NEW
Wickens K PoquetteRussiaElwin Sharvill PROPOSAL
Johnson E DilliardArgentinaOnyama Limba PROPOSAL
Aditya P FollerGermanyXuxue Feng RENEWAL
Arvin E PoquetteRussiaIoni Bowcher RENEWAL
Adams B SlusarskiAustraliaAmy Elsner PROPOSAL
Rodrigues Y VocelkaGermanyXuxue Feng QUALIFIED
Murillo P CaldareraSpainOnyama Limba 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>