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
Johnson U IturbideUnited KingdomAnna Fali PROPOSAL
Costa K MaletBrazilIvan Magalhaes NEGOTIATION
Adams X BriddickIndiaIvan Magalhaes RENEWAL
Sinclair U ButtUnited KingdomIvan Magalhaes NEGOTIATION
Arvin S AmigonIndiaOnyama Limba QUALIFIED
Stacey V RulapaughIndiaBernardo Dominic RENEWAL
Faith G MaletIndiaElwin Sharvill NEW
Izzy O DarakjyIndiaIoni Bowcher NEGOTIATION
Leon W WieserJapanAmy Elsner QUALIFIED
Jennifer I RulapaughItalyAmy Elsner RENEWAL
Mujtaba B BowleyArgentinaBernardo Dominic RENEWAL
Faith F SlusarskiRussiaStephen Shaw NEW
Jennifer A MaletGermanyOnyama Limba RENEWAL
Antonio R StockhamCanadaIoni Bowcher NEGOTIATION
Sinclair E BologniaRussiaAmy Elsner QUALIFIED
Jefferson P GillianCanadaAnna Fali NEGOTIATION
Leon T IturbideArgentinaIvan Magalhaes QUALIFIED
Smith A RoysterUnited KingdomIoni Bowcher UNQUALIFIED
Aika L BowleyBrazilStephen Shaw QUALIFIED
Nicolas F ShinkoFranceXuxue Feng RENEWAL
Isabel R FlosiBrazilIvan Magalhaes PROPOSAL
Kaitlin S DoeSpainIvan Magalhaes NEGOTIATION
Greenwood I GarufiFranceAsiya Javayant NEW
Silvio I MaletGermanyAmy Elsner PROPOSAL
Octavia S FlosiFranceAmy Elsner PROPOSAL
Ricardo P KolmetzUnited KingdomIoni Bowcher QUALIFIED
David L PerinArgentinaOnyama Limba UNQUALIFIED
Misaki E RulapaughCanadaIoni Bowcher NEGOTIATION
Kaitlin L SlusarskiUnited KingdomAmy Elsner RENEWAL
Stacey J CaudyBrazilAsiya Javayant QUALIFIED
Jefferson D CaldareraAustraliaAmy Elsner PROPOSAL
Chavez U ShinkoAustraliaAsiya Javayant NEGOTIATION
Wickens E DoeAustraliaAsiya Javayant NEW
Adams M WieserRussiaOnyama Limba QUALIFIED
Deepesh D VenereAustraliaAmy Elsner PROPOSAL
Alejandro Z DarakjyArgentinaAmy Elsner NEGOTIATION
Ricardo I RutaUnited KingdomElwin Sharvill NEW
James O PoquetteJapanOnyama Limba RENEWAL
Antonio O SergiItalyXuxue Feng RENEWAL
Cody Z DoeUnited KingdomOnyama Limba RENEWAL
Octavia F SlusarskiRussiaElwin Sharvill RENEWAL
Munro B RulapaughIndiaElwin Sharvill UNQUALIFIED
Murillo M RoysterArgentinaBernardo Dominic PROPOSAL
Murillo Y RoysterGermanyOnyama Limba NEGOTIATION
Chavez U VenereFranceAmy Elsner NEGOTIATION
David V InouyeSpainOnyama Limba UNQUALIFIED
Misaki B GauchoArgentinaXuxue Feng UNQUALIFIED
Rodrigues H DilliardBrazilIoni Bowcher UNQUALIFIED
Maria N GauchoAustraliaAmy Elsner NEW
Smith C SergiArgentinaIoni Bowcher QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Sinclair T AmigonGermanyStephen Shaw UNQUALIFIED
Nicolas G KolmetzFranceAnna Fali RENEWAL
Tony Y RimUnited KingdomBernardo Dominic PROPOSAL
Clifford V ChuiRussiaIvan Magalhaes NEGOTIATION
Arvin B OldroydCanadaStephen Shaw NEW
Alejandro J MacleadUnited KingdomXuxue Feng UNQUALIFIED
Izzy L KuskoJapanOnyama Limba RENEWAL
Greenwood M PerinSpainStephen Shaw NEGOTIATION
James G StensethJapanIoni Bowcher UNQUALIFIED
Jeanfrancois G IturbideItalyElwin Sharvill PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Morrow M BologniaItaly2024-06-11Printing Dimensions PROPOSAL28Xuxue Feng
1001Morrow K KuskoUnited Kingdom2024-06-04Commercial Press UNQUALIFIED79Asiya Javayant
1002Alejandro P MaletAustralia2024-05-30Chanay, Jeffrey A Esq NEW38Ivan Magalhaes
1003Ivar K IturbideFrance2024-06-06Buckley Miller Wright NEGOTIATION83Asiya Javayant
1004Isabel Q CaudyItaly2024-05-28Printing Dimensions PROPOSAL94Bernardo Dominic
1005Silvio W FerenczCanada2024-05-24Truhlar And Truhlar Attys NEW14Asiya Javayant
1006Costa J CaudyIndia2024-06-07King, Christopher A Esq UNQUALIFIED20Ioni Bowcher
1007Adams W InouyeItaly2024-06-12Chapman, Ross E Esq NEGOTIATION30Ivan Magalhaes
1008Leon Z BologniaItaly2024-06-05Chanay, Jeffrey A Esq RENEWAL82Elwin Sharvill
1009Rodrigues K MorascaSpain2024-06-13Truhlar And Truhlar Attys NEW77Elwin Sharvill
1010James F BologniaSpain2024-06-03Rangoni Of Florence RENEWAL6Ioni Bowcher
1011Chavez D GarufiGermany2024-05-26King, Christopher A Esq NEGOTIATION47Xuxue Feng
1012Costa B RulapaughArgentina2024-06-13Dorl, James J Esq NEW63Anna Fali
1013Costa T DoeUnited Kingdom2024-05-29Truhlar And Truhlar Attys RENEWAL56Amy Elsner
1014Leja I DilliardBrazil2024-06-04Benton, John B Jr PROPOSAL98Bernardo Dominic
1015Tony M DoeRussia2024-05-27Dorl, James J Esq RENEWAL77Onyama Limba
1016Kaitlin E FigeroaRussia2024-06-11Morlong Associates QUALIFIED64Anna Fali
1017Aika P AlbaresSpain2024-05-26Truhlar And Truhlar Attys PROPOSAL49Ioni Bowcher
1018Emily O PoquetteSpain2024-05-25Chemel, James L Cpa RENEWAL24Amy Elsner
1019Aditya C SlusarskiSpain2024-06-05Feltz Printing Service UNQUALIFIED20Asiya Javayant
1020Misaki U VocelkaIndia2024-06-06Rangoni Of Florence UNQUALIFIED68Ivan Magalhaes
1021Arvin T PerinSpain2024-06-14Chapman, Ross E Esq RENEWAL62Ioni Bowcher
1022Costa K MarrierIndia2024-06-02Rangoni Of Florence UNQUALIFIED38Elwin Sharvill
1023Murillo Q VenereFrance2024-06-10Feltz Printing Service QUALIFIED97Xuxue Feng
1024Mayumi F AlbaresSpain2024-05-26Rousseaux, Michael Esq QUALIFIED83Amy Elsner
1025Munro O PoquetteSpain2024-06-08King, Christopher A Esq QUALIFIED98Onyama Limba
1026Stacey V ShinkoArgentina2024-05-19Buckley Miller Wright RENEWAL64Ioni Bowcher
1027Ricardo W DoeCanada2024-06-11Commercial Press UNQUALIFIED14Ivan Magalhaes
1028Jones C WaycottArgentina2024-06-09Feltz Printing Service UNQUALIFIED9Asiya Javayant
1029Arvin U ChuiUnited Kingdom2024-06-12Rousseaux, Michael Esq UNQUALIFIED40Stephen Shaw
1030Maisha G SchemmerIndia2024-05-23Rangoni Of Florence RENEWAL45Asiya Javayant
1031Stacey I CaldareraUnited Kingdom2024-06-14King, Christopher A Esq NEGOTIATION13Anna Fali
1032Antonio O BowleyArgentina2024-05-23Commercial Press PROPOSAL7Onyama Limba
1033Jefferson V OstroskyJapan2024-06-01Chanay, Jeffrey A Esq NEGOTIATION45Ioni Bowcher
1034Tony I StensethGermany2024-06-12Printing Dimensions PROPOSAL34Anna Fali
1035Salvatore S VocelkaItaly2024-05-27Feltz Printing Service QUALIFIED5Amy Elsner
1036Claire Q SlusarskiFrance2024-06-08Rangoni Of Florence QUALIFIED96Amy Elsner
1037Aika B StockhamJapan2024-05-16Buckley Miller Wright UNQUALIFIED60Xuxue Feng
1038Sinclair F AlbaresArgentina2024-05-30Truhlar And Truhlar Attys PROPOSAL70Elwin Sharvill
1039Kaitlin Q BriddickArgentina2024-05-19King, Christopher A Esq UNQUALIFIED56Anna Fali
1040Izzy C RulapaughUnited Kingdom2024-06-08Commercial Press UNQUALIFIED66Onyama Limba
1041Alejandro U OstroskyUnited Kingdom2024-06-14Rangoni Of Florence NEW59Bernardo Dominic
1042Ashley H WhobreySpain2024-05-24Dorl, James J Esq NEW23Stephen Shaw
1043Francesco J WieserGermany2024-05-21Rousseaux, Michael Esq NEW24Amy Elsner
1044Faith E DilliardUnited Kingdom2024-06-07King, Christopher A Esq QUALIFIED24Elwin Sharvill
1045Jefferson H SaylorsSpain2024-06-07Chapman, Ross E Esq RENEWAL12Ivan Magalhaes
1046Darci W BologniaSpain2024-05-22Dorl, James J Esq QUALIFIED19Ivan Magalhaes
1047Leja M KolmetzGermany2024-06-03Commercial Press UNQUALIFIED63Asiya Javayant
1048Costa Y ChuiAustralia2024-05-26Commercial Press NEGOTIATION83Elwin Sharvill
1049Aditya S CaudyUnited Kingdom2024-05-17Benton, John B Jr PROPOSAL56Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois G DarakjyGermanyIoni Bowcher RENEWAL
Maria Z MorascaArgentinaXuxue Feng QUALIFIED
Stacey E KolmetzItalyStephen Shaw PROPOSAL
Emily U GauchoFranceAsiya Javayant UNQUALIFIED
Jones L MaletJapanBernardo Dominic NEW
Wickens G BriddickRussiaIvan Magalhaes NEGOTIATION
Leon F CaldareraCanadaStephen Shaw PROPOSAL
Adams Z VenereGermanyStephen Shaw QUALIFIED
Ricardo M FollerBrazilBernardo Dominic NEW
Izzy Z ButtRussiaAsiya Javayant PROPOSAL
Murillo T DilliardJapanAmy Elsner NEGOTIATION
Adams V GillianArgentinaBernardo Dominic PROPOSAL
Salvatore E OldroydArgentinaIoni Bowcher RENEWAL
Adams H NestleCanadaAsiya Javayant QUALIFIED
Morrow I MacleadRussiaAsiya Javayant QUALIFIED
Kadeem M DilliardUnited KingdomAnna Fali NEW
Arvin F GillianArgentinaIvan Magalhaes NEGOTIATION
Maria G AlbaresAustraliaXuxue Feng UNQUALIFIED
Johnson B KuskoRussiaOnyama Limba PROPOSAL
Alejandro O SlusarskiUnited KingdomIvan Magalhaes RENEWAL
Johnson C CaudyCanadaAsiya Javayant PROPOSAL
Jones Z NickaFranceBernardo Dominic UNQUALIFIED
Mujtaba D OldroydAustraliaXuxue Feng NEGOTIATION
Maisha B VenereIndiaBernardo Dominic NEGOTIATION
Jefferson U KolmetzGermanyBernardo Dominic QUALIFIED
Clifford O MarrierIndiaXuxue Feng NEW
Silvio G KuskoJapanOnyama Limba RENEWAL
Kaitlin W AlbaresItalyOnyama Limba NEW
Faith L FollerIndiaXuxue Feng PROPOSAL
Morrow Z KolmetzAustraliaAsiya Javayant UNQUALIFIED
Emily H TollnerUnited KingdomAnna Fali QUALIFIED
Ricardo X AmigonCanadaIvan Magalhaes NEW
Ashley E FerenczRussiaOnyama Limba QUALIFIED
Kaitlin Y BologniaUnited KingdomElwin Sharvill NEGOTIATION
Isabel N CaldareraJapanOnyama Limba NEGOTIATION
Aika C GauchoIndiaStephen Shaw UNQUALIFIED
Clifford P WaycottIndiaBernardo Dominic UNQUALIFIED
Mayumi N BowleyCanadaAsiya Javayant RENEWAL
Morrow O DarakjyUnited KingdomStephen Shaw UNQUALIFIED
Costa F KuskoItalyAmy Elsner NEGOTIATION
Jefferson Z FerenczFranceAsiya Javayant QUALIFIED
Jeanfrancois W MaletSpainBernardo Dominic NEW
Murillo F MaletSpainAsiya Javayant NEW
David B GlickBrazilIoni Bowcher QUALIFIED
Leja Q GlickCanadaBernardo Dominic UNQUALIFIED
Chavez E WaycottGermanyIvan Magalhaes QUALIFIED
Emily E FollerArgentinaElwin Sharvill NEGOTIATION
James M WhobreySpainAnna Fali RENEWAL
Julie G RutaJapanOnyama Limba RENEWAL
Jefferson W OstroskyBrazilAnna Fali NEW
Frozen Columns
Name
Johnson B Stockham
Julie Q Albares
Cody W Marrier
Mayumi R Dilliard
Clifford D Maclead
Aditya U Vocelka
Antonio O Amigon
Chavez J Paprocki
Mujtaba Y Marrier
Costa V Ferencz
Izzy Z Amigon
Julie Q Slusarski
Francesco R Flosi
Isabel P Maclead
Maria M Bolognia
Ivar H Caldarera
Emily F Perin
Cody C Shinko
Chavez Q Flosi
Antonio O Stockham
Greenwood J Inouye
Sinclair M Waycott
Tony Q Bowley
Jennifer B Perin
Ivar J Malet
Ricardo A Wieser
Cody A Dilliard
Faith L Doe
Tony R Glick
Wickens U Whobrey
Greenwood W Shinko
Maria Q Chui
Arvin Z Ostrosky
Cody V Stenseth
David Y Kusko
Maisha U Ruta
Claire B Morasca
Mayumi N Oldroyd
Maisha S Vocelka
David L Marrier
Aruna J Schemmer
Cody J Caudy
Sinclair J Perin
Mujtaba C Malet
Jones W Darakjy
Leon S Paprocki
Nicolas R Dilliard
Isabel H Sergi
Jones V Wieser
Izzy I Foller
IdCountryDate
1000Australia2024-05-18
1001Germany2024-06-11
1002France2024-06-07
1003Australia2024-05-17
1004Brazil2024-05-23
1005Spain2024-06-08
1006United Kingdom2024-06-09
1007Argentina2024-05-20
1008Canada2024-05-23
1009France2024-05-31
1010Italy2024-06-02
1011Canada2024-06-11
1012United Kingdom2024-05-20
1013Argentina2024-05-30
1014France2024-05-29
1015Canada2024-05-24
1016Russia2024-05-19
1017Argentina2024-05-16
1018Italy2024-06-06
1019Japan2024-05-31
1020India2024-06-04
1021France2024-06-12
1022Canada2024-05-25
1023Argentina2024-05-17
1024India2024-05-30
1025Canada2024-05-29
1026Australia2024-05-24
1027Italy2024-05-22
1028Spain2024-05-19
1029Spain2024-06-13
1030Argentina2024-05-28
1031Argentina2024-05-16
1032Argentina2024-06-13
1033Argentina2024-06-10
1034Australia2024-05-31
1035Russia2024-05-25
1036Spain2024-05-20
1037Brazil2024-05-17
1038Spain2024-06-06
1039Canada2024-05-29
1040Canada2024-06-10
1041Spain2024-06-05
1042Argentina2024-06-03
1043Spain2024-06-10
1044India2024-06-02
1045France2024-06-06
1046Australia2024-06-06
1047Italy2024-05-19
1048Japan2024-06-07
1049Russia2024-06-09

On-Demand Data

NameIdCountryDate
Kadeem S Ruta1000Spain2024-06-09
Jones B Perin1001Germany2024-06-13
Maria F Darakjy1002Australia2024-06-03
Stacey W Perin1003Germany2024-05-21
Faith S Waycott1004Canada2024-06-05
Darci U Slusarski1005Canada2024-05-19
Costa W Saylors1006Canada2024-06-07
Clifford B Doe1007Russia2024-05-29
Misaki T Slusarski1008Brazil2024-06-09
Ashley Z Glick1009Australia2024-05-24
Jeanfrancois I Malet1010Italy2024-06-04
Leon Y Ruta1011Italy2024-05-22
Aruna L Whobrey1012Brazil2024-06-14
Adams E Foller1013Canada2024-05-27
Munro D Glick1014Spain2024-05-18
Morrow B Maclead1015Russia2024-05-31
Aruna D Morasca1016Australia2024-06-14
Misaki E Perin1017India2024-05-24
Ivar U Garufi1018Argentina2024-05-18
Kadeem C Paprocki1019Germany2024-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon A StockhamGermanyAnna Fali QUALIFIED
Mayumi B InouyeRussiaIoni Bowcher NEGOTIATION
Misaki F StensethIndiaXuxue Feng PROPOSAL
Darci R BologniaGermanyAnna Fali NEGOTIATION
Leja Q NickaGermanyBernardo Dominic RENEWAL
Smith V ButtFranceStephen Shaw NEGOTIATION
Arvin T DilliardBrazilIoni Bowcher UNQUALIFIED
Julie Y KolmetzIndiaXuxue Feng NEW
Isabel A MacleadItalyAmy Elsner QUALIFIED
Isabel Y BriddickRussiaElwin Sharvill NEW
Aruna S MaletGermanyIoni Bowcher NEGOTIATION
Clifford D BologniaGermanyAsiya Javayant PROPOSAL
Francesco H StockhamItalyStephen Shaw QUALIFIED
Mujtaba R DarakjyBrazilBernardo Dominic NEW
James E SergiFranceAsiya Javayant NEW
Jennifer Y IturbideRussiaAnna Fali PROPOSAL
Smith M NestleAustraliaIvan Magalhaes UNQUALIFIED
Emily F CaudyGermanyElwin Sharvill NEGOTIATION
Jefferson S VocelkaJapanAnna Fali UNQUALIFIED
Greenwood O GauchoBrazilAmy Elsner PROPOSAL
Jeanfrancois C OldroydSpainAnna Fali PROPOSAL
Mujtaba Y MarrierFranceXuxue Feng RENEWAL
Aruna J SlusarskiFranceBernardo Dominic NEGOTIATION
Emily B PoquetteJapanBernardo Dominic QUALIFIED
James P FollerSpainIvan Magalhaes RENEWAL
Octavia G NickaSpainIvan Magalhaes UNQUALIFIED
Ivar N PaprockiCanadaXuxue Feng PROPOSAL
Izzy A StensethFranceStephen Shaw QUALIFIED
Salvatore L MacleadJapanIoni Bowcher NEW
Maria E GillianFranceAmy Elsner UNQUALIFIED
Antonio X CaudyJapanAnna Fali RENEWAL
Misaki R PoquetteRussiaBernardo Dominic NEGOTIATION
Mujtaba P CampainGermanyIvan Magalhaes NEGOTIATION
Mujtaba O GauchoSpainOnyama Limba UNQUALIFIED
Aditya U ShinkoFranceAnna Fali NEGOTIATION
Alejandro A StensethItalyBernardo Dominic RENEWAL
Claire S InouyeSpainAsiya Javayant PROPOSAL
Jeanfrancois Y SaylorsJapanAsiya Javayant NEW
Maisha M IturbideRussiaBernardo Dominic NEW
Faith B CaudyBrazilBernardo 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>