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
Isabel T FigeroaIndiaBernardo Dominic QUALIFIED
Mayumi R SergiRussiaOnyama Limba PROPOSAL
Wickens L BriddickBrazilXuxue Feng NEGOTIATION
Jefferson G SchemmerIndiaElwin Sharvill UNQUALIFIED
Mayumi Q RimRussiaAmy Elsner QUALIFIED
Aruna L BologniaIndiaOnyama Limba RENEWAL
Izzy S VenereSpainOnyama Limba QUALIFIED
David U FollerGermanyBernardo Dominic UNQUALIFIED
Mayumi V PerinRussiaAmy Elsner PROPOSAL
Kaitlin B FlosiArgentinaStephen Shaw PROPOSAL
Maisha X VocelkaBrazilIvan Magalhaes UNQUALIFIED
Aditya L MorascaSpainXuxue Feng RENEWAL
Ashley R CaldareraFranceOnyama Limba NEW
Jeanfrancois D DoeArgentinaOnyama Limba QUALIFIED
Mujtaba Z IturbideSpainIvan Magalhaes QUALIFIED
Jefferson X KolmetzAustraliaBernardo Dominic RENEWAL
James B MarrierJapanAsiya Javayant UNQUALIFIED
Nicolas V VenereAustraliaAnna Fali NEW
Octavia P PerinSpainAnna Fali NEW
Isabel Q SlusarskiUnited KingdomBernardo Dominic PROPOSAL
Maria W ShinkoUnited KingdomAsiya Javayant NEW
Sinclair E MaletIndiaXuxue Feng NEGOTIATION
Leon E DarakjyAustraliaElwin Sharvill NEW
Leja X DilliardJapanAnna Fali PROPOSAL
Faith H FerenczCanadaBernardo Dominic PROPOSAL
Salvatore A ShinkoBrazilBernardo Dominic NEGOTIATION
Mujtaba X CaldareraBrazilOnyama Limba RENEWAL
Octavia W FerenczItalyAsiya Javayant UNQUALIFIED
Smith P VocelkaAustraliaXuxue Feng PROPOSAL
Alejandro C AmigonBrazilStephen Shaw PROPOSAL
Kaitlin D NestleArgentinaAmy Elsner NEGOTIATION
Salvatore E FerenczItalyAnna Fali NEGOTIATION
Morrow A NickaRussiaBernardo Dominic UNQUALIFIED
Kadeem I KuskoAustraliaAnna Fali NEGOTIATION
Wickens P NestleJapanIoni Bowcher RENEWAL
Jeanfrancois J SergiUnited KingdomStephen Shaw QUALIFIED
Mujtaba R AlbaresJapanXuxue Feng UNQUALIFIED
Salvatore M MaletIndiaElwin Sharvill RENEWAL
Greenwood B InouyeRussiaXuxue Feng PROPOSAL
Silvio L GlickFranceXuxue Feng UNQUALIFIED
Maria T GillianIndiaXuxue Feng RENEWAL
Leon R DarakjyArgentinaAmy Elsner QUALIFIED
Darci P DarakjyAustraliaBernardo Dominic NEGOTIATION
Jeanfrancois H FigeroaGermanyXuxue Feng UNQUALIFIED
Juan Z ButtRussiaBernardo Dominic NEW
Ricardo V BowleyItalyIoni Bowcher RENEWAL
Alejandro A WhobreyJapanAmy Elsner UNQUALIFIED
Jennifer W ChuiRussiaXuxue Feng NEW
Arvin Z VocelkaIndiaAnna Fali QUALIFIED
Jefferson C NestleArgentinaIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Ricardo I MorascaIndiaAnna Fali QUALIFIED
Emily I FigeroaArgentinaAsiya Javayant QUALIFIED
Leon Q IturbideFranceStephen Shaw NEGOTIATION
Smith D PoquetteIndiaElwin Sharvill RENEWAL
David H AlbaresRussiaAmy Elsner NEW
Jeanfrancois H FlosiAustraliaBernardo Dominic NEGOTIATION
Leja J FollerSpainElwin Sharvill QUALIFIED
Wickens C SlusarskiCanadaStephen Shaw NEGOTIATION
Faith K ChuiIndiaAmy Elsner NEGOTIATION
Jennifer Y NickaAustraliaAmy Elsner QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin H ButtBrazil2024-05-28Rousseaux, Michael Esq PROPOSAL49Xuxue Feng
1001Chavez O InouyeJapan2024-06-22Commercial Press UNQUALIFIED6Bernardo Dominic
1002Ivar W MacleadUnited Kingdom2024-06-17Chanay, Jeffrey A Esq RENEWAL25Ioni Bowcher
1003Ivar X BriddickSpain2024-05-29King, Christopher A Esq NEW8Bernardo Dominic
1004Maisha A NestleRussia2024-06-18Benton, John B Jr RENEWAL15Ivan Magalhaes
1005Aruna I PoquetteAustralia2024-06-21Buckley Miller Wright NEGOTIATION31Anna Fali
1006Kaitlin A NestleBrazil2024-06-23Feiner Bros NEW27Asiya Javayant
1007Ricardo W FigeroaSpain2024-06-17Commercial Press NEGOTIATION59Bernardo Dominic
1008Aruna S ShinkoRussia2024-06-22Morlong Associates NEW70Amy Elsner
1009Claire A MaletIndia2024-06-16Dorl, James J Esq RENEWAL79Elwin Sharvill
1010Deepesh B GlickBrazil2024-06-11Buckley Miller Wright PROPOSAL0Amy Elsner
1011Kaitlin R ShinkoCanada2024-06-03Dorl, James J Esq NEW93Asiya Javayant
1012Adams C FollerItaly2024-05-26Morlong Associates NEW61Asiya Javayant
1013Rodrigues S WieserGermany2024-06-21Commercial Press NEGOTIATION92Ivan Magalhaes
1014Smith Y StockhamRussia2024-06-19Morlong Associates RENEWAL52Anna Fali
1015Mujtaba K RoysterItaly2024-06-14Chapman, Ross E Esq QUALIFIED23Bernardo Dominic
1016Deepesh U SchemmerAustralia2024-06-01Morlong Associates PROPOSAL97Xuxue Feng
1017Munro V VenereArgentina2024-06-11Morlong Associates RENEWAL70Asiya Javayant
1018Johnson I CaudySpain2024-06-21King, Christopher A Esq RENEWAL3Xuxue Feng
1019Francesco N WhobreyJapan2024-05-29Feiner Bros NEGOTIATION23Bernardo Dominic
1020Emily E DilliardAustralia2024-06-17Chemel, James L Cpa NEW73Ivan Magalhaes
1021Faith C BowleyRussia2024-06-21King, Christopher A Esq UNQUALIFIED79Ioni Bowcher
1022Adams F WieserBrazil2024-06-16Rousseaux, Michael Esq PROPOSAL81Anna Fali
1023Greenwood H SaylorsIndia2024-05-30Benton, John B Jr NEGOTIATION28Xuxue Feng
1024Cody V NickaGermany2024-06-11Chanay, Jeffrey A Esq UNQUALIFIED77Stephen Shaw
1025Cody H KuskoCanada2024-06-10Truhlar And Truhlar Attys NEW53Amy Elsner
1026Johnson P CaudyGermany2024-06-08Benton, John B Jr NEGOTIATION61Bernardo Dominic
1027Rodrigues P SaylorsGermany2024-05-27Chemel, James L Cpa RENEWAL22Elwin Sharvill
1028Claire B WaycottAustralia2024-06-08Feltz Printing Service NEW89Ivan Magalhaes
1029Munro Q PoquetteItaly2024-06-18Dorl, James J Esq UNQUALIFIED43Ivan Magalhaes
1030Mayumi X PaprockiUnited Kingdom2024-06-16Truhlar And Truhlar Attys NEW67Anna Fali
1031Antonio J FollerCanada2024-06-11Morlong Associates RENEWAL32Stephen Shaw
1032Jennifer K InouyeItaly2024-05-31Feiner Bros UNQUALIFIED96Ioni Bowcher
1033Chavez E SchemmerFrance2024-06-07Truhlar And Truhlar Attys NEW0Elwin Sharvill
1034Chavez D GillianSpain2024-06-19Chanay, Jeffrey A Esq QUALIFIED60Asiya Javayant
1035Jones F PaprockiItaly2024-06-23Rousseaux, Michael Esq PROPOSAL66Ioni Bowcher
1036Izzy C NickaCanada2024-06-16Rangoni Of Florence RENEWAL23Asiya Javayant
1037Claire Y ChuiArgentina2024-05-25Feiner Bros PROPOSAL74Anna Fali
1038Sinclair F MarrierItaly2024-06-21Rousseaux, Michael Esq NEW18Ivan Magalhaes
1039Jeanfrancois A FerenczSpain2024-06-15Dorl, James J Esq QUALIFIED43Elwin Sharvill
1040Deepesh Z DilliardJapan2024-06-19Rangoni Of Florence PROPOSAL51Bernardo Dominic
1041Juan J RulapaughSpain2024-05-26Rousseaux, Michael Esq NEGOTIATION92Bernardo Dominic
1042Faith D ChuiItaly2024-06-12Printing Dimensions NEW51Ivan Magalhaes
1043Ashley R MaletRussia2024-06-04Printing Dimensions PROPOSAL3Anna Fali
1044Jefferson U CampainFrance2024-06-01Morlong Associates QUALIFIED88Anna Fali
1045Wickens K SergiUnited Kingdom2024-05-26Morlong Associates NEW93Ioni Bowcher
1046Arvin U ChuiArgentina2024-06-17Chemel, James L Cpa UNQUALIFIED29Onyama Limba
1047Greenwood T MacleadCanada2024-06-17Buckley Miller Wright PROPOSAL8Anna Fali
1048Morrow L CampainAustralia2024-06-12Benton, John B Jr PROPOSAL81Onyama Limba
1049Octavia I RoysterArgentina2024-06-01Rangoni Of Florence NEGOTIATION39Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Murillo U IturbideItalyAnna Fali QUALIFIED
David I DarakjyItalyElwin Sharvill NEW
Costa Z PoquetteUnited KingdomIvan Magalhaes UNQUALIFIED
Ivar R GillianFranceIvan Magalhaes UNQUALIFIED
Francesco A StensethCanadaIoni Bowcher PROPOSAL
Kaitlin S FerenczRussiaStephen Shaw UNQUALIFIED
Mayumi Z ShinkoItalyAsiya Javayant RENEWAL
Nicolas B NestleAustraliaIoni Bowcher QUALIFIED
Jefferson G SchemmerItalyIoni Bowcher NEW
Cody S VocelkaUnited KingdomAsiya Javayant UNQUALIFIED
Cody F KolmetzJapanAnna Fali RENEWAL
Ricardo S FlosiRussiaIoni Bowcher NEW
Morrow S SergiAustraliaIvan Magalhaes PROPOSAL
Jefferson A PaprockiItalyAnna Fali PROPOSAL
Jefferson I PerinIndiaIoni Bowcher RENEWAL
Arvin I BowleyRussiaOnyama Limba UNQUALIFIED
Kaitlin E VenereAustraliaBernardo Dominic QUALIFIED
Aruna P TollnerItalyIvan Magalhaes RENEWAL
Claire O FigeroaAustraliaIvan Magalhaes RENEWAL
James B KolmetzFranceIoni Bowcher NEW
Faith V FollerArgentinaAmy Elsner NEW
Salvatore Y WaycottSpainStephen Shaw PROPOSAL
Ashley E RulapaughFranceStephen Shaw UNQUALIFIED
Julie I SchemmerAustraliaXuxue Feng NEGOTIATION
Claire Z DilliardBrazilAmy Elsner RENEWAL
Adams K ButtBrazilAmy Elsner QUALIFIED
Aditya G RutaBrazilElwin Sharvill NEGOTIATION
Ricardo N CaudyRussiaIoni Bowcher NEGOTIATION
Aika X FollerIndiaElwin Sharvill NEW
Faith S BowleyItalyAnna Fali QUALIFIED
Maisha I BologniaRussiaAsiya Javayant QUALIFIED
Jennifer G OldroydFranceStephen Shaw NEW
Aruna H VocelkaAustraliaOnyama Limba NEW
Jones P TollnerSpainOnyama Limba NEGOTIATION
Julie V ButtJapanStephen Shaw UNQUALIFIED
Deepesh Q OldroydBrazilAsiya Javayant UNQUALIFIED
Maria D VocelkaArgentinaAsiya Javayant UNQUALIFIED
Juan G GarufiAustraliaIoni Bowcher PROPOSAL
Jennifer J StockhamItalyAmy Elsner QUALIFIED
Arvin V MorascaSpainAsiya Javayant UNQUALIFIED
Nicolas A CaudyAustraliaAsiya Javayant NEGOTIATION
Stacey M FlosiUnited KingdomOnyama Limba UNQUALIFIED
Leon S SchemmerBrazilAsiya Javayant NEGOTIATION
Chavez C SchemmerAustraliaStephen Shaw PROPOSAL
Jennifer U DoeCanadaAmy Elsner NEGOTIATION
Johnson R FigeroaGermanyStephen Shaw PROPOSAL
Tony P DarakjyRussiaAsiya Javayant PROPOSAL
Leja C CaldareraCanadaAmy Elsner UNQUALIFIED
Cody W InouyeArgentinaAnna Fali NEGOTIATION
Nicolas O TollnerAustraliaElwin Sharvill NEW
Frozen Columns
Name
Jefferson U Saylors
Adams N Inouye
Greenwood O Foller
Adams Z Briddick
Aditya D Ostrosky
Salvatore A Rulapaugh
Johnson N Marrier
Tony R Oldroyd
Jeanfrancois W Wieser
Sinclair Y Sergi
Kaitlin D Rulapaugh
Jennifer R Rim
Alejandro B Albares
Jefferson H Stockham
Rodrigues E Bowley
Francesco B Poquette
Kaitlin X Gillian
Rodrigues X Maclead
Misaki H Campain
Darci O Rulapaugh
Arvin X Royster
Maria T Shinko
Jeanfrancois M Bowley
Darci Q Kolmetz
Mujtaba A Dilliard
Sinclair Q Figeroa
Francesco F Briddick
Misaki Y Saylors
Izzy Q Tollner
Claire V Ferencz
Kaitlin T Marrier
Darci E Kolmetz
Maisha G Vocelka
Arvin B Amigon
Deepesh X Nicka
Octavia W Stockham
James V Caldarera
Francesco O Saylors
Ricardo P Wieser
Morrow Q Bolognia
Clifford L Maclead
Jennifer N Maclead
Nicolas X Doe
Wickens B Saylors
Ivar M Perin
Deepesh I Doe
James M Perin
Jennifer C Campain
Maria V Dilliard
Juan Y Flosi
IdCountryDate
1000Germany2024-05-31
1001Argentina2024-06-19
1002Russia2024-06-04
1003Russia2024-06-05
1004Brazil2024-06-05
1005France2024-05-31
1006Argentina2024-06-17
1007Italy2024-05-29
1008India2024-06-05
1009Argentina2024-06-07
1010Spain2024-05-30
1011Argentina2024-06-12
1012Australia2024-06-18
1013Australia2024-05-29
1014Canada2024-05-25
1015Argentina2024-06-13
1016Italy2024-06-13
1017India2024-06-21
1018France2024-06-05
1019Italy2024-05-25
1020United Kingdom2024-06-16
1021United Kingdom2024-05-29
1022Russia2024-06-15
1023Italy2024-06-15
1024Italy2024-05-28
1025Italy2024-06-03
1026India2024-05-27
1027Argentina2024-06-20
1028Spain2024-06-18
1029France2024-06-01
1030Brazil2024-06-15
1031Germany2024-06-05
1032Brazil2024-06-18
1033Argentina2024-06-12
1034Germany2024-05-25
1035Canada2024-06-01
1036United Kingdom2024-06-23
1037Canada2024-06-14
1038Japan2024-06-12
1039Brazil2024-06-21
1040Australia2024-06-08
1041United Kingdom2024-06-03
1042Germany2024-06-21
1043Italy2024-06-17
1044Canada2024-06-10
1045Argentina2024-06-20
1046Argentina2024-06-06
1047Russia2024-06-09
1048Spain2024-05-31
1049Spain2024-06-14

On-Demand Data

NameIdCountryDate
Isabel O Kusko1000Canada2024-06-23
Munro E Stenseth1001Canada2024-06-14
Aika C Vocelka1002Russia2024-06-02
Munro A Poquette1003Australia2024-06-17
Antonio I Darakjy1004Italy2024-05-29
Jones Q Slusarski1005Germany2024-06-20
Munro I Dilliard1006Spain2024-05-30
Juan L Bolognia1007Japan2024-05-25
Emily Y Gillian1008Canada2024-06-08
Silvio I Royster1009Argentina2024-05-28
Leja J Poquette1010Brazil2024-05-30
Mayumi F Marrier1011Argentina2024-06-10
Ashley E Paprocki1012Japan2024-06-05
Rodrigues H Campain1013Japan2024-06-21
Arvin G Kolmetz1014United Kingdom2024-05-25
Mayumi A Caudy1015Brazil2024-06-09
Tony G Bolognia1016Spain2024-06-22
Murillo S Tollner1017United Kingdom2024-06-13
Leja U Morasca1018Australia2024-06-18
Tony K Nestle1019Russia2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja B MaletSpainIvan Magalhaes RENEWAL
Cody W RulapaughRussiaIvan Magalhaes UNQUALIFIED
Mayumi F RimCanadaBernardo Dominic RENEWAL
Jennifer K RimArgentinaXuxue Feng RENEWAL
Adams F OstroskyCanadaBernardo Dominic PROPOSAL
Stacey K FigeroaFranceStephen Shaw NEW
Francesco H BriddickFranceXuxue Feng RENEWAL
Ivar I VocelkaRussiaElwin Sharvill UNQUALIFIED
Smith T NestleFranceAmy Elsner QUALIFIED
Misaki T WaycottArgentinaAsiya Javayant QUALIFIED
David U ChuiItalyAnna Fali NEGOTIATION
James X BowleyBrazilAnna Fali PROPOSAL
Costa Z CaudyFranceElwin Sharvill NEW
Kadeem N MacleadFranceAnna Fali NEGOTIATION
Ashley T RutaUnited KingdomOnyama Limba QUALIFIED
Stacey U WaycottRussiaXuxue Feng RENEWAL
David J RimCanadaAsiya Javayant QUALIFIED
Rodrigues V WhobreyGermanyIoni Bowcher RENEWAL
Jones L FlosiIndiaIoni Bowcher QUALIFIED
Arvin O GillianUnited KingdomStephen Shaw UNQUALIFIED
Jennifer P WaycottGermanyOnyama Limba NEGOTIATION
Maria X SchemmerArgentinaBernardo Dominic PROPOSAL
Isabel E StockhamUnited KingdomElwin Sharvill QUALIFIED
Aika W SlusarskiGermanyAmy Elsner NEGOTIATION
Morrow P MacleadArgentinaOnyama Limba NEW
Francesco A RimIndiaIvan Magalhaes RENEWAL
Johnson D ShinkoIndiaAmy Elsner NEW
Mayumi R VocelkaArgentinaAnna Fali RENEWAL
Nicolas T PerinSpainElwin Sharvill NEGOTIATION
Adams P GarufiArgentinaIoni Bowcher UNQUALIFIED
Deepesh V BowleyIndiaBernardo Dominic UNQUALIFIED
Jennifer M SchemmerItalyElwin Sharvill QUALIFIED
Tony B SlusarskiBrazilIoni Bowcher QUALIFIED
Leon T KuskoSpainStephen Shaw NEW
Aruna T RutaAustraliaElwin Sharvill RENEWAL
Cody F SlusarskiArgentinaAnna Fali QUALIFIED
Emily F RoysterCanadaAsiya Javayant QUALIFIED
Jefferson V BowleyJapanAsiya Javayant PROPOSAL
Maisha N SlusarskiSpainXuxue Feng NEGOTIATION
Tony P ButtItalyBernardo Dominic 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>