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
Julie H MorascaUnited KingdomElwin Sharvill UNQUALIFIED
Jefferson H GauchoSpainStephen Shaw QUALIFIED
Jennifer F WaycottGermanyIoni Bowcher QUALIFIED
Murillo Y MorascaGermanyIoni Bowcher QUALIFIED
Aika C TollnerIndiaElwin Sharvill NEGOTIATION
Clifford A GillianAustraliaOnyama Limba NEW
Silvio F CaudyJapanXuxue Feng NEGOTIATION
Cody W CaldareraArgentinaIvan Magalhaes PROPOSAL
Leja W RulapaughAustraliaIoni Bowcher QUALIFIED
Maisha P IturbideSpainXuxue Feng UNQUALIFIED
Aika L MarrierItalyAnna Fali QUALIFIED
Murillo D GauchoGermanyAnna Fali NEW
Maria C PaprockiJapanBernardo Dominic NEW
Leja N BologniaCanadaAsiya Javayant RENEWAL
Jones T GillianIndiaIvan Magalhaes NEGOTIATION
Mujtaba R InouyeArgentinaAsiya Javayant UNQUALIFIED
Aruna T CampainArgentinaXuxue Feng UNQUALIFIED
Aruna P DilliardArgentinaAsiya Javayant UNQUALIFIED
Maisha U WaycottGermanyAnna Fali UNQUALIFIED
Aika L StockhamIndiaOnyama Limba RENEWAL
Mayumi L ChuiCanadaIoni Bowcher RENEWAL
Kaitlin J FlosiFranceIoni Bowcher NEW
Jennifer E AlbaresCanadaBernardo Dominic RENEWAL
Tony B FerenczBrazilAmy Elsner PROPOSAL
Alejandro Y GlickUnited KingdomOnyama Limba NEW
Rodrigues A IturbideArgentinaStephen Shaw NEGOTIATION
Smith K SchemmerGermanyAnna Fali UNQUALIFIED
Antonio Q NickaSpainIvan Magalhaes RENEWAL
Francesco H MaletIndiaIoni Bowcher UNQUALIFIED
Darci O InouyeGermanyElwin Sharvill UNQUALIFIED
Maisha L KuskoArgentinaIoni Bowcher UNQUALIFIED
Aika A SchemmerGermanyAmy Elsner QUALIFIED
Jones X StockhamBrazilStephen Shaw UNQUALIFIED
Kadeem Q PoquetteAustraliaElwin Sharvill RENEWAL
Wickens R WhobreyIndiaAmy Elsner PROPOSAL
Deepesh W BriddickRussiaElwin Sharvill NEW
Nicolas P GlickIndiaAsiya Javayant NEW
Sinclair A FlosiFranceStephen Shaw QUALIFIED
Emily K KuskoAustraliaAsiya Javayant PROPOSAL
Claire F PoquetteIndiaAnna Fali RENEWAL
Octavia J PerinIndiaIvan Magalhaes NEW
Wickens D TollnerSpainAnna Fali NEGOTIATION
Smith H CampainAustraliaAmy Elsner RENEWAL
Adams B SlusarskiIndiaAmy Elsner PROPOSAL
Morrow V BowleyJapanBernardo Dominic RENEWAL
Leon C TollnerCanadaStephen Shaw NEGOTIATION
Claire W MaletCanadaAmy Elsner UNQUALIFIED
Chavez A BriddickGermanyOnyama Limba RENEWAL
James V PaprockiGermanyIoni Bowcher UNQUALIFIED
Mujtaba V FerenczGermanyElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Jeanfrancois N GlickItalyOnyama Limba UNQUALIFIED
Misaki L AmigonCanadaAsiya Javayant RENEWAL
Jefferson K WaycottItalyStephen Shaw QUALIFIED
Maria I MaletIndiaAsiya Javayant NEGOTIATION
Darci X GauchoUnited KingdomAnna Fali QUALIFIED
Antonio K MarrierBrazilXuxue Feng QUALIFIED
Tony O MarrierCanadaStephen Shaw QUALIFIED
Alejandro Y RoysterSpainAmy Elsner PROPOSAL
Jefferson I RoysterAustraliaIvan Magalhaes PROPOSAL
Octavia T MaletUnited KingdomAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford X AmigonBrazil2025-04-03Chapman, Ross E Esq NEGOTIATION93Asiya Javayant
1001Nicolas R FlosiBrazil2025-04-22King, Christopher A Esq QUALIFIED17Bernardo Dominic
1002Munro J FerenczSpain2025-04-09Benton, John B Jr PROPOSAL96Onyama Limba
1003Kaitlin S SlusarskiJapan2025-04-20Morlong Associates PROPOSAL70Elwin Sharvill
1004Murillo E DoeRussia2025-04-23Buckley Miller Wright PROPOSAL35Xuxue Feng
1005Leon O BologniaItaly2025-04-04Feiner Bros QUALIFIED83Stephen Shaw
1006Mayumi I FollerGermany2025-04-27Benton, John B Jr RENEWAL26Elwin Sharvill
1007Darci V MacleadItaly2025-04-20Feltz Printing Service RENEWAL29Bernardo Dominic
1008Francesco R OldroydCanada2025-04-01Buckley Miller Wright QUALIFIED62Asiya Javayant
1009Jefferson G AlbaresArgentina2025-04-08Truhlar And Truhlar Attys PROPOSAL95Ivan Magalhaes
1010Ivar V BriddickGermany2025-04-02Commercial Press NEGOTIATION1Onyama Limba
1011Nicolas N MarrierRussia2025-04-05Chemel, James L Cpa UNQUALIFIED77Onyama Limba
1012Alejandro I VocelkaGermany2025-04-17Chanay, Jeffrey A Esq RENEWAL91Elwin Sharvill
1013Misaki U StockhamItaly2025-04-03Feiner Bros QUALIFIED53Amy Elsner
1014Nicolas K DilliardCanada2025-04-14Printing Dimensions QUALIFIED42Ivan Magalhaes
1015Jefferson W AlbaresAustralia2025-04-01Printing Dimensions NEGOTIATION57Ioni Bowcher
1016Rodrigues M GauchoRussia2025-04-22Chanay, Jeffrey A Esq UNQUALIFIED77Ioni Bowcher
1017Octavia E CampainRussia2025-04-12Buckley Miller Wright NEGOTIATION73Elwin Sharvill
1018Smith L KolmetzBrazil2025-04-03Chapman, Ross E Esq UNQUALIFIED91Stephen Shaw
1019Jeanfrancois P BologniaAustralia2025-04-16Feltz Printing Service RENEWAL48Amy Elsner
1020Sinclair G SchemmerItaly2025-04-03Buckley Miller Wright UNQUALIFIED31Elwin Sharvill
1021Octavia Y OstroskyRussia2025-04-25Feiner Bros NEGOTIATION86Stephen Shaw
1022Greenwood W SlusarskiArgentina2025-04-10Benton, John B Jr PROPOSAL69Asiya Javayant
1023Jennifer Q VenereGermany2025-04-23Benton, John B Jr PROPOSAL18Onyama Limba
1024Jones T StockhamJapan2025-04-14Feltz Printing Service NEW39Asiya Javayant
1025Stacey O VenereRussia2025-04-14Dorl, James J Esq RENEWAL30Stephen Shaw
1026Sinclair M CampainItaly2025-04-06Chanay, Jeffrey A Esq NEGOTIATION71Ivan Magalhaes
1027Johnson D RimIndia2025-04-12Rousseaux, Michael Esq PROPOSAL10Amy Elsner
1028Leja K WaycottGermany2025-04-20Chapman, Ross E Esq NEGOTIATION42Asiya Javayant
1029Jeanfrancois J MarrierJapan2025-04-30Printing Dimensions PROPOSAL60Anna Fali
1030Mujtaba G SchemmerBrazil2025-04-08Buckley Miller Wright NEW58Elwin Sharvill
1031Darci J RoysterJapan2025-04-23Rangoni Of Florence NEW22Xuxue Feng
1032Octavia F RutaBrazil2025-04-20Benton, John B Jr PROPOSAL74Ioni Bowcher
1033Greenwood R MacleadCanada2025-04-29Feiner Bros NEW4Amy Elsner
1034Murillo V SergiArgentina2025-04-15Rousseaux, Michael Esq RENEWAL87Ivan Magalhaes
1035Jones P SaylorsCanada2025-04-28Chapman, Ross E Esq QUALIFIED43Asiya Javayant
1036Clifford S BriddickBrazil2025-04-02Rangoni Of Florence PROPOSAL7Xuxue Feng
1037Munro F KolmetzIndia2025-04-30Morlong Associates QUALIFIED35Xuxue Feng
1038Clifford C KolmetzRussia2025-04-08Chemel, James L Cpa UNQUALIFIED94Onyama Limba
1039Claire V AmigonRussia2025-04-29Dorl, James J Esq PROPOSAL39Stephen Shaw
1040Emily C ShinkoSpain2025-04-18Chapman, Ross E Esq QUALIFIED40Stephen Shaw
1041Ricardo J MaletUnited Kingdom2025-04-27Printing Dimensions UNQUALIFIED14Elwin Sharvill
1042Kadeem R FigeroaArgentina2025-04-11Commercial Press QUALIFIED64Onyama Limba
1043Sinclair X RimBrazil2025-04-15Chemel, James L Cpa UNQUALIFIED61Anna Fali
1044Ricardo I StensethSpain2025-04-19Feiner Bros NEGOTIATION82Stephen Shaw
1045Cody W AmigonAustralia2025-04-15Dorl, James J Esq PROPOSAL23Ivan Magalhaes
1046Izzy D DoeAustralia2025-04-11Benton, John B Jr NEGOTIATION24Ioni Bowcher
1047Leja C ChuiRussia2025-04-30Chanay, Jeffrey A Esq PROPOSAL89Onyama Limba
1048Sinclair P GauchoAustralia2025-04-08Buckley Miller Wright QUALIFIED64Xuxue Feng
1049Tony X GlickItaly2025-04-15King, Christopher A Esq UNQUALIFIED90Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Tony N DarakjyGermanyAnna Fali PROPOSAL
Mayumi G OldroydArgentinaXuxue Feng NEW
Kaitlin S RulapaughRussiaAsiya Javayant NEGOTIATION
Emily I DilliardCanadaElwin Sharvill QUALIFIED
Greenwood G FollerIndiaXuxue Feng UNQUALIFIED
Ivar M FerenczSpainAsiya Javayant NEGOTIATION
Adams H StockhamArgentinaAnna Fali PROPOSAL
Arvin E VenereItalyAsiya Javayant NEGOTIATION
Murillo L OstroskyCanadaIoni Bowcher NEGOTIATION
Jeanfrancois O ShinkoCanadaAsiya Javayant PROPOSAL
Aika W RimUnited KingdomBernardo Dominic NEGOTIATION
Deepesh F SergiFranceAsiya Javayant PROPOSAL
Antonio I FlosiIndiaAsiya Javayant NEGOTIATION
Clifford F RutaJapanIvan Magalhaes QUALIFIED
Kadeem L DarakjyBrazilElwin Sharvill RENEWAL
Julie N MacleadJapanOnyama Limba NEGOTIATION
Juan R CaldareraArgentinaXuxue Feng RENEWAL
Mujtaba Z KuskoRussiaAnna Fali QUALIFIED
Alejandro B SlusarskiBrazilStephen Shaw QUALIFIED
Aika Y RutaRussiaIoni Bowcher QUALIFIED
Isabel Y MarrierAustraliaStephen Shaw NEW
Johnson V OldroydUnited KingdomElwin Sharvill UNQUALIFIED
Leon N FerenczJapanIoni Bowcher NEW
Emily J RoysterItalyXuxue Feng NEW
Jennifer J MacleadSpainStephen Shaw PROPOSAL
Salvatore H NestleRussiaOnyama Limba NEW
Jones B MarrierGermanyBernardo Dominic NEGOTIATION
Jennifer N SlusarskiRussiaElwin Sharvill NEW
Francesco T CaudyItalyAnna Fali RENEWAL
Cody R RoysterFranceAnna Fali NEW
Alejandro E StockhamSpainElwin Sharvill QUALIFIED
Julie A FollerIndiaAmy Elsner QUALIFIED
Smith R BowleyArgentinaBernardo Dominic NEW
Clifford W SaylorsCanadaBernardo Dominic NEGOTIATION
James Y GillianFranceElwin Sharvill NEGOTIATION
Rodrigues K SchemmerCanadaIvan Magalhaes NEGOTIATION
Alejandro P CampainAustraliaAmy Elsner RENEWAL
Octavia E SchemmerSpainOnyama Limba UNQUALIFIED
Misaki E RutaJapanIoni Bowcher QUALIFIED
Deepesh T RutaAustraliaIvan Magalhaes QUALIFIED
Francesco H KolmetzArgentinaElwin Sharvill PROPOSAL
David S StockhamCanadaAnna Fali QUALIFIED
Jefferson A BriddickJapanAmy Elsner NEGOTIATION
Maria Q GauchoSpainIvan Magalhaes NEGOTIATION
Francesco O RoysterSpainElwin Sharvill QUALIFIED
Octavia Y BriddickIndiaElwin Sharvill QUALIFIED
Stacey T RoysterGermanyXuxue Feng NEGOTIATION
Jones J SergiSpainIvan Magalhaes RENEWAL
Jennifer G ButtItalyAnna Fali UNQUALIFIED
Jennifer J CampainJapanOnyama Limba NEW
Frozen Columns
Name
Adams S Schemmer
Murillo V Royster
Silvio O Perin
Clifford R Bowley
Kaitlin K Tollner
Aika M Kolmetz
Claire Q Chui
Leon D Darakjy
Aditya A Malet
Emily X Ferencz
Aika M Ostrosky
Antonio I Bowley
Maisha B Royster
Claire J Wieser
Izzy U Nicka
Jeanfrancois J Albares
Costa U Inouye
Kaitlin L Rim
Juan O Chui
Octavia U Shinko
Alejandro F Rulapaugh
Kaitlin W Malet
Munro E Wieser
Darci J Flosi
Darci L Briddick
Murillo Q Tollner
Rodrigues K Schemmer
Jeanfrancois C Rim
Salvatore U Doe
Maisha I Morasca
Ashley D Inouye
Aika R Malet
Juan K Amigon
Ashley Y Garufi
Faith N Whobrey
Munro B Wieser
Aruna Q Chui
Rodrigues X Morasca
Tony A Butt
Alejandro E Butt
Smith U Campain
Nicolas X Paprocki
James M Vocelka
James V Chui
Morrow P Nicka
Munro T Ostrosky
Maria O Briddick
Maria N Maclead
Stacey H Nicka
Maisha U Saylors
IdCountryDate
1000Russia2025-04-09
1001France2025-04-19
1002India2025-04-11
1003Argentina2025-04-13
1004Australia2025-04-23
1005Brazil2025-04-26
1006Italy2025-04-13
1007United Kingdom2025-04-12
1008Russia2025-04-30
1009Germany2025-04-22
1010Australia2025-04-19
1011Italy2025-04-21
1012Canada2025-04-05
1013Spain2025-04-10
1014Argentina2025-04-25
1015Spain2025-04-07
1016United Kingdom2025-04-05
1017United Kingdom2025-04-24
1018Brazil2025-04-07
1019India2025-04-09
1020India2025-04-06
1021Germany2025-04-04
1022Germany2025-04-18
1023Italy2025-04-09
1024Australia2025-04-22
1025Russia2025-04-21
1026Canada2025-04-27
1027Russia2025-04-11
1028India2025-04-03
1029Japan2025-04-28
1030Argentina2025-04-27
1031Japan2025-04-02
1032Italy2025-04-06
1033Canada2025-04-06
1034Japan2025-04-21
1035Brazil2025-04-23
1036Australia2025-04-04
1037France2025-04-28
1038Japan2025-04-05
1039Japan2025-04-22
1040Brazil2025-04-30
1041Germany2025-04-25
1042Russia2025-04-16
1043France2025-04-28
1044Spain2025-04-02
1045Russia2025-04-16
1046Spain2025-04-22
1047United Kingdom2025-04-16
1048France2025-04-09
1049India2025-04-03

On-Demand Data

NameIdCountryDate
Jones X Amigon1000Germany2025-04-28
Aika S Malet1001India2025-04-17
Misaki K Ferencz1002Canada2025-04-01
Greenwood G Flosi1003Spain2025-04-25
Johnson R Perin1004Spain2025-04-28
Darci W Waycott1005Italy2025-04-23
Misaki C Gillian1006Brazil2025-04-22
Misaki H Rim1007France2025-04-22
Claire T Iturbide1008Italy2025-04-28
Greenwood J Glick1009Australia2025-04-12
Morrow Y Kusko1010Canada2025-04-18
Rodrigues D Kusko1011Italy2025-04-01
Julie J Kusko1012Russia2025-04-06
Emily I Gillian1013Japan2025-04-08
Mayumi Y Nicka1014Germany2025-04-28
Jones W Kolmetz1015France2025-04-01
Alejandro D Doe1016Germany2025-04-16
Wickens F Caldarera1017Canada2025-04-17
Maisha U Campain1018Australia2025-04-14
Rodrigues Z Shinko1019Spain2025-04-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya I ButtRussiaIvan Magalhaes UNQUALIFIED
Salvatore B MacleadArgentinaStephen Shaw UNQUALIFIED
Munro C RoysterIndiaElwin Sharvill QUALIFIED
Francesco C WaycottItalyElwin Sharvill NEGOTIATION
Smith W MaletRussiaIoni Bowcher RENEWAL
Juan V OstroskyCanadaBernardo Dominic QUALIFIED
Rodrigues H FigeroaIndiaBernardo Dominic PROPOSAL
Costa O FollerFranceBernardo Dominic RENEWAL
Jeanfrancois K MacleadSpainIoni Bowcher PROPOSAL
Leja S NestleCanadaIoni Bowcher NEW
Jennifer N FerenczCanadaAsiya Javayant UNQUALIFIED
Nicolas J RutaAustraliaStephen Shaw NEGOTIATION
Greenwood W PerinJapanIoni Bowcher PROPOSAL
Arvin R DilliardFranceAmy Elsner QUALIFIED
Leon R FollerCanadaAmy Elsner NEGOTIATION
Rodrigues H ButtAustraliaElwin Sharvill UNQUALIFIED
Deepesh X SchemmerCanadaElwin Sharvill NEGOTIATION
Smith K FollerFranceStephen Shaw PROPOSAL
Adams G WieserGermanyXuxue Feng RENEWAL
Cody S SergiAustraliaElwin Sharvill QUALIFIED
Salvatore X OldroydGermanyOnyama Limba UNQUALIFIED
Smith K MorascaBrazilBernardo Dominic QUALIFIED
Nicolas M DoeIndiaBernardo Dominic NEGOTIATION
Greenwood B AmigonCanadaAsiya Javayant RENEWAL
Nicolas I VenereArgentinaAsiya Javayant UNQUALIFIED
Octavia D ChuiRussiaElwin Sharvill UNQUALIFIED
Costa I GauchoBrazilStephen Shaw QUALIFIED
Jeanfrancois I AlbaresIndiaIvan Magalhaes QUALIFIED
Munro W SergiJapanAmy Elsner UNQUALIFIED
Francesco P InouyeIndiaOnyama Limba NEGOTIATION
Octavia C VocelkaGermanyAmy Elsner RENEWAL
Morrow L WhobreyCanadaAsiya Javayant RENEWAL
David R GauchoCanadaBernardo Dominic RENEWAL
Silvio Y MarrierSpainOnyama Limba UNQUALIFIED
Silvio V SchemmerCanadaBernardo Dominic UNQUALIFIED
Aika K AmigonFranceAsiya Javayant NEW
Kaitlin E SaylorsArgentinaOnyama Limba UNQUALIFIED
Sinclair G InouyeRussiaElwin Sharvill QUALIFIED
Ashley H WieserArgentinaStephen Shaw QUALIFIED
Leon F BologniaUnited KingdomOnyama 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>