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
Deepesh E GarufiGermanyOnyama Limba PROPOSAL
David V KuskoUnited KingdomOnyama Limba NEGOTIATION
Ricardo V GarufiUnited KingdomBernardo Dominic QUALIFIED
Emily M ShinkoArgentinaIvan Magalhaes UNQUALIFIED
Izzy T AlbaresRussiaElwin Sharvill PROPOSAL
Sinclair F StensethArgentinaAnna Fali PROPOSAL
Maisha Q InouyeAustraliaIvan Magalhaes PROPOSAL
Deepesh O ShinkoRussiaElwin Sharvill NEW
Faith E BowleyIndiaIoni Bowcher PROPOSAL
Antonio R GauchoGermanyBernardo Dominic UNQUALIFIED
Octavia M StensethAustraliaIvan Magalhaes UNQUALIFIED
Darci O CampainGermanyXuxue Feng UNQUALIFIED
Juan A BologniaBrazilStephen Shaw PROPOSAL
Jeanfrancois Y IturbideAustraliaAsiya Javayant RENEWAL
Jefferson E NestleIndiaElwin Sharvill QUALIFIED
Sinclair K KolmetzAustraliaIoni Bowcher RENEWAL
Smith C CampainFranceBernardo Dominic NEW
Tony U KolmetzBrazilBernardo Dominic RENEWAL
David M MorascaBrazilIoni Bowcher QUALIFIED
Claire F AmigonArgentinaElwin Sharvill RENEWAL
Faith T FlosiUnited KingdomOnyama Limba NEGOTIATION
Octavia H DarakjyFranceStephen Shaw NEGOTIATION
Kaitlin K NestleJapanIvan Magalhaes PROPOSAL
Juan H WaycottUnited KingdomAsiya Javayant QUALIFIED
Munro E FerenczIndiaIoni Bowcher UNQUALIFIED
Leja E InouyeArgentinaXuxue Feng QUALIFIED
Octavia Z TollnerSpainXuxue Feng UNQUALIFIED
Claire Q GarufiArgentinaOnyama Limba UNQUALIFIED
James Z GillianCanadaAnna Fali NEGOTIATION
Antonio F OstroskyRussiaIvan Magalhaes NEGOTIATION
Juan Z WieserArgentinaOnyama Limba QUALIFIED
Aruna F ChuiGermanyBernardo Dominic UNQUALIFIED
Chavez Q DoeJapanBernardo Dominic QUALIFIED
Julie Y OldroydBrazilAmy Elsner NEW
Nicolas U BriddickUnited KingdomIoni Bowcher NEW
Jones W BologniaBrazilElwin Sharvill QUALIFIED
Mujtaba H RimGermanyIvan Magalhaes NEW
Mayumi N FollerUnited KingdomAnna Fali UNQUALIFIED
Alejandro Z PaprockiRussiaAnna Fali PROPOSAL
Stacey C StensethSpainXuxue Feng NEGOTIATION
Tony X RutaUnited KingdomXuxue Feng NEW
Kaitlin W MaletJapanIoni Bowcher NEGOTIATION
Arvin Z FigeroaBrazilOnyama Limba RENEWAL
Nicolas Y MaletItalyAmy Elsner NEGOTIATION
Rodrigues V InouyeUnited KingdomAsiya Javayant UNQUALIFIED
Nicolas D VenereArgentinaXuxue Feng QUALIFIED
Ashley L BowleyAustraliaElwin Sharvill UNQUALIFIED
Chavez K SchemmerItalyBernardo Dominic RENEWAL
Jones V MorascaRussiaIvan Magalhaes NEW
Alejandro F RimRussiaAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Morrow W CaudyFranceAmy Elsner NEW
Smith O NestleArgentinaIvan Magalhaes NEGOTIATION
Deepesh P PerinJapanIoni Bowcher QUALIFIED
Octavia H PerinUnited KingdomAmy Elsner NEGOTIATION
Murillo O DilliardUnited KingdomElwin Sharvill NEW
Jennifer A RoysterFranceBernardo Dominic RENEWAL
Kadeem D WhobreyIndiaIvan Magalhaes RENEWAL
Cody H AlbaresFranceAnna Fali NEW
David H MarrierIndiaStephen Shaw NEGOTIATION
Maria C WhobreyArgentinaAmy Elsner PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow R BriddickCanada2024-06-11Buckley Miller Wright NEW58Asiya Javayant
1001Izzy T RimJapan2024-05-29Buckley Miller Wright NEGOTIATION26Xuxue Feng
1002Mayumi E OldroydGermany2024-06-17Rousseaux, Michael Esq NEGOTIATION32Anna Fali
1003Cody K WieserCanada2024-05-23King, Christopher A Esq NEGOTIATION29Ivan Magalhaes
1004Isabel A GillianAustralia2024-06-18Rangoni Of Florence NEW43Onyama Limba
1005Jefferson V VenereJapan2024-06-06Rangoni Of Florence NEGOTIATION23Bernardo Dominic
1006Juan K SaylorsAustralia2024-06-01Commercial Press QUALIFIED64Amy Elsner
1007Wickens D MaletRussia2024-06-02Dorl, James J Esq PROPOSAL97Xuxue Feng
1008Leon E FigeroaItaly2024-06-13Chemel, James L Cpa NEW50Ioni Bowcher
1009Stacey R RulapaughSpain2024-06-18Feltz Printing Service PROPOSAL9Stephen Shaw
1010Costa O ButtItaly2024-05-26Chanay, Jeffrey A Esq UNQUALIFIED98Asiya Javayant
1011Antonio E NestleCanada2024-05-23Rangoni Of Florence RENEWAL51Anna Fali
1012Clifford T RimCanada2024-05-23Feltz Printing Service PROPOSAL1Bernardo Dominic
1013Silvio O OstroskyFrance2024-06-01Morlong Associates NEW8Elwin Sharvill
1014Costa K StensethSpain2024-06-19Feiner Bros UNQUALIFIED76Ioni Bowcher
1015Ashley I RimJapan2024-05-24Commercial Press PROPOSAL49Ioni Bowcher
1016Francesco F WhobreyItaly2024-06-07Truhlar And Truhlar Attys NEW16Anna Fali
1017Nicolas K IturbideFrance2024-06-03Morlong Associates NEW79Bernardo Dominic
1018Stacey R BriddickBrazil2024-05-25Commercial Press QUALIFIED5Anna Fali
1019Tony P RutaFrance2024-05-24Chanay, Jeffrey A Esq NEW0Ioni Bowcher
1020David N RimIndia2024-06-11Dorl, James J Esq RENEWAL47Elwin Sharvill
1021Johnson R CaudyAustralia2024-05-27Chapman, Ross E Esq PROPOSAL87Stephen Shaw
1022Mujtaba Q AlbaresCanada2024-06-02Dorl, James J Esq NEW75Anna Fali
1023Darci F SlusarskiUnited Kingdom2024-06-21Dorl, James J Esq QUALIFIED55Asiya Javayant
1024Jennifer H AlbaresIndia2024-05-31Chemel, James L Cpa NEW28Asiya Javayant
1025Murillo I KuskoIndia2024-06-10Chapman, Ross E Esq RENEWAL14Onyama Limba
1026Maisha E OstroskyRussia2024-06-07Chanay, Jeffrey A Esq QUALIFIED45Asiya Javayant
1027Faith S FollerGermany2024-06-20Rangoni Of Florence NEW64Anna Fali
1028Johnson Q MarrierUnited Kingdom2024-06-16Chapman, Ross E Esq PROPOSAL98Xuxue Feng
1029Darci E VenereBrazil2024-06-06Dorl, James J Esq QUALIFIED27Elwin Sharvill
1030Rodrigues K VenereAustralia2024-05-24Morlong Associates RENEWAL53Stephen Shaw
1031Misaki B FlosiSpain2024-06-19Dorl, James J Esq RENEWAL83Bernardo Dominic
1032Sinclair M MaletUnited Kingdom2024-06-01Dorl, James J Esq NEW10Elwin Sharvill
1033Jeanfrancois Y FigeroaGermany2024-06-03Chapman, Ross E Esq NEGOTIATION33Onyama Limba
1034Morrow X NestleUnited Kingdom2024-05-31Feiner Bros PROPOSAL22Asiya Javayant
1035Stacey I InouyeBrazil2024-06-10Chanay, Jeffrey A Esq PROPOSAL65Amy Elsner
1036Claire H MorascaSpain2024-05-25Chapman, Ross E Esq PROPOSAL26Ivan Magalhaes
1037Deepesh L IturbideRussia2024-06-12Chemel, James L Cpa QUALIFIED31Stephen Shaw
1038Julie B CaudyRussia2024-06-06Feiner Bros NEW60Stephen Shaw
1039Arvin W WieserItaly2024-06-21Rousseaux, Michael Esq UNQUALIFIED6Asiya Javayant
1040Nicolas V InouyeCanada2024-05-28King, Christopher A Esq NEGOTIATION52Onyama Limba
1041Ivar W DilliardArgentina2024-05-28Rousseaux, Michael Esq RENEWAL78Elwin Sharvill
1042Morrow W ChuiJapan2024-06-11Chemel, James L Cpa RENEWAL49Amy Elsner
1043Francesco W IturbideArgentina2024-05-24Chanay, Jeffrey A Esq PROPOSAL26Anna Fali
1044Emily F FerenczUnited Kingdom2024-06-19Chemel, James L Cpa UNQUALIFIED92Asiya Javayant
1045Darci S FigeroaCanada2024-05-23Buckley Miller Wright NEW83Stephen Shaw
1046Octavia D SlusarskiGermany2024-06-20Rousseaux, Michael Esq NEW14Bernardo Dominic
1047Misaki U WaycottArgentina2024-06-19Chapman, Ross E Esq NEW50Elwin Sharvill
1048Mujtaba M OldroydArgentina2024-05-24Commercial Press PROPOSAL78Amy Elsner
1049Julie Z GillianSpain2024-06-03Chemel, James L Cpa NEW56Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Smith Q MarrierBrazilStephen Shaw NEW
Jennifer H FollerArgentinaElwin Sharvill RENEWAL
Mujtaba S DarakjyFranceStephen Shaw NEGOTIATION
Johnson B StensethUnited KingdomXuxue Feng NEGOTIATION
Silvio N WieserItalyOnyama Limba RENEWAL
Juan O FollerIndiaBernardo Dominic PROPOSAL
Claire O PaprockiRussiaAsiya Javayant NEW
Kadeem F SergiBrazilAsiya Javayant RENEWAL
Isabel F DoeCanadaBernardo Dominic NEW
Aditya V SlusarskiUnited KingdomElwin Sharvill NEW
Deepesh R MaletRussiaIoni Bowcher NEW
Jones H FerenczUnited KingdomXuxue Feng PROPOSAL
Misaki S WaycottUnited KingdomElwin Sharvill QUALIFIED
Deepesh P BriddickCanadaIvan Magalhaes NEW
Clifford B RutaArgentinaAmy Elsner NEGOTIATION
Faith V FerenczItalyElwin Sharvill NEW
Silvio U VenereGermanyAnna Fali UNQUALIFIED
Emily R BowleyCanadaAmy Elsner PROPOSAL
Johnson W KolmetzFranceAnna Fali RENEWAL
Alejandro J VocelkaCanadaBernardo Dominic QUALIFIED
Costa L RulapaughAustraliaBernardo Dominic QUALIFIED
Stacey L GillianJapanIvan Magalhaes UNQUALIFIED
Murillo K OstroskyUnited KingdomOnyama Limba UNQUALIFIED
Kadeem M RoysterBrazilXuxue Feng NEW
James I BriddickArgentinaBernardo Dominic UNQUALIFIED
Kaitlin L VenereRussiaOnyama Limba UNQUALIFIED
Salvatore K GauchoArgentinaAnna Fali PROPOSAL
Leon Q MacleadArgentinaAnna Fali QUALIFIED
Misaki M DoeCanadaAsiya Javayant RENEWAL
Stacey Y BologniaSpainStephen Shaw UNQUALIFIED
Claire J GarufiArgentinaXuxue Feng UNQUALIFIED
Claire C NickaFranceAsiya Javayant NEW
Johnson Q GauchoIndiaElwin Sharvill UNQUALIFIED
Julie W MorascaSpainOnyama Limba PROPOSAL
Silvio F StockhamSpainAmy Elsner NEGOTIATION
Julie N CaudyCanadaOnyama Limba NEW
Kadeem G GarufiRussiaOnyama Limba NEW
Mujtaba R FollerItalyIoni Bowcher NEGOTIATION
Emily C BologniaFranceIoni Bowcher RENEWAL
Juan T GauchoFranceOnyama Limba NEGOTIATION
Stacey C KuskoUnited KingdomOnyama Limba RENEWAL
Costa B PerinJapanAmy Elsner QUALIFIED
Aditya L RimArgentinaIvan Magalhaes UNQUALIFIED
Ivar Q FerenczAustraliaIvan Magalhaes RENEWAL
Cody L RimItalyElwin Sharvill NEW
David G AlbaresAustraliaAmy Elsner RENEWAL
Maria N CaudyItalyStephen Shaw PROPOSAL
Juan M NickaItalyIoni Bowcher QUALIFIED
Wickens Z AmigonBrazilXuxue Feng PROPOSAL
Silvio H WieserItalyIvan Magalhaes RENEWAL
Frozen Columns
Name
Faith A Glick
Greenwood N Ferencz
Izzy P Chui
Jones H Caudy
Jones D Ferencz
Faith G Paprocki
Ricardo X Perin
Faith Q Shinko
Misaki U Butt
Smith Z Gaucho
Costa T Nicka
Murillo K Schemmer
Jefferson A Wieser
Leja Y Amigon
Antonio M Wieser
Claire F Gaucho
Stacey B Inouye
Silvio U Sergi
Leon G Paprocki
Jeanfrancois Q Dilliard
Aika Y Caldarera
Rodrigues E Foller
Emily I Gillian
Sinclair A Perin
Mujtaba V Ferencz
Antonio N Wieser
Arvin W Kolmetz
Chavez F Venere
Smith E Amigon
Johnson W Oldroyd
Mujtaba Y Sergi
Francesco H Shinko
Munro P Amigon
Rodrigues J Kusko
Mujtaba J Darakjy
Kaitlin I Nestle
Izzy N Inouye
Maisha S Vocelka
Munro B Kolmetz
Aditya F Doe
Jeanfrancois C Butt
Cody A Malet
Aditya F Kusko
Emily P Garufi
Salvatore R Stockham
Kadeem Q Caldarera
Silvio Y Bowley
Jefferson J Figeroa
Mujtaba E Malet
Emily A Garufi
IdCountryDate
1000Canada2024-05-24
1001Italy2024-06-19
1002Canada2024-06-10
1003Spain2024-06-09
1004United Kingdom2024-06-02
1005India2024-06-20
1006Argentina2024-06-17
1007Spain2024-06-16
1008India2024-06-13
1009Italy2024-05-28
1010Japan2024-06-01
1011Italy2024-05-31
1012Germany2024-05-24
1013Japan2024-05-26
1014Canada2024-05-30
1015Argentina2024-06-01
1016Argentina2024-05-24
1017Italy2024-06-16
1018Japan2024-05-28
1019Japan2024-05-26
1020India2024-06-17
1021Brazil2024-06-13
1022Argentina2024-06-20
1023Spain2024-05-26
1024Japan2024-06-11
1025Argentina2024-05-27
1026Australia2024-05-24
1027France2024-05-30
1028India2024-06-04
1029Russia2024-06-05
1030Germany2024-06-03
1031Italy2024-05-30
1032Australia2024-06-08
1033Germany2024-06-18
1034United Kingdom2024-06-18
1035India2024-05-28
1036France2024-06-13
1037Germany2024-05-25
1038Argentina2024-05-26
1039France2024-05-24
1040Australia2024-06-11
1041Australia2024-06-14
1042Japan2024-06-09
1043Argentina2024-06-18
1044Italy2024-05-29
1045Australia2024-06-02
1046France2024-05-29
1047Brazil2024-06-04
1048Argentina2024-06-08
1049Spain2024-05-26

On-Demand Data

NameIdCountryDate
Kadeem N Shinko1000United Kingdom2024-06-01
Kadeem E Perin1001Canada2024-05-28
Aika M Paprocki1002Australia2024-05-23
Ashley R Foller1003Spain2024-06-11
Antonio O Rulapaugh1004Brazil2024-06-15
Ashley Z Whobrey1005Italy2024-06-17
Aditya V Glick1006Japan2024-06-03
Jeanfrancois G Amigon1007Canada2024-06-21
Chavez L Sergi1008Russia2024-06-18
Ashley W Campain1009Russia2024-06-08
Jefferson H Rulapaugh1010Spain2024-06-21
Stacey U Campain1011Japan2024-05-24
Aika I Waycott1012Argentina2024-06-14
Jeanfrancois N Butt1013Australia2024-06-02
Emily D Gaucho1014Spain2024-06-20
Ricardo S Darakjy1015France2024-06-17
Jeanfrancois W Campain1016France2024-06-03
Kadeem U Doe1017Argentina2024-06-10
Ricardo X Bolognia1018Japan2024-06-18
Tony R Vocelka1019Germany2024-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel K PaprockiCanadaIoni Bowcher UNQUALIFIED
Maisha U PaprockiRussiaAsiya Javayant UNQUALIFIED
Emily N FlosiSpainIvan Magalhaes UNQUALIFIED
Sinclair I CampainRussiaBernardo Dominic NEGOTIATION
Rodrigues O RulapaughRussiaXuxue Feng NEW
Johnson D FlosiIndiaAnna Fali UNQUALIFIED
Octavia X OldroydGermanyOnyama Limba UNQUALIFIED
Izzy I WieserJapanOnyama Limba PROPOSAL
Aruna V BriddickRussiaAsiya Javayant UNQUALIFIED
Octavia P StockhamAustraliaIvan Magalhaes PROPOSAL
James T PaprockiFranceIoni Bowcher NEGOTIATION
Aruna F VenereItalyIvan Magalhaes NEW
Deepesh S RulapaughFranceAmy Elsner NEGOTIATION
Aika X ShinkoAustraliaIoni Bowcher RENEWAL
Emily Y ShinkoAustraliaIvan Magalhaes NEGOTIATION
Maisha N MacleadUnited KingdomStephen Shaw NEGOTIATION
Leon O IturbideFranceOnyama Limba UNQUALIFIED
Jones T MarrierItalyStephen Shaw QUALIFIED
Emily U WhobreyJapanIvan Magalhaes NEGOTIATION
Munro P RutaUnited KingdomOnyama Limba RENEWAL
Julie L GlickAustraliaOnyama Limba QUALIFIED
Kaitlin F GillianJapanAnna Fali NEGOTIATION
Silvio P RulapaughRussiaStephen Shaw NEGOTIATION
Smith H InouyeIndiaOnyama Limba PROPOSAL
Faith L RoysterIndiaAsiya Javayant PROPOSAL
Aditya Q PerinArgentinaAmy Elsner NEGOTIATION
Maria Q VenereBrazilStephen Shaw PROPOSAL
Tony M SchemmerRussiaAnna Fali PROPOSAL
Nicolas A StensethItalyStephen Shaw NEGOTIATION
Salvatore V PerinFranceBernardo Dominic NEW
Ricardo B KolmetzAustraliaOnyama Limba PROPOSAL
Claire W WieserUnited KingdomBernardo Dominic RENEWAL
Murillo D GauchoCanadaIoni Bowcher UNQUALIFIED
Ricardo F StockhamRussiaStephen Shaw UNQUALIFIED
Munro N MacleadArgentinaOnyama Limba NEW
Julie Q StockhamItalyXuxue Feng QUALIFIED
Isabel M CaudyItalyBernardo Dominic RENEWAL
Jones Z NickaBrazilAmy Elsner NEW
Ivar Y RoysterArgentinaElwin Sharvill PROPOSAL
Deepesh I AlbaresBrazilStephen Shaw 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>