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
Tony A AlbaresItalyStephen Shaw NEGOTIATION
Silvio Z RoysterGermanyAmy Elsner UNQUALIFIED
Morrow S NickaFranceBernardo Dominic UNQUALIFIED
Chavez Y InouyeArgentinaXuxue Feng PROPOSAL
Aditya A IturbideBrazilXuxue Feng RENEWAL
Izzy D MacleadAustraliaElwin Sharvill UNQUALIFIED
Kaitlin Q FigeroaSpainAsiya Javayant NEGOTIATION
Antonio A CampainFranceStephen Shaw NEW
Salvatore K OldroydJapanAsiya Javayant PROPOSAL
Ricardo A OldroydArgentinaIvan Magalhaes QUALIFIED
Murillo I ButtSpainAnna Fali RENEWAL
Arvin H MaletItalyAnna Fali RENEWAL
David D MaletRussiaOnyama Limba NEW
Tony P PoquetteJapanAsiya Javayant NEGOTIATION
Antonio U DarakjySpainIvan Magalhaes UNQUALIFIED
Octavia D OldroydAustraliaIvan Magalhaes NEGOTIATION
Jennifer H StensethArgentinaStephen Shaw UNQUALIFIED
Alejandro R SchemmerIndiaAmy Elsner QUALIFIED
Juan O OldroydFranceIoni Bowcher PROPOSAL
Emily F MorascaIndiaAsiya Javayant PROPOSAL
David G AlbaresJapanElwin Sharvill QUALIFIED
Emily A WaycottSpainXuxue Feng RENEWAL
Maria Z ButtUnited KingdomIoni Bowcher NEW
Chavez V PerinBrazilAmy Elsner UNQUALIFIED
Maria P CaudyIndiaOnyama Limba NEW
Jennifer S KolmetzCanadaAmy Elsner UNQUALIFIED
Jennifer F FerenczJapanStephen Shaw NEGOTIATION
Salvatore S GillianIndiaStephen Shaw UNQUALIFIED
Munro Q GauchoGermanyOnyama Limba NEGOTIATION
Adams C OstroskyItalyStephen Shaw NEGOTIATION
Wickens G BowleyRussiaIvan Magalhaes UNQUALIFIED
Deepesh I VenereJapanXuxue Feng PROPOSAL
Deepesh S GauchoJapanElwin Sharvill PROPOSAL
Faith I WhobreyBrazilAmy Elsner RENEWAL
Salvatore D MacleadArgentinaAsiya Javayant NEW
Ashley M FigeroaCanadaBernardo Dominic PROPOSAL
Aruna J KolmetzFranceIoni Bowcher QUALIFIED
Mayumi X FigeroaSpainBernardo Dominic PROPOSAL
Sinclair I OldroydBrazilAmy Elsner UNQUALIFIED
James P MaletBrazilXuxue Feng QUALIFIED
Greenwood C DarakjyArgentinaAsiya Javayant UNQUALIFIED
Jeanfrancois G GauchoBrazilIoni Bowcher NEGOTIATION
Antonio S BriddickUnited KingdomIvan Magalhaes RENEWAL
Faith H TollnerSpainOnyama Limba PROPOSAL
Kadeem K BriddickUnited KingdomBernardo Dominic QUALIFIED
Isabel R VenereCanadaAnna Fali QUALIFIED
Kadeem C IturbideBrazilXuxue Feng PROPOSAL
David I OstroskyItalyAmy Elsner QUALIFIED
Misaki T GillianItalyIoni Bowcher QUALIFIED
Salvatore Q StensethJapanAmy Elsner PROPOSAL
Horizontal
NameCountryRepresentativeStatus
David K BowleyJapanAsiya Javayant NEGOTIATION
Faith A FigeroaRussiaElwin Sharvill RENEWAL
David K MarrierIndiaOnyama Limba PROPOSAL
Isabel M MarrierJapanAnna Fali PROPOSAL
Kadeem A FigeroaIndiaOnyama Limba QUALIFIED
Tony M AlbaresJapanAnna Fali NEGOTIATION
Mujtaba J RoysterSpainElwin Sharvill NEGOTIATION
Faith V BriddickGermanyIoni Bowcher PROPOSAL
Octavia A StensethIndiaIoni Bowcher QUALIFIED
Silvio E StensethArgentinaAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer D ShinkoCanada2024-06-15Morlong Associates NEW1Ioni Bowcher
1001Mujtaba V DilliardArgentina2024-05-26Printing Dimensions RENEWAL95Ivan Magalhaes
1002Nicolas S CaldareraSpain2024-05-31Truhlar And Truhlar Attys NEGOTIATION0Bernardo Dominic
1003Leon N VocelkaAustralia2024-06-06Feiner Bros NEGOTIATION5Ioni Bowcher
1004Murillo J MacleadAustralia2024-05-30Rangoni Of Florence PROPOSAL7Stephen Shaw
1005Clifford N PaprockiGermany2024-06-02Truhlar And Truhlar Attys PROPOSAL40Ivan Magalhaes
1006Ricardo T FollerBrazil2024-06-08Chapman, Ross E Esq UNQUALIFIED3Onyama Limba
1007Claire Z MaletBrazil2024-06-16Chapman, Ross E Esq UNQUALIFIED27Anna Fali
1008Faith H CaudyCanada2024-06-21Chemel, James L Cpa NEW9Xuxue Feng
1009Leon A CaldareraBrazil2024-05-27Chapman, Ross E Esq UNQUALIFIED74Amy Elsner
1010Emily V FigeroaItaly2024-06-23Feiner Bros QUALIFIED34Stephen Shaw
1011Nicolas B VenereRussia2024-06-14King, Christopher A Esq NEGOTIATION80Asiya Javayant
1012Wickens D KolmetzBrazil2024-06-16Feiner Bros RENEWAL53Onyama Limba
1013Jennifer L WhobreyGermany2024-06-01Benton, John B Jr RENEWAL69Anna Fali
1014Ivar R PerinIndia2024-06-14Benton, John B Jr NEW24Asiya Javayant
1015Aditya X TollnerFrance2024-06-24Buckley Miller Wright NEGOTIATION90Elwin Sharvill
1016Cody V MacleadCanada2024-06-13Morlong Associates NEW59Xuxue Feng
1017Johnson C StockhamItaly2024-06-24Morlong Associates RENEWAL92Amy Elsner
1018Claire H WhobreyArgentina2024-06-14Printing Dimensions QUALIFIED79Anna Fali
1019Greenwood P PoquetteUnited Kingdom2024-06-13Rousseaux, Michael Esq QUALIFIED55Asiya Javayant
1020Leja I FigeroaRussia2024-06-18Benton, John B Jr UNQUALIFIED46Amy Elsner
1021Murillo G MarrierRussia2024-06-03Benton, John B Jr PROPOSAL65Onyama Limba
1022Izzy E FollerBrazil2024-05-28Chapman, Ross E Esq NEW38Ivan Magalhaes
1023Maria N FigeroaJapan2024-06-14Commercial Press RENEWAL79Stephen Shaw
1024Wickens E IturbideAustralia2024-05-28Dorl, James J Esq QUALIFIED34Ivan Magalhaes
1025Tony T KuskoBrazil2024-06-12King, Christopher A Esq UNQUALIFIED75Ivan Magalhaes
1026David Y ChuiFrance2024-05-28Dorl, James J Esq QUALIFIED40Onyama Limba
1027James F BowleyGermany2024-06-09Buckley Miller Wright QUALIFIED96Ivan Magalhaes
1028Emily H SchemmerBrazil2024-06-04Chapman, Ross E Esq RENEWAL14Onyama Limba
1029Ivar H PerinRussia2024-06-05King, Christopher A Esq RENEWAL70Ivan Magalhaes
1030Emily W RulapaughAustralia2024-06-17Truhlar And Truhlar Attys NEGOTIATION70Ivan Magalhaes
1031Kaitlin O DarakjyJapan2024-06-04Benton, John B Jr PROPOSAL81Ioni Bowcher
1032Faith T GauchoGermany2024-06-12Commercial Press RENEWAL30Bernardo Dominic
1033Leja Q MaletArgentina2024-06-07Dorl, James J Esq NEGOTIATION3Onyama Limba
1034Adams J RimGermany2024-06-06Commercial Press QUALIFIED67Elwin Sharvill
1035Maisha C DarakjyJapan2024-06-10Chanay, Jeffrey A Esq RENEWAL56Onyama Limba
1036Tony P WaycottAustralia2024-06-22Buckley Miller Wright NEW41Stephen Shaw
1037Ashley A CaudyArgentina2024-05-31King, Christopher A Esq UNQUALIFIED34Stephen Shaw
1038Julie X OstroskyBrazil2024-06-19Dorl, James J Esq RENEWAL24Xuxue Feng
1039Arvin U OstroskyUnited Kingdom2024-06-22Feiner Bros QUALIFIED40Anna Fali
1040James C GillianBrazil2024-06-05Chapman, Ross E Esq PROPOSAL14Ioni Bowcher
1041Izzy Q FigeroaJapan2024-06-08Feiner Bros QUALIFIED3Ivan Magalhaes
1042Deepesh M FerenczAustralia2024-06-21Chemel, James L Cpa NEGOTIATION60Anna Fali
1043Munro G SergiFrance2024-06-14Dorl, James J Esq RENEWAL25Onyama Limba
1044Salvatore L MorascaRussia2024-06-12Printing Dimensions NEGOTIATION29Anna Fali
1045Julie E KolmetzRussia2024-05-27Chanay, Jeffrey A Esq RENEWAL57Anna Fali
1046Munro J StockhamItaly2024-06-20Truhlar And Truhlar Attys NEW85Elwin Sharvill
1047Maisha G DoeUnited Kingdom2024-05-26Rousseaux, Michael Esq NEW4Stephen Shaw
1048Adams E PoquetteJapan2024-06-03Truhlar And Truhlar Attys NEGOTIATION4Elwin Sharvill
1049Wickens Q NickaAustralia2024-06-20Rousseaux, Michael Esq PROPOSAL38Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Morrow I IturbideBrazilBernardo Dominic PROPOSAL
Kadeem V FlosiSpainAmy Elsner QUALIFIED
Claire T TollnerFranceXuxue Feng UNQUALIFIED
Wickens P AmigonUnited KingdomOnyama Limba RENEWAL
Emily R SlusarskiCanadaXuxue Feng RENEWAL
Francesco B OstroskyArgentinaAsiya Javayant NEW
Deepesh Z IturbideIndiaElwin Sharvill UNQUALIFIED
Silvio M RulapaughSpainElwin Sharvill UNQUALIFIED
Alejandro H PoquetteAustraliaAnna Fali PROPOSAL
Aditya S InouyeUnited KingdomOnyama Limba QUALIFIED
Clifford N FigeroaFranceStephen Shaw UNQUALIFIED
Izzy H RimSpainBernardo Dominic NEGOTIATION
Francesco I TollnerItalyAsiya Javayant RENEWAL
Misaki F ButtIndiaXuxue Feng QUALIFIED
Leon A MorascaIndiaElwin Sharvill NEW
Cody Z GarufiCanadaBernardo Dominic QUALIFIED
Julie R WhobreyBrazilAsiya Javayant PROPOSAL
Jefferson H KolmetzSpainIvan Magalhaes NEGOTIATION
Wickens G ButtBrazilBernardo Dominic NEW
Johnson E DilliardBrazilStephen Shaw RENEWAL
Chavez T CampainJapanAnna Fali PROPOSAL
Aditya A MaletGermanyAnna Fali NEW
Emily X OldroydBrazilXuxue Feng NEW
Munro D MacleadArgentinaAmy Elsner NEW
Alejandro Y MorascaJapanIvan Magalhaes NEW
Chavez U IturbideBrazilAsiya Javayant QUALIFIED
Kadeem B NickaItalyBernardo Dominic QUALIFIED
Emily O DilliardAustraliaBernardo Dominic RENEWAL
Julie O MarrierUnited KingdomIvan Magalhaes UNQUALIFIED
Silvio P MaletArgentinaIoni Bowcher UNQUALIFIED
Salvatore S NickaUnited KingdomBernardo Dominic NEGOTIATION
Faith Y WaycottFranceBernardo Dominic QUALIFIED
Nicolas Q FerenczAustraliaStephen Shaw NEW
Costa T DilliardAustraliaAsiya Javayant RENEWAL
Kaitlin L GarufiItalyIoni Bowcher QUALIFIED
Deepesh P FigeroaBrazilAnna Fali NEW
Darci F NestleGermanyElwin Sharvill UNQUALIFIED
Stacey Y MaletIndiaOnyama Limba NEW
Greenwood W DoeFranceIoni Bowcher UNQUALIFIED
Jeanfrancois L DilliardCanadaAnna Fali RENEWAL
Tony T RoysterGermanyAmy Elsner QUALIFIED
Jennifer Q FerenczRussiaAmy Elsner RENEWAL
Cody K RoysterAustraliaIvan Magalhaes QUALIFIED
Julie X BowleyItalyAnna Fali NEGOTIATION
Greenwood F WaycottAustraliaBernardo Dominic NEGOTIATION
Johnson N ShinkoSpainIoni Bowcher UNQUALIFIED
Mujtaba A DilliardUnited KingdomIoni Bowcher QUALIFIED
Ricardo G StockhamRussiaAmy Elsner NEW
Octavia P RimCanadaStephen Shaw NEW
Silvio F BriddickRussiaElwin Sharvill PROPOSAL
Frozen Columns
Name
Salvatore X Nicka
Leja G Tollner
Deepesh Z Inouye
Octavia U Albares
Munro M Wieser
Morrow C Rulapaugh
Alejandro P Sergi
Wickens K Rulapaugh
Rodrigues F Inouye
Adams G Caudy
Mayumi T Dilliard
Octavia K Stenseth
Ashley Z Perin
Nicolas U Nicka
Salvatore E Butt
Ivar U Malet
Leja T Bolognia
Rodrigues V Briddick
Aika F Rim
Aditya U Ostrosky
Leon Y Vocelka
Jefferson G Rim
Munro T Saylors
Alejandro K Venere
Maisha X Vocelka
Costa V Glick
Costa Q Glick
Faith I Amigon
Faith P Wieser
Ricardo U Darakjy
Faith S Morasca
Ivar K Slusarski
Juan K Shinko
Jennifer X Poquette
Darci Q Marrier
Kaitlin P Nestle
Wickens X Chui
Kadeem F Stenseth
Murillo I Malet
Deepesh U Chui
Kaitlin M Wieser
Mayumi O Tollner
Jeanfrancois R Garufi
Antonio C Rim
Smith S Gillian
Nicolas S Poquette
Jennifer G Whobrey
Nicolas G Wieser
Clifford R Albares
Leja T Foller
IdCountryDate
1000Japan2024-06-03
1001Italy2024-05-31
1002Japan2024-06-11
1003France2024-06-17
1004United Kingdom2024-06-02
1005France2024-06-23
1006Argentina2024-06-17
1007Australia2024-06-07
1008Argentina2024-06-06
1009Spain2024-05-26
1010Russia2024-06-06
1011Brazil2024-06-02
1012Russia2024-06-21
1013Australia2024-06-10
1014Brazil2024-05-30
1015Canada2024-06-22
1016United Kingdom2024-06-01
1017Brazil2024-06-07
1018Spain2024-06-05
1019India2024-05-30
1020France2024-06-16
1021United Kingdom2024-06-16
1022Canada2024-05-27
1023Italy2024-06-13
1024Australia2024-06-03
1025Spain2024-06-13
1026Australia2024-05-26
1027Canada2024-06-08
1028India2024-06-09
1029Canada2024-06-03
1030United Kingdom2024-06-09
1031Italy2024-06-19
1032Canada2024-06-21
1033India2024-06-04
1034Spain2024-06-21
1035United Kingdom2024-06-15
1036Italy2024-06-22
1037Australia2024-06-09
1038France2024-06-10
1039Russia2024-06-12
1040Spain2024-06-21
1041Japan2024-06-07
1042United Kingdom2024-05-30
1043Russia2024-06-09
1044France2024-06-11
1045Italy2024-06-01
1046United Kingdom2024-06-01
1047Canada2024-05-30
1048Argentina2024-06-13
1049Russia2024-06-12

On-Demand Data

NameIdCountryDate
Wickens Q Malet1000Canada2024-06-21
Misaki F Perin1001Italy2024-05-30
Izzy N Chui1002Argentina2024-05-31
Salvatore Z Kolmetz1003Russia2024-06-03
Jeanfrancois O Saylors1004Argentina2024-06-05
James X Gillian1005Brazil2024-06-04
Arvin W Schemmer1006Germany2024-06-04
Arvin P Rim1007Australia2024-05-27
Jones P Vocelka1008Germany2024-06-20
Aruna F Campain1009Canada2024-06-04
Izzy W Nestle1010United Kingdom2024-06-17
Cody H Ferencz1011Japan2024-06-23
Jones H Stenseth1012Australia2024-06-04
Clifford Q Malet1013France2024-05-26
Salvatore J Glick1014Germany2024-05-26
David H Poquette1015Brazil2024-06-11
James Y Doe1016Russia2024-05-29
Jennifer U Doe1017Russia2024-05-30
Tony R Gillian1018Germany2024-05-27
Smith G Briddick1019Spain2024-06-13
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas S GlickIndiaXuxue Feng RENEWAL
Misaki W AlbaresAustraliaIvan Magalhaes UNQUALIFIED
Aika A MarrierItalyBernardo Dominic NEW
Kaitlin J PerinFranceBernardo Dominic NEGOTIATION
Julie Q AmigonBrazilXuxue Feng RENEWAL
Munro U KolmetzGermanyOnyama Limba PROPOSAL
Ashley S BologniaFranceIoni Bowcher NEW
Silvio P MaletUnited KingdomXuxue Feng NEW
Greenwood G GillianUnited KingdomOnyama Limba RENEWAL
Jeanfrancois E MarrierArgentinaAnna Fali UNQUALIFIED
Octavia Q SaylorsSpainElwin Sharvill NEW
Maisha K GarufiUnited KingdomIvan Magalhaes PROPOSAL
Silvio Y FerenczIndiaAsiya Javayant PROPOSAL
Costa B MorascaJapanIvan Magalhaes NEW
Rodrigues R MaletSpainIoni Bowcher RENEWAL
Mayumi A DoeSpainIvan Magalhaes NEGOTIATION
Mayumi D CaudyArgentinaBernardo Dominic NEW
Izzy R DarakjyFranceBernardo Dominic NEGOTIATION
David N GillianBrazilIvan Magalhaes QUALIFIED
Julie X SaylorsRussiaIvan Magalhaes RENEWAL
Jefferson F WhobreyArgentinaAsiya Javayant UNQUALIFIED
Rodrigues N PerinArgentinaOnyama Limba NEGOTIATION
Antonio T GlickUnited KingdomAnna Fali UNQUALIFIED
Chavez M PerinItalyIoni Bowcher UNQUALIFIED
Kaitlin D SaylorsBrazilOnyama Limba QUALIFIED
Silvio U FigeroaArgentinaIoni Bowcher RENEWAL
Misaki E PoquetteRussiaBernardo Dominic RENEWAL
Antonio P KuskoAustraliaIvan Magalhaes NEW
Izzy D CampainIndiaAmy Elsner PROPOSAL
David B CaudyJapanStephen Shaw PROPOSAL
Morrow F OstroskyItalyStephen Shaw RENEWAL
Alejandro D NestleSpainIoni Bowcher PROPOSAL
Clifford Z DoeItalyIoni Bowcher PROPOSAL
Faith S GauchoRussiaIvan Magalhaes QUALIFIED
Sinclair D SchemmerItalyOnyama Limba NEGOTIATION
Stacey G WieserCanadaElwin Sharvill PROPOSAL
Francesco G MarrierRussiaStephen Shaw NEGOTIATION
Chavez S BologniaIndiaElwin Sharvill RENEWAL
Faith N CaudyIndiaBernardo Dominic NEGOTIATION
Jeanfrancois R FlosiBrazilIoni Bowcher 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>