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
Alejandro L OldroydGermanyAsiya Javayant UNQUALIFIED
Mayumi J MacleadIndiaAnna Fali RENEWAL
Leon F AmigonRussiaBernardo Dominic NEGOTIATION
Ivar C PerinArgentinaElwin Sharvill RENEWAL
Octavia B RimIndiaStephen Shaw UNQUALIFIED
Misaki V MacleadArgentinaOnyama Limba PROPOSAL
Deepesh K KuskoAustraliaElwin Sharvill NEW
James K FerenczFranceBernardo Dominic NEGOTIATION
Misaki P OldroydIndiaAsiya Javayant RENEWAL
Francesco V ButtUnited KingdomAnna Fali RENEWAL
Isabel D ButtFranceAmy Elsner UNQUALIFIED
Wickens D DilliardArgentinaBernardo Dominic NEGOTIATION
Mayumi S NestleFranceAmy Elsner PROPOSAL
Juan G StockhamGermanyIoni Bowcher NEW
James Q NickaUnited KingdomXuxue Feng QUALIFIED
Cody Z FollerUnited KingdomStephen Shaw PROPOSAL
Rodrigues Z KuskoAustraliaIvan Magalhaes RENEWAL
Leja X PerinSpainIvan Magalhaes RENEWAL
Julie H RutaIndiaXuxue Feng UNQUALIFIED
Kadeem P DarakjyFranceElwin Sharvill RENEWAL
Costa M RutaUnited KingdomElwin Sharvill PROPOSAL
Leja Y AlbaresRussiaElwin Sharvill NEW
Antonio U PaprockiItalyIoni Bowcher PROPOSAL
Murillo Z ShinkoArgentinaAmy Elsner RENEWAL
Isabel A SaylorsJapanBernardo Dominic QUALIFIED
Izzy A OstroskyIndiaAmy Elsner QUALIFIED
Misaki M NestleJapanElwin Sharvill UNQUALIFIED
Jones H KolmetzBrazilAsiya Javayant NEGOTIATION
David D PoquetteGermanyAsiya Javayant NEGOTIATION
Jennifer C MaletItalyAmy Elsner NEW
Costa B VenereGermanyAmy Elsner UNQUALIFIED
Aditya J DoeBrazilAmy Elsner QUALIFIED
Smith S StensethUnited KingdomXuxue Feng PROPOSAL
Misaki H VenereRussiaAnna Fali NEW
Isabel Q MaletBrazilAmy Elsner NEGOTIATION
Aditya B GlickRussiaIoni Bowcher UNQUALIFIED
Claire E GauchoGermanyOnyama Limba NEGOTIATION
Mujtaba K AmigonUnited KingdomIoni Bowcher UNQUALIFIED
Rodrigues T VenereCanadaElwin Sharvill RENEWAL
Tony U RoysterAustraliaElwin Sharvill NEW
Murillo O BowleyIndiaAmy Elsner NEW
Juan P BowleyGermanyElwin Sharvill QUALIFIED
Adams A OstroskyItalyOnyama Limba NEGOTIATION
Arvin L MaletGermanyIoni Bowcher RENEWAL
Deepesh O ButtGermanyOnyama Limba NEW
Aditya V MorascaUnited KingdomIvan Magalhaes NEGOTIATION
James F PerinUnited KingdomAsiya Javayant UNQUALIFIED
Silvio V StockhamGermanyStephen Shaw PROPOSAL
Aditya N MaletUnited KingdomAmy Elsner UNQUALIFIED
Ashley O SchemmerJapanAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Cody S WieserFranceElwin Sharvill QUALIFIED
Smith E SlusarskiAustraliaAsiya Javayant PROPOSAL
Aruna V RoysterAustraliaAmy Elsner UNQUALIFIED
Juan B GillianGermanyIoni Bowcher UNQUALIFIED
Aika Q DoeRussiaIvan Magalhaes UNQUALIFIED
Juan D SlusarskiRussiaAnna Fali UNQUALIFIED
Julie A WhobreyAustraliaAsiya Javayant NEGOTIATION
Mujtaba K TollnerAustraliaElwin Sharvill QUALIFIED
Kadeem H MacleadGermanyIoni Bowcher NEW
Kadeem N OldroydSpainBernardo Dominic PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika Y WaycottBrazil2025-05-22Truhlar And Truhlar Attys QUALIFIED3Amy Elsner
1001Kadeem A WaycottFrance2025-06-01Chapman, Ross E Esq NEW9Amy Elsner
1002Maisha G CaldareraRussia2025-06-13Commercial Press PROPOSAL81Xuxue Feng
1003Stacey K NickaItaly2025-05-28Rousseaux, Michael Esq RENEWAL14Amy Elsner
1004Leja Y ChuiRussia2025-05-31Benton, John B Jr UNQUALIFIED25Ivan Magalhaes
1005Izzy W SergiUnited Kingdom2025-06-06Printing Dimensions NEGOTIATION34Anna Fali
1006Jefferson C SergiGermany2025-05-27Chanay, Jeffrey A Esq RENEWAL30Ioni Bowcher
1007Johnson N DilliardArgentina2025-05-18Rangoni Of Florence NEGOTIATION76Ivan Magalhaes
1008Cody Z ChuiGermany2025-05-23Feiner Bros UNQUALIFIED26Ivan Magalhaes
1009Aditya W RimJapan2025-05-26Buckley Miller Wright NEGOTIATION72Anna Fali
1010Julie V OldroydGermany2025-06-07Benton, John B Jr UNQUALIFIED48Xuxue Feng
1011Mujtaba P AlbaresFrance2025-05-27Feltz Printing Service QUALIFIED12Onyama Limba
1012Ivar A RoysterSpain2025-05-31Benton, John B Jr NEGOTIATION68Ioni Bowcher
1013Darci C FlosiIndia2025-06-02Feltz Printing Service RENEWAL35Xuxue Feng
1014Ricardo S ShinkoGermany2025-05-20Chemel, James L Cpa RENEWAL3Elwin Sharvill
1015Salvatore L WaycottGermany2025-06-02Chanay, Jeffrey A Esq PROPOSAL5Ivan Magalhaes
1016Smith S RulapaughSpain2025-06-03Feiner Bros QUALIFIED49Asiya Javayant
1017Wickens K SlusarskiGermany2025-06-06Morlong Associates NEW25Bernardo Dominic
1018Ashley Y DilliardUnited Kingdom2025-06-08Benton, John B Jr UNQUALIFIED4Amy Elsner
1019Wickens S CaldareraArgentina2025-06-09Feltz Printing Service QUALIFIED83Asiya Javayant
1020Jones O BowleyJapan2025-05-17Feltz Printing Service RENEWAL99Ioni Bowcher
1021Leja C PerinUnited Kingdom2025-05-26Feiner Bros NEGOTIATION84Amy Elsner
1022Izzy T WaycottItaly2025-06-07Rousseaux, Michael Esq UNQUALIFIED65Anna Fali
1023Misaki P FigeroaAustralia2025-05-22Chemel, James L Cpa QUALIFIED60Elwin Sharvill
1024Izzy Z VocelkaCanada2025-06-06Buckley Miller Wright NEGOTIATION59Ioni Bowcher
1025Isabel C PerinIndia2025-05-22Commercial Press NEGOTIATION92Anna Fali
1026Johnson N CaldareraIndia2025-05-20Feltz Printing Service RENEWAL71Ivan Magalhaes
1027David V AmigonGermany2025-06-14Chanay, Jeffrey A Esq NEGOTIATION97Stephen Shaw
1028Munro H BologniaJapan2025-05-26Buckley Miller Wright QUALIFIED97Xuxue Feng
1029Octavia B DarakjyItaly2025-06-11Rangoni Of Florence QUALIFIED58Ioni Bowcher
1030David C KolmetzUnited Kingdom2025-05-27Morlong Associates NEW22Amy Elsner
1031Emily N WaycottFrance2025-05-17Buckley Miller Wright PROPOSAL89Anna Fali
1032Smith V FigeroaJapan2025-05-19Feiner Bros UNQUALIFIED54Anna Fali
1033James I VocelkaRussia2025-05-21Buckley Miller Wright NEGOTIATION86Bernardo Dominic
1034Jennifer F VenereFrance2025-05-28Commercial Press NEW71Ivan Magalhaes
1035Francesco K ShinkoJapan2025-05-20Feiner Bros PROPOSAL2Elwin Sharvill
1036Francesco U StockhamUnited Kingdom2025-05-29Chanay, Jeffrey A Esq QUALIFIED96Anna Fali
1037Morrow K MorascaRussia2025-05-29Feltz Printing Service NEGOTIATION29Onyama Limba
1038Emily T GlickJapan2025-06-01Feiner Bros UNQUALIFIED32Elwin Sharvill
1039Chavez B NickaUnited Kingdom2025-05-30Printing Dimensions RENEWAL47Xuxue Feng
1040Jeanfrancois U GlickUnited Kingdom2025-06-11Printing Dimensions NEW13Elwin Sharvill
1041Izzy T BowleyGermany2025-06-09Rangoni Of Florence PROPOSAL65Bernardo Dominic
1042Johnson O FigeroaArgentina2025-05-17King, Christopher A Esq NEW73Elwin Sharvill
1043Faith K FigeroaArgentina2025-06-14Dorl, James J Esq RENEWAL73Bernardo Dominic
1044Maisha X GarufiFrance2025-05-29Chapman, Ross E Esq UNQUALIFIED99Elwin Sharvill
1045Aika I PerinItaly2025-06-05Buckley Miller Wright RENEWAL43Stephen Shaw
1046Costa W VocelkaItaly2025-05-19King, Christopher A Esq UNQUALIFIED85Elwin Sharvill
1047Sinclair I SergiRussia2025-06-01Commercial Press UNQUALIFIED71Bernardo Dominic
1048Francesco A MacleadArgentina2025-06-07Morlong Associates NEGOTIATION98Asiya Javayant
1049Rodrigues F MaletSpain2025-06-05Buckley Miller Wright RENEWAL32Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Sinclair D VenereSpainXuxue Feng QUALIFIED
Johnson E MaletGermanyBernardo Dominic UNQUALIFIED
James Q SlusarskiRussiaElwin Sharvill NEGOTIATION
Kadeem H ChuiAustraliaAsiya Javayant QUALIFIED
Maisha S CaldareraBrazilBernardo Dominic NEW
Morrow A PoquetteAustraliaAsiya Javayant UNQUALIFIED
Julie L PaprockiUnited KingdomIvan Magalhaes QUALIFIED
James T PoquetteAustraliaBernardo Dominic NEW
Ashley N StockhamFranceXuxue Feng NEGOTIATION
Rodrigues C WhobreyUnited KingdomAsiya Javayant UNQUALIFIED
Munro B StensethFranceXuxue Feng PROPOSAL
James R KolmetzAustraliaElwin Sharvill QUALIFIED
Mayumi A WaycottCanadaOnyama Limba QUALIFIED
Smith U RutaAustraliaStephen Shaw UNQUALIFIED
James P VenereBrazilBernardo Dominic NEGOTIATION
Arvin E PoquetteIndiaOnyama Limba PROPOSAL
Murillo P GauchoFranceIvan Magalhaes UNQUALIFIED
Morrow V PaprockiFranceIoni Bowcher RENEWAL
Morrow N VocelkaJapanBernardo Dominic NEW
Ivar O KuskoIndiaAnna Fali PROPOSAL
Mujtaba V NickaItalyXuxue Feng NEGOTIATION
Johnson C RulapaughItalyAnna Fali PROPOSAL
Chavez K ChuiIndiaAsiya Javayant NEW
Kaitlin R OstroskyGermanyBernardo Dominic PROPOSAL
Aditya E DilliardBrazilOnyama Limba NEW
Tony O KuskoJapanIoni Bowcher UNQUALIFIED
Adams B GauchoJapanStephen Shaw NEW
Cody W RulapaughUnited KingdomBernardo Dominic UNQUALIFIED
Ricardo N MacleadItalyIoni Bowcher NEGOTIATION
Claire K SergiBrazilElwin Sharvill RENEWAL
Ivar S GillianAustraliaIoni Bowcher QUALIFIED
Kadeem T RoysterAustraliaIoni Bowcher PROPOSAL
Darci X SchemmerArgentinaIoni Bowcher PROPOSAL
James M MorascaFranceAmy Elsner PROPOSAL
Leja U BriddickIndiaIoni Bowcher PROPOSAL
Izzy A InouyeIndiaXuxue Feng NEW
Tony H BologniaSpainStephen Shaw NEGOTIATION
Aika T VocelkaSpainIoni Bowcher RENEWAL
Sinclair T InouyeArgentinaIoni Bowcher UNQUALIFIED
Cody H OldroydUnited KingdomAnna Fali NEW
Misaki P CaldareraIndiaAnna Fali NEGOTIATION
David O GillianGermanyStephen Shaw RENEWAL
Clifford L MacleadGermanyXuxue Feng PROPOSAL
Isabel G InouyeJapanXuxue Feng PROPOSAL
Jeanfrancois E OldroydArgentinaXuxue Feng QUALIFIED
Arvin M RimAustraliaOnyama Limba QUALIFIED
Clifford U FlosiCanadaElwin Sharvill NEGOTIATION
Silvio L SchemmerGermanyIvan Magalhaes QUALIFIED
Chavez R WaycottUnited KingdomIoni Bowcher QUALIFIED
Clifford X DilliardJapanBernardo Dominic QUALIFIED
Frozen Columns
Name
Adams F Caldarera
Maisha V Saylors
Jeanfrancois P Malet
Chavez K Saylors
Isabel R Waycott
Smith F Glick
Cody L Caudy
Antonio T Perin
Kaitlin P Morasca
Aruna O Garufi
Arvin S Flosi
Arvin O Stenseth
Misaki D Ferencz
Tony L Albares
Smith M Darakjy
Chavez P Caudy
Morrow O Ferencz
Maisha G Foller
Leon W Wieser
Chavez D Venere
Salvatore P Slusarski
Arvin K Garufi
Aditya X Inouye
Wickens E Stenseth
Aditya D Perin
Claire Y Albares
Sinclair X Caudy
Ivar F Ferencz
Kadeem V Rim
Octavia Y Bowley
Octavia U Figeroa
Kaitlin X Royster
Arvin E Oldroyd
Murillo S Maclead
Maisha V Rulapaugh
Izzy X Bowley
Juan H Chui
Emily D Whobrey
Smith L Kolmetz
Juan N Maclead
Jones Z Morasca
Salvatore I Briddick
Kadeem E Malet
Emily Y Tollner
Faith E Chui
Mujtaba F Perin
Costa N Malet
Antonio J Schemmer
Ricardo Q Royster
Ivar C Rim
IdCountryDate
1000United Kingdom2025-05-24
1001Japan2025-06-12
1002United Kingdom2025-05-17
1003Spain2025-05-29
1004Germany2025-06-06
1005Brazil2025-06-04
1006Germany2025-05-20
1007Canada2025-05-20
1008Japan2025-05-30
1009Japan2025-05-31
1010Australia2025-05-29
1011Australia2025-06-02
1012Russia2025-06-06
1013Australia2025-06-04
1014India2025-05-25
1015Russia2025-05-27
1016Spain2025-06-10
1017Italy2025-06-07
1018Spain2025-05-31
1019Australia2025-05-27
1020Brazil2025-05-21
1021France2025-05-19
1022Brazil2025-05-20
1023France2025-05-29
1024Canada2025-06-07
1025Spain2025-05-31
1026Germany2025-05-23
1027Russia2025-06-11
1028Germany2025-05-22
1029Spain2025-05-21
1030Spain2025-06-13
1031United Kingdom2025-05-19
1032India2025-05-22
1033Spain2025-05-28
1034Russia2025-05-29
1035Russia2025-05-24
1036Italy2025-05-17
1037Russia2025-06-13
1038France2025-06-13
1039Germany2025-06-10
1040Russia2025-06-10
1041Japan2025-05-27
1042Germany2025-05-26
1043Brazil2025-05-19
1044Germany2025-06-09
1045Germany2025-06-03
1046India2025-05-19
1047United Kingdom2025-05-20
1048Canada2025-05-17
1049United Kingdom2025-05-28

On-Demand Data

NameIdCountryDate
Salvatore Q Slusarski1000Russia2025-05-18
Julie K Nicka1001United Kingdom2025-06-10
Izzy I Garufi1002Argentina2025-06-13
Aditya A Foller1003France2025-06-04
Munro O Shinko1004France2025-05-24
Aruna B Ostrosky1005Japan2025-06-15
Cody X Morasca1006Italy2025-05-18
Ricardo A Vocelka1007Japan2025-06-07
Kaitlin O Amigon1008Spain2025-06-06
Salvatore W Glick1009Spain2025-06-05
David E Nicka1010Brazil2025-06-05
Costa J Glick1011Australia2025-06-01
Salvatore D Figeroa1012United Kingdom2025-06-09
Adams O Rim1013Brazil2025-05-28
Smith A Stockham1014Germany2025-06-03
Emily M Schemmer1015Canada2025-06-14
Rodrigues T Kolmetz1016Argentina2025-05-24
Aditya W Wieser1017Spain2025-06-04
Greenwood X Bolognia1018Argentina2025-05-26
Faith P Saylors1019Australia2025-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams G IturbideGermanyAnna Fali RENEWAL
Darci B PaprockiFranceBernardo Dominic NEW
Adams O SergiUnited KingdomIoni Bowcher NEW
Alejandro I FollerRussiaIoni Bowcher NEGOTIATION
Costa M GlickSpainBernardo Dominic NEGOTIATION
Greenwood G SaylorsGermanyAmy Elsner NEGOTIATION
Chavez S OldroydBrazilStephen Shaw PROPOSAL
Munro F GarufiIndiaAnna Fali RENEWAL
Tony T RutaCanadaAmy Elsner QUALIFIED
Mayumi T SchemmerGermanyIoni Bowcher NEW
Leja Y OstroskyCanadaIvan Magalhaes UNQUALIFIED
Jeanfrancois N MaletBrazilAmy Elsner QUALIFIED
Darci E FerenczGermanyElwin Sharvill NEW
Costa I KolmetzSpainElwin Sharvill UNQUALIFIED
Claire Y TollnerRussiaAmy Elsner UNQUALIFIED
Ashley Y BowleyUnited KingdomAnna Fali UNQUALIFIED
Cody T CampainGermanyAnna Fali NEGOTIATION
Leja R BowleyAustraliaAnna Fali QUALIFIED
Claire O WhobreyAustraliaIvan Magalhaes NEGOTIATION
Greenwood K FigeroaGermanyAmy Elsner NEW
Aika I FerenczAustraliaBernardo Dominic RENEWAL
Francesco S BologniaRussiaIvan Magalhaes NEGOTIATION
Silvio I MarrierItalyIoni Bowcher NEW
Stacey U GarufiItalyIoni Bowcher NEGOTIATION
Sinclair R FerenczRussiaStephen Shaw RENEWAL
Mujtaba L DoeFranceElwin Sharvill UNQUALIFIED
Octavia Y KuskoBrazilAsiya Javayant NEW
Julie R AlbaresUnited KingdomBernardo Dominic NEW
Aruna J FerenczFranceIoni Bowcher NEW
Izzy C GillianFranceAsiya Javayant UNQUALIFIED
Jennifer G IturbideIndiaAnna Fali RENEWAL
Stacey O WaycottArgentinaBernardo Dominic UNQUALIFIED
Juan E RoysterUnited KingdomXuxue Feng PROPOSAL
Nicolas W DoeJapanOnyama Limba NEW
Clifford Y BriddickAustraliaBernardo Dominic RENEWAL
Ivar G RoysterItalyAmy Elsner UNQUALIFIED
Juan U MaletCanadaOnyama Limba QUALIFIED
Misaki S BologniaIndiaIvan Magalhaes NEW
Ivar R GauchoItalyAnna Fali UNQUALIFIED
Misaki K RulapaughSpainAsiya Javayant 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>