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
Darci C NickaAustraliaAmy Elsner QUALIFIED
Chavez N RoysterSpainElwin Sharvill NEGOTIATION
Antonio W BologniaUnited KingdomStephen Shaw NEGOTIATION
Silvio O WieserIndiaBernardo Dominic QUALIFIED
Morrow R NestleAustraliaElwin Sharvill UNQUALIFIED
Ricardo E VenereBrazilIoni Bowcher PROPOSAL
Jones E TollnerAustraliaAmy Elsner NEGOTIATION
Aditya Y MarrierItalyOnyama Limba RENEWAL
Julie A RoysterGermanyXuxue Feng NEGOTIATION
Emily Y SchemmerRussiaAmy Elsner NEW
Tony G FlosiGermanyAsiya Javayant QUALIFIED
Leon H FigeroaAustraliaAnna Fali PROPOSAL
Johnson G InouyeItalyIoni Bowcher PROPOSAL
Claire K ShinkoJapanElwin Sharvill NEGOTIATION
Sinclair Q StockhamSpainElwin Sharvill PROPOSAL
Stacey B FerenczJapanAsiya Javayant QUALIFIED
Emily V MarrierAustraliaStephen Shaw PROPOSAL
Chavez K ButtGermanyAsiya Javayant NEW
Darci L SaylorsItalyElwin Sharvill RENEWAL
Rodrigues J CaudyItalyBernardo Dominic NEGOTIATION
Juan J PoquetteIndiaIvan Magalhaes PROPOSAL
Sinclair U CaudySpainXuxue Feng QUALIFIED
Cody L VocelkaUnited KingdomAsiya Javayant UNQUALIFIED
Cody F CaudyIndiaAsiya Javayant RENEWAL
Misaki R VenereSpainBernardo Dominic NEW
Misaki T BologniaRussiaElwin Sharvill QUALIFIED
Aika S RutaArgentinaOnyama Limba UNQUALIFIED
Maria N MorascaRussiaXuxue Feng RENEWAL
Ricardo H ButtBrazilElwin Sharvill NEGOTIATION
Aditya K StockhamBrazilIvan Magalhaes QUALIFIED
Ashley G SchemmerCanadaElwin Sharvill UNQUALIFIED
Morrow X CaudyGermanyOnyama Limba QUALIFIED
Jefferson Z InouyeRussiaElwin Sharvill UNQUALIFIED
Wickens Y GillianAustraliaXuxue Feng RENEWAL
Jennifer U ButtArgentinaOnyama Limba NEW
Smith V IturbideGermanyIoni Bowcher NEW
Emily W FlosiFranceElwin Sharvill QUALIFIED
David K KolmetzSpainBernardo Dominic PROPOSAL
Jeanfrancois L PoquetteItalyAnna Fali NEW
Jeanfrancois M RoysterItalyAmy Elsner UNQUALIFIED
Stacey E ChuiFranceBernardo Dominic PROPOSAL
Morrow Q PerinIndiaStephen Shaw UNQUALIFIED
Ashley X RimRussiaIoni Bowcher PROPOSAL
Ashley V FerenczJapanBernardo Dominic RENEWAL
Aika X GauchoJapanXuxue Feng PROPOSAL
Wickens B CampainAustraliaXuxue Feng NEW
Clifford U BriddickJapanAsiya Javayant UNQUALIFIED
Costa B BologniaSpainOnyama Limba NEGOTIATION
Greenwood M PoquetteBrazilOnyama Limba UNQUALIFIED
Alejandro F VocelkaBrazilStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Juan O RimItalyAmy Elsner NEW
Leon D DarakjyGermanyOnyama Limba QUALIFIED
Mayumi B RulapaughItalyIoni Bowcher NEGOTIATION
Smith H OldroydArgentinaOnyama Limba RENEWAL
Francesco I ShinkoArgentinaAsiya Javayant UNQUALIFIED
Izzy P GarufiRussiaIvan Magalhaes PROPOSAL
Cody W DoeAustraliaAsiya Javayant QUALIFIED
Wickens F DilliardRussiaStephen Shaw PROPOSAL
Faith X StockhamAustraliaIvan Magalhaes PROPOSAL
Aika I MorascaIndiaIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James J WieserBrazil2024-11-16Commercial Press PROPOSAL35Ivan Magalhaes
1001Greenwood K KuskoSpain2024-11-08Printing Dimensions NEW50Ivan Magalhaes
1002Ashley J CaudyCanada2024-10-28Commercial Press NEGOTIATION53Elwin Sharvill
1003Leja E CaudyArgentina2024-11-07Benton, John B Jr NEGOTIATION81Onyama Limba
1004Maisha J TollnerBrazil2024-11-02Printing Dimensions UNQUALIFIED68Bernardo Dominic
1005Sinclair Q PerinItaly2024-10-29Benton, John B Jr NEW49Ioni Bowcher
1006Tony G BowleyFrance2024-11-17Chapman, Ross E Esq PROPOSAL75Anna Fali
1007Faith T BologniaIndia2024-10-25Commercial Press UNQUALIFIED2Onyama Limba
1008Maisha G ChuiIndia2024-10-29Dorl, James J Esq RENEWAL38Xuxue Feng
1009Deepesh E GarufiSpain2024-10-23Chanay, Jeffrey A Esq UNQUALIFIED92Anna Fali
1010Sinclair G OstroskyJapan2024-11-01Feiner Bros NEGOTIATION77Ioni Bowcher
1011Costa V MarrierGermany2024-10-25Commercial Press PROPOSAL47Xuxue Feng
1012Wickens D MacleadJapan2024-10-27Morlong Associates RENEWAL73Asiya Javayant
1013Jefferson Y MarrierFrance2024-11-12Dorl, James J Esq UNQUALIFIED57Anna Fali
1014Aditya Q WaycottJapan2024-11-06Morlong Associates NEW80Stephen Shaw
1015Munro L StensethCanada2024-10-21Benton, John B Jr RENEWAL40Xuxue Feng
1016Smith J BowleyUnited Kingdom2024-11-01Chanay, Jeffrey A Esq QUALIFIED51Xuxue Feng
1017Jefferson D KolmetzCanada2024-11-13Dorl, James J Esq RENEWAL48Stephen Shaw
1018Francesco X CaudyItaly2024-10-24Buckley Miller Wright PROPOSAL56Amy Elsner
1019Jones Y FollerJapan2024-11-03Chapman, Ross E Esq UNQUALIFIED89Asiya Javayant
1020David I MarrierUnited Kingdom2024-11-05Chemel, James L Cpa QUALIFIED17Onyama Limba
1021Emily T WhobreyGermany2024-10-31King, Christopher A Esq RENEWAL47Asiya Javayant
1022Maria V WaycottArgentina2024-11-14Morlong Associates QUALIFIED11Xuxue Feng
1023Aruna V OstroskyRussia2024-11-15Truhlar And Truhlar Attys NEW85Amy Elsner
1024Misaki X StensethBrazil2024-11-11Printing Dimensions UNQUALIFIED54Asiya Javayant
1025Munro Z MaletFrance2024-11-07Printing Dimensions UNQUALIFIED18Amy Elsner
1026Isabel U PerinBrazil2024-10-25Commercial Press NEGOTIATION23Anna Fali
1027Munro S GillianArgentina2024-11-03King, Christopher A Esq NEGOTIATION77Stephen Shaw
1028Morrow L ChuiRussia2024-10-29Commercial Press PROPOSAL18Xuxue Feng
1029Maisha C CaudySpain2024-10-27Feiner Bros NEW70Bernardo Dominic
1030Kaitlin C FerenczAustralia2024-10-23Benton, John B Jr NEW25Amy Elsner
1031Ashley E InouyeJapan2024-11-14Rousseaux, Michael Esq RENEWAL3Stephen Shaw
1032Silvio S PerinRussia2024-10-30Commercial Press NEW6Xuxue Feng
1033Maria D MaletRussia2024-11-04Benton, John B Jr RENEWAL61Ivan Magalhaes
1034Leon R MorascaAustralia2024-11-06Chapman, Ross E Esq PROPOSAL67Onyama Limba
1035Jefferson J MorascaFrance2024-10-25Morlong Associates QUALIFIED2Elwin Sharvill
1036Maisha R AlbaresItaly2024-11-03Printing Dimensions UNQUALIFIED66Elwin Sharvill
1037Kaitlin U KuskoGermany2024-11-17Rousseaux, Michael Esq QUALIFIED84Asiya Javayant
1038Johnson H MacleadUnited Kingdom2024-10-30Chemel, James L Cpa NEW0Anna Fali
1039Claire H CaldareraJapan2024-11-02Printing Dimensions PROPOSAL12Ioni Bowcher
1040Munro M PaprockiUnited Kingdom2024-11-06Rousseaux, Michael Esq NEGOTIATION5Ioni Bowcher
1041Ricardo H PoquetteAustralia2024-11-05Printing Dimensions UNQUALIFIED81Stephen Shaw
1042Ashley E IturbideJapan2024-10-25Chanay, Jeffrey A Esq UNQUALIFIED64Asiya Javayant
1043Isabel R BriddickItaly2024-11-08Rangoni Of Florence QUALIFIED23Onyama Limba
1044Kadeem J BowleyGermany2024-10-30Chanay, Jeffrey A Esq RENEWAL72Bernardo Dominic
1045Antonio N FlosiIndia2024-10-23Benton, John B Jr UNQUALIFIED94Ioni Bowcher
1046Isabel K MacleadJapan2024-11-08Chanay, Jeffrey A Esq NEW21Stephen Shaw
1047Aruna P InouyeSpain2024-11-01Chapman, Ross E Esq PROPOSAL50Ioni Bowcher
1048Jennifer J FlosiIndia2024-10-29Rousseaux, Michael Esq RENEWAL23Ivan Magalhaes
1049Nicolas L GillianJapan2024-10-19Printing Dimensions NEGOTIATION0Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Aruna W GauchoItalyAnna Fali RENEWAL
Kaitlin T MarrierAustraliaOnyama Limba PROPOSAL
Aditya R CaldareraAustraliaIoni Bowcher NEGOTIATION
Sinclair R CaudyJapanAmy Elsner NEGOTIATION
Clifford H DoeFranceAnna Fali UNQUALIFIED
Antonio R MaletSpainOnyama Limba NEGOTIATION
Costa I CaudyArgentinaElwin Sharvill UNQUALIFIED
Ashley J BologniaArgentinaAmy Elsner PROPOSAL
Izzy C VenereFranceAnna Fali PROPOSAL
David G SchemmerSpainBernardo Dominic NEGOTIATION
James A DoeJapanIvan Magalhaes UNQUALIFIED
Nicolas B FerenczIndiaAsiya Javayant RENEWAL
Juan G CaudyIndiaAmy Elsner NEGOTIATION
Jennifer T CampainArgentinaStephen Shaw RENEWAL
Clifford X ShinkoIndiaElwin Sharvill UNQUALIFIED
Izzy D InouyeUnited KingdomStephen Shaw PROPOSAL
Adams D ButtRussiaAnna Fali QUALIFIED
Nicolas J BowleyUnited KingdomXuxue Feng PROPOSAL
Maisha V DilliardArgentinaAsiya Javayant NEGOTIATION
Smith P OstroskyItalyAnna Fali PROPOSAL
Aruna F PerinIndiaBernardo Dominic QUALIFIED
Kaitlin C PerinSpainXuxue Feng PROPOSAL
Chavez A MorascaRussiaIvan Magalhaes PROPOSAL
Jones A KolmetzSpainIoni Bowcher QUALIFIED
Ivar E StockhamIndiaIoni Bowcher QUALIFIED
Wickens S RimIndiaXuxue Feng NEGOTIATION
Julie H InouyeJapanIvan Magalhaes NEGOTIATION
Wickens O PaprockiAustraliaOnyama Limba UNQUALIFIED
Jefferson K CaudyGermanyElwin Sharvill RENEWAL
Francesco L ButtItalyIvan Magalhaes RENEWAL
Emily G TollnerItalyAnna Fali RENEWAL
Izzy O NestleCanadaAsiya Javayant NEW
Julie P DarakjyFranceAnna Fali RENEWAL
Johnson J BowleyArgentinaOnyama Limba PROPOSAL
Ivar B NestleArgentinaElwin Sharvill QUALIFIED
Antonio Q NestleCanadaAmy Elsner UNQUALIFIED
Ricardo O AmigonRussiaIvan Magalhaes PROPOSAL
Maria A SlusarskiIndiaIoni Bowcher UNQUALIFIED
Emily S RoysterRussiaAmy Elsner NEW
Smith W KolmetzUnited KingdomAnna Fali NEW
Mujtaba S TollnerFranceIoni Bowcher QUALIFIED
Izzy O GauchoItalyAmy Elsner RENEWAL
David C AlbaresGermanyIvan Magalhaes NEW
Ashley J GlickUnited KingdomXuxue Feng NEGOTIATION
James T DoeSpainBernardo Dominic UNQUALIFIED
Adams W RoysterBrazilBernardo Dominic RENEWAL
Jennifer Z AlbaresUnited KingdomAsiya Javayant PROPOSAL
Tony P GarufiItalyAnna Fali PROPOSAL
Aditya Q ShinkoItalyAnna Fali PROPOSAL
Smith F RoysterIndiaIvan Magalhaes NEW
Frozen Columns
Name
Silvio H Campain
Deepesh B Oldroyd
Aruna A Bolognia
Tony O Rulapaugh
Darci L Glick
Rodrigues S Foller
Morrow K Glick
Chavez O Briddick
Francesco M Bowley
Leon G Bolognia
Silvio G Rulapaugh
Ricardo P Amigon
Ashley X Doe
David U Darakjy
Tony P Kolmetz
Salvatore N Slusarski
Aditya H Ruta
Emily R Dilliard
Ashley Y Whobrey
Kaitlin M Venere
Maria C Nestle
Maisha Z Vocelka
Jefferson H Saylors
Sinclair C Wieser
Nicolas U Figeroa
Jennifer W Tollner
Deepesh K Malet
Nicolas Y Poquette
Rodrigues X Nestle
Ashley U Inouye
Aditya C Saylors
Rodrigues P Gillian
Jeanfrancois K Shinko
Claire N Waycott
Emily L Glick
Sinclair R Rulapaugh
Jennifer M Waycott
Isabel B Sergi
Julie Q Morasca
Salvatore W Butt
Leja J Shinko
Salvatore Q Caudy
Mujtaba S Nicka
Leon N Caudy
Silvio F Darakjy
Adams M Whobrey
Rodrigues W Poquette
Aruna Q Foller
Tony Y Paprocki
Izzy D Saylors
IdCountryDate
1000Brazil2024-10-24
1001Russia2024-11-13
1002Argentina2024-10-24
1003India2024-11-13
1004France2024-10-30
1005Canada2024-10-30
1006Canada2024-11-03
1007United Kingdom2024-11-03
1008Argentina2024-10-23
1009United Kingdom2024-10-30
1010Canada2024-11-06
1011Argentina2024-10-28
1012Canada2024-10-27
1013Russia2024-11-01
1014United Kingdom2024-10-27
1015Argentina2024-11-11
1016Russia2024-11-16
1017Argentina2024-11-09
1018Spain2024-11-15
1019Canada2024-11-04
1020Spain2024-11-03
1021France2024-11-02
1022Canada2024-10-30
1023Spain2024-10-31
1024Germany2024-10-29
1025Spain2024-10-26
1026Italy2024-10-22
1027India2024-11-02
1028Italy2024-11-14
1029India2024-10-20
1030Japan2024-11-04
1031Italy2024-10-20
1032Brazil2024-11-14
1033Japan2024-10-20
1034Brazil2024-10-27
1035Italy2024-11-14
1036Russia2024-10-21
1037Russia2024-10-31
1038Spain2024-10-30
1039United Kingdom2024-11-06
1040Russia2024-11-14
1041Australia2024-10-22
1042Australia2024-10-20
1043Italy2024-10-23
1044Japan2024-10-31
1045Brazil2024-11-05
1046Japan2024-10-26
1047Australia2024-11-12
1048France2024-11-03
1049Spain2024-11-03

On-Demand Data

NameIdCountryDate
Murillo Z Bolognia1000Argentina2024-10-19
Jeanfrancois C Malet1001Spain2024-10-26
Jefferson O Doe1002India2024-11-07
Isabel B Glick1003Australia2024-10-27
Jones K Kusko1004Italy2024-11-15
Ricardo W Campain1005Canada2024-11-10
Francesco A Marrier1006Russia2024-10-29
Aditya X Amigon1007Italy2024-11-14
Tony Z Sergi1008Italy2024-10-31
Greenwood G Schemmer1009Brazil2024-11-07
Rodrigues Q Garufi1010Brazil2024-10-19
Greenwood E Nicka1011United Kingdom2024-11-15
Deepesh R Flosi1012Brazil2024-11-06
Johnson J Gaucho1013Australia2024-11-09
Greenwood U Maclead1014Italy2024-10-22
Cody U Doe1015France2024-11-05
Jefferson M Vocelka1016Argentina2024-10-31
James Y Bolognia1017United Kingdom2024-10-20
Ricardo E Malet1018Australia2024-11-11
Leon G Albares1019Australia2024-10-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore A ChuiSpainElwin Sharvill NEW
Adams U KolmetzJapanAnna Fali NEW
Cody W NickaItalyAsiya Javayant PROPOSAL
Cody L DoeJapanBernardo Dominic RENEWAL
Ricardo S GarufiIndiaStephen Shaw RENEWAL
Isabel I KolmetzIndiaOnyama Limba RENEWAL
Octavia L InouyeUnited KingdomBernardo Dominic NEW
Francesco K CaudyAustraliaXuxue Feng QUALIFIED
Smith W VenereIndiaIoni Bowcher QUALIFIED
Sinclair V VocelkaIndiaAnna Fali PROPOSAL
Clifford W BowleyJapanAnna Fali PROPOSAL
David I StockhamRussiaElwin Sharvill UNQUALIFIED
Nicolas E NickaCanadaAnna Fali UNQUALIFIED
Isabel O RimUnited KingdomIoni Bowcher QUALIFIED
Jefferson X GlickFranceElwin Sharvill NEW
Jennifer A MaletRussiaElwin Sharvill UNQUALIFIED
Alejandro C SchemmerCanadaElwin Sharvill QUALIFIED
Francesco G WaycottUnited KingdomIoni Bowcher NEGOTIATION
James S AlbaresFranceAsiya Javayant RENEWAL
Ashley S InouyeArgentinaElwin Sharvill UNQUALIFIED
Deepesh G MaletIndiaAnna Fali RENEWAL
Octavia R FigeroaAustraliaXuxue Feng NEGOTIATION
Silvio T MacleadRussiaIoni Bowcher QUALIFIED
Mayumi W BriddickItalyAsiya Javayant RENEWAL
Darci U GarufiGermanyAnna Fali UNQUALIFIED
Silvio I DilliardItalyElwin Sharvill UNQUALIFIED
James D ButtUnited KingdomIoni Bowcher PROPOSAL
Jefferson Y ButtAustraliaAmy Elsner NEGOTIATION
Cody U PaprockiRussiaBernardo Dominic RENEWAL
Misaki P ChuiItalyAnna Fali UNQUALIFIED
Mujtaba X SaylorsJapanOnyama Limba QUALIFIED
Faith J CaldareraFranceIoni Bowcher NEW
Greenwood M FlosiGermanyAnna Fali UNQUALIFIED
Deepesh C ChuiCanadaAnna Fali PROPOSAL
Darci F RoysterCanadaIvan Magalhaes PROPOSAL
Mujtaba K VocelkaAustraliaIoni Bowcher UNQUALIFIED
Morrow X InouyeIndiaBernardo Dominic QUALIFIED
Aruna C SchemmerIndiaIoni Bowcher RENEWAL
Antonio N WaycottCanadaXuxue Feng PROPOSAL
Deepesh F FollerGermanyAsiya Javayant NEGOTIATION

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