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 R WhobreyRussiaAnna Fali UNQUALIFIED
Wickens D GillianIndiaXuxue Feng PROPOSAL
Stacey F FigeroaJapanIoni Bowcher UNQUALIFIED
Julie H StockhamGermanyBernardo Dominic QUALIFIED
Julie Q OstroskyArgentinaOnyama Limba NEW
Deepesh I MorascaIndiaBernardo Dominic PROPOSAL
Greenwood A BowleyIndiaBernardo Dominic UNQUALIFIED
Jones Y ChuiUnited KingdomAnna Fali QUALIFIED
Francesco M StensethFranceOnyama Limba NEW
Julie X MarrierIndiaIvan Magalhaes NEGOTIATION
Jeanfrancois T AmigonSpainBernardo Dominic NEW
Mujtaba H OldroydRussiaOnyama Limba RENEWAL
Izzy V RimRussiaOnyama Limba NEGOTIATION
Jefferson G CaldareraRussiaAmy Elsner UNQUALIFIED
Silvio X NickaItalyIoni Bowcher PROPOSAL
Murillo D ButtBrazilAnna Fali PROPOSAL
Salvatore D CaudySpainAmy Elsner RENEWAL
Greenwood E ShinkoIndiaXuxue Feng NEW
Deepesh D PerinRussiaXuxue Feng NEW
Jeanfrancois R GauchoBrazilAnna Fali QUALIFIED
Deepesh E RoysterGermanyElwin Sharvill QUALIFIED
Morrow I FlosiUnited KingdomBernardo Dominic QUALIFIED
Izzy T RutaJapanStephen Shaw RENEWAL
Mujtaba O TollnerSpainXuxue Feng PROPOSAL
Claire A AmigonJapanIvan Magalhaes NEW
David I KolmetzGermanyIvan Magalhaes RENEWAL
Cody D StockhamSpainOnyama Limba UNQUALIFIED
Sinclair B CampainCanadaXuxue Feng UNQUALIFIED
Arvin O CaldareraAustraliaAsiya Javayant NEW
Chavez H FerenczArgentinaAmy Elsner QUALIFIED
Ricardo K FollerJapanAnna Fali PROPOSAL
Mayumi Z MaletJapanIoni Bowcher PROPOSAL
Leon M AmigonItalyOnyama Limba NEW
Jeanfrancois F SergiSpainAnna Fali PROPOSAL
Silvio C DoeIndiaIoni Bowcher NEW
Silvio L MaletAustraliaOnyama Limba PROPOSAL
Jennifer E WaycottRussiaOnyama Limba PROPOSAL
Mayumi S FerenczArgentinaAsiya Javayant NEW
Tony L AmigonAustraliaOnyama Limba UNQUALIFIED
Silvio D GlickFranceIvan Magalhaes NEW
Morrow U IturbideFranceElwin Sharvill QUALIFIED
Jefferson H WhobreyUnited KingdomStephen Shaw UNQUALIFIED
Munro F KolmetzSpainIvan Magalhaes PROPOSAL
Julie U CaldareraBrazilIoni Bowcher NEW
Ivar V FerenczCanadaIvan Magalhaes UNQUALIFIED
David M FerenczArgentinaIoni Bowcher UNQUALIFIED
Jeanfrancois U BriddickUnited KingdomAsiya Javayant RENEWAL
Cody O GlickUnited KingdomIoni Bowcher NEGOTIATION
Jeanfrancois I SaylorsSpainXuxue Feng RENEWAL
Munro Z BowleyCanadaBernardo Dominic NEW
Horizontal
NameCountryRepresentativeStatus
Leon R GarufiItalyBernardo Dominic PROPOSAL
Izzy F VocelkaArgentinaXuxue Feng QUALIFIED
Kadeem B BologniaFranceXuxue Feng PROPOSAL
Stacey P DoeGermanyIoni Bowcher RENEWAL
Izzy F BowleyRussiaBernardo Dominic NEW
Claire B CaudyJapanAmy Elsner NEW
Jeanfrancois K WieserCanadaIvan Magalhaes RENEWAL
Nicolas O FollerItalyAnna Fali NEGOTIATION
Silvio R SlusarskiRussiaAnna Fali NEGOTIATION
Maria Z MaletIndiaAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki C OstroskyGermany2024-06-14Rousseaux, Michael Esq RENEWAL45Ivan Magalhaes
1001Maisha O KolmetzFrance2024-06-13Truhlar And Truhlar Attys QUALIFIED51Xuxue Feng
1002Juan F GillianIndia2024-06-18Chanay, Jeffrey A Esq RENEWAL22Bernardo Dominic
1003Octavia H DilliardJapan2024-06-19Feiner Bros NEGOTIATION32Stephen Shaw
1004Jones U FerenczSpain2024-06-18Dorl, James J Esq NEW59Ivan Magalhaes
1005Ricardo V MaletIndia2024-06-02Chanay, Jeffrey A Esq RENEWAL87Bernardo Dominic
1006Stacey U CaldareraJapan2024-06-07Buckley Miller Wright NEW98Asiya Javayant
1007Ricardo H OstroskyRussia2024-06-12King, Christopher A Esq NEW92Bernardo Dominic
1008Clifford B RimJapan2024-05-30Printing Dimensions RENEWAL46Onyama Limba
1009Jeanfrancois P CaldareraRussia2024-05-28Rousseaux, Michael Esq UNQUALIFIED82Amy Elsner
1010Mayumi F CaudyIndia2024-05-26Truhlar And Truhlar Attys NEGOTIATION41Onyama Limba
1011Izzy R GlickUnited Kingdom2024-06-13King, Christopher A Esq PROPOSAL35Stephen Shaw
1012Juan I AlbaresItaly2024-05-27Benton, John B Jr NEGOTIATION25Anna Fali
1013James E NickaBrazil2024-06-17Commercial Press UNQUALIFIED94Asiya Javayant
1014Clifford B RulapaughAustralia2024-06-12Chemel, James L Cpa QUALIFIED28Xuxue Feng
1015Arvin K AlbaresBrazil2024-06-08Dorl, James J Esq QUALIFIED96Bernardo Dominic
1016Smith B TollnerIndia2024-06-05Printing Dimensions RENEWAL23Bernardo Dominic
1017Murillo M WieserIndia2024-06-20Rousseaux, Michael Esq QUALIFIED82Ioni Bowcher
1018Morrow G MorascaJapan2024-06-20Rousseaux, Michael Esq NEW90Stephen Shaw
1019Nicolas L RulapaughBrazil2024-06-20Feiner Bros QUALIFIED67Bernardo Dominic
1020Salvatore X TollnerBrazil2024-06-14Printing Dimensions NEW62Stephen Shaw
1021Morrow S VocelkaJapan2024-06-11Commercial Press NEW26Asiya Javayant
1022Alejandro B ShinkoItaly2024-06-08Printing Dimensions QUALIFIED28Bernardo Dominic
1023Murillo M NickaIndia2024-05-26Benton, John B Jr NEGOTIATION42Stephen Shaw
1024Misaki S ButtFrance2024-05-27Benton, John B Jr NEGOTIATION81Elwin Sharvill
1025Julie K RoysterUnited Kingdom2024-06-20Commercial Press NEGOTIATION54Elwin Sharvill
1026Arvin R FlosiJapan2024-06-09Chanay, Jeffrey A Esq NEW65Ivan Magalhaes
1027Ashley B DilliardItaly2024-05-26King, Christopher A Esq RENEWAL12Ioni Bowcher
1028Arvin H MaletCanada2024-05-26Rangoni Of Florence QUALIFIED19Onyama Limba
1029Salvatore T IturbideBrazil2024-05-23Benton, John B Jr NEGOTIATION47Bernardo Dominic
1030Deepesh N GlickJapan2024-06-21Truhlar And Truhlar Attys QUALIFIED47Anna Fali
1031Morrow Y RoysterAustralia2024-06-16Chemel, James L Cpa QUALIFIED47Ioni Bowcher
1032Arvin L RoysterItaly2024-06-06Chemel, James L Cpa NEGOTIATION72Onyama Limba
1033Salvatore U IturbideFrance2024-06-04Chapman, Ross E Esq UNQUALIFIED95Asiya Javayant
1034Smith N GlickBrazil2024-06-04Truhlar And Truhlar Attys RENEWAL49Anna Fali
1035Aika S PerinUnited Kingdom2024-05-30Dorl, James J Esq UNQUALIFIED8Elwin Sharvill
1036Deepesh R KuskoSpain2024-05-30Rousseaux, Michael Esq PROPOSAL81Anna Fali
1037Isabel S RutaSpain2024-06-10Commercial Press UNQUALIFIED71Bernardo Dominic
1038Aditya V NickaIndia2024-06-13King, Christopher A Esq NEW24Amy Elsner
1039Wickens T MorascaItaly2024-06-02Truhlar And Truhlar Attys QUALIFIED45Asiya Javayant
1040Izzy Q BowleyCanada2024-05-31Feiner Bros RENEWAL92Elwin Sharvill
1041Juan R MaletJapan2024-06-18Rousseaux, Michael Esq NEW4Bernardo Dominic
1042Misaki M NickaArgentina2024-06-16Truhlar And Truhlar Attys UNQUALIFIED57Bernardo Dominic
1043Rodrigues W FlosiAustralia2024-05-28Morlong Associates NEW6Amy Elsner
1044Johnson Z SchemmerFrance2024-06-11Chapman, Ross E Esq NEW52Anna Fali
1045Ivar I BriddickAustralia2024-05-28Truhlar And Truhlar Attys QUALIFIED86Onyama Limba
1046Julie B FollerCanada2024-06-19Feiner Bros PROPOSAL5Anna Fali
1047Ivar O MaletIndia2024-05-25Buckley Miller Wright RENEWAL63Onyama Limba
1048Rodrigues E FerenczUnited Kingdom2024-06-09Feiner Bros RENEWAL11Elwin Sharvill
1049Francesco J BologniaBrazil2024-06-01Chemel, James L Cpa QUALIFIED73Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois Z MaletIndiaBernardo Dominic QUALIFIED
Morrow C ButtBrazilXuxue Feng UNQUALIFIED
Salvatore X WieserSpainIvan Magalhaes NEGOTIATION
Emily F VenereItalyAmy Elsner UNQUALIFIED
Arvin R ShinkoGermanyBernardo Dominic NEW
Julie D PaprockiFranceIvan Magalhaes UNQUALIFIED
Maria R KuskoGermanyXuxue Feng PROPOSAL
Faith M RoysterArgentinaAnna Fali QUALIFIED
Mayumi U ShinkoUnited KingdomAsiya Javayant NEGOTIATION
Nicolas F FollerUnited KingdomAsiya Javayant NEW
Alejandro K AmigonGermanyStephen Shaw RENEWAL
Munro Q AlbaresFranceIvan Magalhaes RENEWAL
Emily X InouyeAustraliaIoni Bowcher QUALIFIED
Maisha X RoysterRussiaElwin Sharvill QUALIFIED
Jeanfrancois T ChuiBrazilStephen Shaw NEW
Adams E PaprockiFranceAnna Fali NEGOTIATION
David Q TollnerArgentinaIvan Magalhaes NEW
Jefferson Z TollnerCanadaAnna Fali NEGOTIATION
Octavia D TollnerBrazilBernardo Dominic UNQUALIFIED
Aditya F FollerBrazilStephen Shaw RENEWAL
Leon D OstroskyUnited KingdomBernardo Dominic PROPOSAL
Kadeem X WieserArgentinaOnyama Limba NEGOTIATION
Jefferson Z BologniaArgentinaIvan Magalhaes PROPOSAL
Smith D FollerBrazilAsiya Javayant PROPOSAL
Tony E TollnerFranceAsiya Javayant NEGOTIATION
Kadeem W InouyeAustraliaStephen Shaw NEW
Ivar U NestleSpainAmy Elsner UNQUALIFIED
Morrow W WhobreySpainIvan Magalhaes NEW
Tony J DarakjyFranceAnna Fali NEGOTIATION
Stacey Z GauchoBrazilIvan Magalhaes NEGOTIATION
Maisha T BologniaAustraliaAmy Elsner NEW
Silvio B FerenczCanadaAsiya Javayant PROPOSAL
Alejandro U VenereAustraliaElwin Sharvill UNQUALIFIED
Stacey S PoquetteAustraliaAsiya Javayant RENEWAL
Mayumi T ShinkoSpainXuxue Feng UNQUALIFIED
Aruna S SchemmerIndiaOnyama Limba RENEWAL
Johnson V NestleGermanyStephen Shaw UNQUALIFIED
Silvio Z ShinkoUnited KingdomAsiya Javayant NEGOTIATION
Silvio I OstroskySpainAmy Elsner NEW
Darci R NestleUnited KingdomStephen Shaw NEW
Stacey S StensethCanadaElwin Sharvill QUALIFIED
Wickens T DilliardJapanIvan Magalhaes QUALIFIED
Salvatore X OstroskyIndiaElwin Sharvill QUALIFIED
Aika I SlusarskiArgentinaElwin Sharvill UNQUALIFIED
Morrow X FerenczCanadaAmy Elsner UNQUALIFIED
Tony R GarufiItalyIvan Magalhaes RENEWAL
David Q MacleadFranceStephen Shaw UNQUALIFIED
Wickens V GauchoUnited KingdomIoni Bowcher QUALIFIED
Kaitlin I GauchoRussiaOnyama Limba NEW
Jones H RoysterArgentinaElwin Sharvill NEGOTIATION
Frozen Columns
Name
Izzy O Darakjy
Ivar D Whobrey
Jeanfrancois X Kusko
Deepesh M Stenseth
Silvio W Waycott
Aika Y Saylors
Octavia A Darakjy
James D Perin
Kadeem C Darakjy
Jennifer M Nicka
Ivar L Gaucho
James N Doe
Octavia K Dilliard
Mayumi R Royster
Alejandro B Vocelka
James O Tollner
Deepesh V Inouye
Kaitlin L Iturbide
Alejandro R Caudy
Adams V Figeroa
Maisha T Nestle
Kadeem Y Amigon
Octavia E Glick
Octavia E Stockham
Munro O Bolognia
Maisha J Glick
Costa J Briddick
Maisha E Paprocki
Antonio D Malet
Mujtaba T Nestle
Clifford A Ferencz
Mujtaba T Maclead
Stacey Q Slusarski
Antonio B Nestle
Misaki N Inouye
Jennifer J Sergi
Mujtaba Z Saylors
Jones I Malet
Ivar I Chui
Adams Q Stockham
Octavia H Maclead
Ivar P Gillian
Salvatore N Stenseth
Ashley E Sergi
Deepesh D Glick
Cody G Flosi
Kadeem D Doe
Ashley R Vocelka
Darci M Wieser
Adams O Saylors
IdCountryDate
1000Argentina2024-06-05
1001Brazil2024-06-12
1002Japan2024-05-24
1003United Kingdom2024-05-30
1004Australia2024-06-01
1005United Kingdom2024-05-24
1006Japan2024-06-01
1007India2024-06-09
1008India2024-06-02
1009Argentina2024-06-15
1010France2024-06-14
1011Brazil2024-06-08
1012Argentina2024-05-23
1013Germany2024-06-09
1014United Kingdom2024-06-08
1015Russia2024-05-23
1016United Kingdom2024-06-21
1017Germany2024-06-12
1018Japan2024-06-04
1019Italy2024-06-15
1020Spain2024-06-14
1021Japan2024-06-16
1022France2024-06-10
1023Australia2024-06-15
1024Australia2024-05-28
1025France2024-06-02
1026India2024-05-29
1027Russia2024-06-15
1028Japan2024-05-24
1029Spain2024-06-09
1030India2024-06-18
1031Russia2024-06-12
1032Russia2024-06-02
1033Brazil2024-06-01
1034Italy2024-05-23
1035Argentina2024-06-09
1036Italy2024-05-28
1037France2024-06-01
1038Canada2024-06-01
1039Italy2024-06-21
1040Germany2024-06-16
1041Russia2024-06-14
1042Argentina2024-06-18
1043Spain2024-05-27
1044Russia2024-06-17
1045Italy2024-06-12
1046Australia2024-05-31
1047Russia2024-05-26
1048Japan2024-06-19
1049Australia2024-06-18

On-Demand Data

NameIdCountryDate
Antonio V Kolmetz1000Canada2024-06-16
Kaitlin B Gillian1001Russia2024-06-21
Izzy P Rulapaugh1002Russia2024-05-30
Octavia Q Ostrosky1003Russia2024-05-29
Adams R Gillian1004United Kingdom2024-05-28
Cody F Doe1005France2024-06-17
Julie S Rulapaugh1006Japan2024-05-25
Maria F Amigon1007Brazil2024-05-31
Cody Y Briddick1008France2024-05-27
Kaitlin R Tollner1009Brazil2024-06-02
Julie X Royster1010Brazil2024-05-28
Murillo K Malet1011Spain2024-05-24
Leja D Ferencz1012Australia2024-06-11
Maria B Marrier1013Argentina2024-06-14
Jeanfrancois G Kolmetz1014Brazil2024-06-16
Jones A Marrier1015Italy2024-06-19
Leja P Paprocki1016Canada2024-06-18
Francesco K Doe1017United Kingdom2024-06-05
Jennifer X Saylors1018France2024-06-18
Nicolas U Rulapaugh1019Spain2024-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha I MarrierGermanyIvan Magalhaes PROPOSAL
Octavia L MarrierCanadaBernardo Dominic RENEWAL
Francesco F IturbideRussiaAmy Elsner QUALIFIED
Sinclair O CaudyJapanElwin Sharvill UNQUALIFIED
Costa D MacleadItalyAsiya Javayant NEW
Salvatore L SergiGermanyBernardo Dominic NEW
Nicolas X MaletArgentinaIoni Bowcher UNQUALIFIED
Cody L PerinArgentinaElwin Sharvill QUALIFIED
Silvio M KolmetzFranceAnna Fali PROPOSAL
Clifford O IturbideRussiaElwin Sharvill UNQUALIFIED
Leon J RimRussiaAmy Elsner PROPOSAL
Kaitlin X KolmetzRussiaBernardo Dominic RENEWAL
Isabel B BologniaGermanyBernardo Dominic PROPOSAL
Emily I AmigonCanadaElwin Sharvill QUALIFIED
Deepesh O RutaSpainOnyama Limba RENEWAL
Silvio U ButtCanadaAnna Fali QUALIFIED
Misaki H DoeJapanElwin Sharvill PROPOSAL
Adams Q SchemmerGermanyXuxue Feng RENEWAL
Francesco D DilliardGermanyBernardo Dominic UNQUALIFIED
Cody W WaycottArgentinaIoni Bowcher PROPOSAL
Wickens N MarrierFranceElwin Sharvill PROPOSAL
Antonio H PaprockiFranceElwin Sharvill QUALIFIED
Ashley N MorascaSpainBernardo Dominic RENEWAL
James L GarufiIndiaIvan Magalhaes UNQUALIFIED
Greenwood I TollnerFranceStephen Shaw UNQUALIFIED
Kaitlin E CampainJapanStephen Shaw QUALIFIED
Claire Y WieserUnited KingdomElwin Sharvill RENEWAL
Emily I InouyeUnited KingdomStephen Shaw NEW
Isabel Y SergiItalyAsiya Javayant QUALIFIED
Morrow W MaletGermanyElwin Sharvill PROPOSAL
Adams P NickaAustraliaOnyama Limba NEW
Clifford R ShinkoAustraliaAsiya Javayant NEW
Aditya V GauchoSpainIvan Magalhaes RENEWAL
Rodrigues A DilliardBrazilAsiya Javayant QUALIFIED
Leon U TollnerUnited KingdomXuxue Feng UNQUALIFIED
James Y ButtBrazilAsiya Javayant RENEWAL
Salvatore B TollnerArgentinaAsiya Javayant NEW
Kadeem V NickaCanadaBernardo Dominic RENEWAL
Morrow I ButtAustraliaAsiya Javayant UNQUALIFIED
Leon J MaletAustraliaIvan Magalhaes UNQUALIFIED

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