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
Chavez T InouyeAustraliaIvan Magalhaes PROPOSAL
Jones A GarufiRussiaIoni Bowcher UNQUALIFIED
Mujtaba I DilliardFranceStephen Shaw RENEWAL
Aika R DoeFranceAsiya Javayant RENEWAL
Darci J NickaJapanElwin Sharvill QUALIFIED
Chavez H KuskoIndiaStephen Shaw RENEWAL
Rodrigues G CaudyAustraliaAmy Elsner QUALIFIED
Mayumi M OstroskyFranceOnyama Limba QUALIFIED
Francesco T KolmetzUnited KingdomOnyama Limba QUALIFIED
Emily J SchemmerRussiaBernardo Dominic UNQUALIFIED
Jefferson S PaprockiAustraliaBernardo Dominic NEW
Misaki D SlusarskiGermanyAnna Fali NEGOTIATION
Jones A StensethRussiaIoni Bowcher RENEWAL
Stacey M ButtCanadaBernardo Dominic PROPOSAL
Sinclair H CaudyBrazilIoni Bowcher NEW
Aruna L GarufiUnited KingdomIoni Bowcher NEW
Arvin U StockhamArgentinaAmy Elsner RENEWAL
Arvin C DarakjyCanadaAnna Fali PROPOSAL
Clifford Z OldroydBrazilAnna Fali NEW
Julie D FigeroaJapanIvan Magalhaes RENEWAL
Munro R GauchoRussiaElwin Sharvill RENEWAL
Silvio Y BriddickArgentinaXuxue Feng UNQUALIFIED
Julie W CampainUnited KingdomIoni Bowcher UNQUALIFIED
Smith W RutaRussiaStephen Shaw NEGOTIATION
David T StensethIndiaIvan Magalhaes QUALIFIED
Octavia V IturbideItalyAmy Elsner QUALIFIED
Juan I BriddickGermanyElwin Sharvill NEGOTIATION
Arvin O BowleyUnited KingdomAsiya Javayant UNQUALIFIED
Tony X GarufiFranceOnyama Limba RENEWAL
Juan G FlosiCanadaAsiya Javayant PROPOSAL
Juan S SlusarskiFranceAmy Elsner UNQUALIFIED
Ashley S BowleyBrazilStephen Shaw PROPOSAL
Johnson L AlbaresIndiaAmy Elsner UNQUALIFIED
Rodrigues T FigeroaCanadaAnna Fali NEGOTIATION
Jennifer V AlbaresUnited KingdomAnna Fali RENEWAL
Jefferson Z ShinkoGermanyBernardo Dominic PROPOSAL
Silvio Q ButtFranceXuxue Feng UNQUALIFIED
Silvio N AmigonAustraliaElwin Sharvill NEW
David R ChuiAustraliaBernardo Dominic NEW
Faith N KolmetzJapanAsiya Javayant NEW
Antonio P CampainArgentinaXuxue Feng UNQUALIFIED
Aditya O DilliardSpainAmy Elsner PROPOSAL
Leon C KolmetzRussiaBernardo Dominic QUALIFIED
Darci F SergiFranceAnna Fali QUALIFIED
Chavez H SaylorsJapanAmy Elsner PROPOSAL
Jones J VenereBrazilOnyama Limba PROPOSAL
Greenwood K CaudyItalyAnna Fali NEGOTIATION
Greenwood I SchemmerGermanyAnna Fali UNQUALIFIED
Jones G PerinCanadaOnyama Limba RENEWAL
Antonio J ChuiUnited KingdomAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Aruna Z DarakjyGermanyOnyama Limba NEW
Ricardo X GarufiIndiaAmy Elsner NEGOTIATION
Aika T GillianRussiaAnna Fali UNQUALIFIED
Greenwood Q GarufiItalyIvan Magalhaes NEGOTIATION
James N MaletArgentinaAmy Elsner NEGOTIATION
Octavia W BologniaGermanyIoni Bowcher NEW
David J KolmetzFranceAnna Fali QUALIFIED
Rodrigues C ButtGermanyXuxue Feng NEGOTIATION
Aruna N StockhamFranceAmy Elsner PROPOSAL
Tony E VenereGermanyIoni Bowcher NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony Z KuskoUnited Kingdom2024-05-24Chapman, Ross E Esq NEW13Onyama Limba
1001Costa D RimGermany2024-06-09Dorl, James J Esq RENEWAL36Ioni Bowcher
1002Octavia B FlosiGermany2024-06-20Rangoni Of Florence NEGOTIATION26Elwin Sharvill
1003Smith C GarufiArgentina2024-06-03King, Christopher A Esq NEGOTIATION19Stephen Shaw
1004Maria H WhobreyItaly2024-05-29Rangoni Of Florence NEW73Bernardo Dominic
1005Mayumi E KuskoItaly2024-06-02Chapman, Ross E Esq NEW85Xuxue Feng
1006Ashley K ChuiArgentina2024-05-25Rangoni Of Florence RENEWAL60Anna Fali
1007Munro W BowleyBrazil2024-06-02Morlong Associates UNQUALIFIED32Stephen Shaw
1008Izzy K RoysterSpain2024-05-28Truhlar And Truhlar Attys RENEWAL49Bernardo Dominic
1009Misaki F MaletJapan2024-05-26Chemel, James L Cpa PROPOSAL51Asiya Javayant
1010Jennifer M NestleUnited Kingdom2024-06-20Dorl, James J Esq UNQUALIFIED19Anna Fali
1011Rodrigues C RoysterJapan2024-06-10Feltz Printing Service UNQUALIFIED79Xuxue Feng
1012Emily M GarufiArgentina2024-06-14Printing Dimensions PROPOSAL77Amy Elsner
1013Ashley Q WaycottArgentina2024-05-29Buckley Miller Wright RENEWAL28Ivan Magalhaes
1014Adams O MorascaCanada2024-06-10Rousseaux, Michael Esq QUALIFIED66Amy Elsner
1015Jefferson D AlbaresSpain2024-06-10Dorl, James J Esq RENEWAL84Onyama Limba
1016Nicolas X ShinkoArgentina2024-06-11Chemel, James L Cpa RENEWAL72Bernardo Dominic
1017Mayumi C SaylorsItaly2024-06-02Buckley Miller Wright UNQUALIFIED58Ivan Magalhaes
1018Johnson Y NickaSpain2024-06-09Chapman, Ross E Esq RENEWAL11Stephen Shaw
1019Silvio D PerinFrance2024-06-18Commercial Press PROPOSAL93Xuxue Feng
1020Greenwood X MarrierCanada2024-06-15Truhlar And Truhlar Attys NEGOTIATION57Bernardo Dominic
1021Arvin X NickaGermany2024-06-15Buckley Miller Wright RENEWAL91Anna Fali
1022Octavia N SergiFrance2024-06-06Benton, John B Jr PROPOSAL68Elwin Sharvill
1023David H SlusarskiGermany2024-06-20Morlong Associates RENEWAL30Bernardo Dominic
1024Maria M SaylorsCanada2024-06-15Buckley Miller Wright PROPOSAL7Xuxue Feng
1025Morrow T MacleadGermany2024-06-08Rangoni Of Florence QUALIFIED34Asiya Javayant
1026Claire I GillianAustralia2024-06-13Chapman, Ross E Esq PROPOSAL55Elwin Sharvill
1027Tony C RutaArgentina2024-06-04Dorl, James J Esq NEGOTIATION94Ioni Bowcher
1028Jeanfrancois W IturbideUnited Kingdom2024-06-04Dorl, James J Esq NEW86Asiya Javayant
1029Antonio N NickaGermany2024-05-29Feltz Printing Service QUALIFIED79Ivan Magalhaes
1030Ivar P GillianArgentina2024-06-10Feltz Printing Service QUALIFIED89Asiya Javayant
1031Antonio L IturbideItaly2024-05-31Dorl, James J Esq RENEWAL34Bernardo Dominic
1032Izzy N SchemmerCanada2024-05-25Printing Dimensions NEW77Ioni Bowcher
1033Clifford Z SchemmerJapan2024-05-28Printing Dimensions QUALIFIED30Stephen Shaw
1034Claire G WhobreyGermany2024-06-05Feiner Bros NEGOTIATION4Amy Elsner
1035Murillo T RoysterBrazil2024-06-10Rousseaux, Michael Esq QUALIFIED9Xuxue Feng
1036Mujtaba L GillianItaly2024-06-12Buckley Miller Wright UNQUALIFIED55Xuxue Feng
1037Maisha X BowleyFrance2024-06-08Chanay, Jeffrey A Esq RENEWAL22Ioni Bowcher
1038Alejandro T GillianGermany2024-05-25Chanay, Jeffrey A Esq NEW7Elwin Sharvill
1039Ashley W OstroskyGermany2024-05-25Benton, John B Jr PROPOSAL78Stephen Shaw
1040Mayumi M MaletUnited Kingdom2024-06-08Rangoni Of Florence PROPOSAL2Bernardo Dominic
1041Costa D AmigonUnited Kingdom2024-06-09Buckley Miller Wright NEW77Ivan Magalhaes
1042Arvin R GarufiRussia2024-06-22Printing Dimensions PROPOSAL90Bernardo Dominic
1043David H FlosiJapan2024-06-19Feiner Bros PROPOSAL11Anna Fali
1044Johnson V BologniaArgentina2024-05-27Chemel, James L Cpa RENEWAL74Ioni Bowcher
1045Sinclair F NestleBrazil2024-06-05Morlong Associates QUALIFIED69Asiya Javayant
1046Jefferson P StockhamGermany2024-06-07Printing Dimensions RENEWAL77Onyama Limba
1047Nicolas Z BologniaArgentina2024-06-14Commercial Press PROPOSAL9Asiya Javayant
1048Emily Q MarrierSpain2024-06-16Dorl, James J Esq QUALIFIED94Onyama Limba
1049Alejandro N IturbideFrance2024-06-11Benton, John B Jr NEW49Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
David S DoeAustraliaAmy Elsner PROPOSAL
Jefferson B NickaRussiaBernardo Dominic UNQUALIFIED
Adams Y AmigonGermanyAnna Fali QUALIFIED
Misaki D SchemmerArgentinaBernardo Dominic UNQUALIFIED
Ricardo Q FlosiCanadaAmy Elsner PROPOSAL
Sinclair A PoquetteIndiaOnyama Limba NEGOTIATION
Wickens X RulapaughBrazilOnyama Limba NEGOTIATION
Johnson T AlbaresBrazilAnna Fali RENEWAL
Johnson X TollnerSpainElwin Sharvill NEW
Deepesh B ButtSpainAsiya Javayant NEGOTIATION
Jennifer S AlbaresBrazilIvan Magalhaes NEW
Johnson S MaletFranceStephen Shaw QUALIFIED
Darci V IturbideAustraliaBernardo Dominic PROPOSAL
Clifford M GillianBrazilIoni Bowcher QUALIFIED
Rodrigues J OldroydAustraliaBernardo Dominic PROPOSAL
Greenwood N GillianFranceIoni Bowcher NEGOTIATION
Misaki Z PaprockiAustraliaIvan Magalhaes QUALIFIED
Darci A PerinRussiaIvan Magalhaes PROPOSAL
Munro E PaprockiItalyIvan Magalhaes NEW
Alejandro T DarakjyAustraliaIoni Bowcher RENEWAL
Mayumi G FollerGermanyElwin Sharvill NEW
Alejandro E PoquetteUnited KingdomElwin Sharvill NEW
Arvin N TollnerSpainAsiya Javayant PROPOSAL
Tony I ChuiUnited KingdomStephen Shaw NEGOTIATION
Jefferson X IturbideIndiaXuxue Feng UNQUALIFIED
Johnson U IturbideSpainIvan Magalhaes UNQUALIFIED
Maria D SchemmerBrazilAnna Fali NEW
Misaki H MorascaAustraliaIvan Magalhaes PROPOSAL
Jefferson W RulapaughItalyAsiya Javayant RENEWAL
Julie K GillianBrazilAnna Fali NEW
Izzy V RutaCanadaAnna Fali RENEWAL
Jennifer N ShinkoCanadaIoni Bowcher RENEWAL
Smith D MarrierRussiaOnyama Limba NEGOTIATION
Nicolas P GlickGermanyAmy Elsner QUALIFIED
Cody M RutaArgentinaOnyama Limba RENEWAL
Deepesh D WieserGermanyAmy Elsner RENEWAL
Juan B PaprockiRussiaStephen Shaw RENEWAL
Juan G GlickCanadaAsiya Javayant PROPOSAL
Morrow F AlbaresSpainStephen Shaw NEW
Aruna F StensethFranceIoni Bowcher RENEWAL
Cody J FlosiGermanyAmy Elsner RENEWAL
Kadeem F RulapaughRussiaAmy Elsner NEW
Arvin D MacleadArgentinaElwin Sharvill NEW
Costa W FigeroaSpainAsiya Javayant QUALIFIED
Alejandro S GillianAustraliaBernardo Dominic QUALIFIED
Misaki W SaylorsFranceIoni Bowcher UNQUALIFIED
Adams M KuskoUnited KingdomXuxue Feng QUALIFIED
Greenwood O DilliardUnited KingdomElwin Sharvill RENEWAL
Leja X MacleadArgentinaBernardo Dominic NEW
Morrow Z DarakjyArgentinaIoni Bowcher UNQUALIFIED
Frozen Columns
Name
Rodrigues P Maclead
Munro I Schemmer
Mujtaba X Slusarski
Adams X Tollner
Clifford N Waycott
Greenwood U Wieser
Mujtaba T Nestle
Munro P Nestle
Jeanfrancois N Ferencz
Rodrigues V Flosi
Antonio X Dilliard
Morrow D Marrier
Ricardo Z Sergi
Mayumi V Whobrey
Misaki Y Chui
Ricardo X Chui
Ricardo J Poquette
Nicolas G Ostrosky
Izzy I Sergi
Ricardo Z Inouye
Isabel V Shinko
Emily B Nestle
Izzy W Rulapaugh
Leja G Gillian
Faith C Poquette
Cody D Stockham
Alejandro V Malet
Johnson W Stockham
Salvatore Y Perin
Sinclair O Nestle
Maria F Figeroa
Cody X Darakjy
Jennifer P Malet
Ashley Q Marrier
Jeanfrancois T Stockham
Wickens L Rulapaugh
Ricardo E Morasca
Arvin U Kolmetz
Leja X Wieser
Jones R Campain
Murillo L Wieser
Nicolas R Stockham
Johnson X Inouye
Costa X Perin
Jefferson F Caudy
Clifford I Sergi
Ashley P Gaucho
Faith U Kolmetz
Juan B Stockham
Alejandro B Kusko
IdCountryDate
1000Argentina2024-06-16
1001Canada2024-06-18
1002Canada2024-06-15
1003India2024-06-12
1004Australia2024-06-14
1005Australia2024-06-12
1006Brazil2024-06-06
1007United Kingdom2024-06-04
1008Canada2024-06-03
1009Russia2024-06-12
1010Australia2024-06-11
1011Italy2024-06-01
1012Spain2024-06-11
1013Russia2024-06-09
1014Spain2024-06-01
1015Japan2024-06-05
1016Argentina2024-06-08
1017France2024-06-05
1018Canada2024-05-30
1019Canada2024-06-08
1020Germany2024-06-06
1021United Kingdom2024-06-09
1022Australia2024-06-02
1023India2024-06-02
1024Canada2024-06-22
1025Argentina2024-05-31
1026Canada2024-05-31
1027Spain2024-06-16
1028India2024-06-05
1029Australia2024-05-26
1030Spain2024-06-03
1031Germany2024-06-19
1032France2024-05-26
1033Italy2024-06-04
1034Italy2024-05-31
1035Italy2024-06-02
1036United Kingdom2024-06-04
1037India2024-05-24
1038Brazil2024-06-01
1039Russia2024-06-08
1040United Kingdom2024-05-25
1041Canada2024-05-24
1042Russia2024-06-12
1043Australia2024-06-18
1044Australia2024-05-30
1045France2024-06-09
1046Russia2024-06-22
1047Italy2024-05-29
1048Canada2024-06-13
1049Canada2024-05-31

On-Demand Data

NameIdCountryDate
Maisha V Albares1000United Kingdom2024-06-20
Ashley Y Marrier1001United Kingdom2024-05-29
Aditya O Malet1002India2024-05-24
David U Tollner1003Japan2024-06-14
Silvio J Albares1004Russia2024-06-09
Cody L Ruta1005Spain2024-06-18
Faith K Nestle1006Argentina2024-06-04
Costa Z Ferencz1007Germany2024-06-20
Aruna B Nestle1008Russia2024-06-17
Greenwood L Oldroyd1009Japan2024-05-27
Clifford Z Inouye1010Japan2024-06-15
Jefferson W Poquette1011Canada2024-06-05
Ricardo Q Tollner1012Russia2024-06-10
Morrow W Inouye1013Germany2024-05-26
Greenwood G Inouye1014France2024-06-10
Leja O Venere1015Canada2024-06-19
Aika C Flosi1016Germany2024-05-28
Darci P Vocelka1017Canada2024-06-20
Ashley B Foller1018Spain2024-05-24
Isabel G Marrier1019Argentina2024-05-28
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Antonio O KuskoItalyAnna Fali UNQUALIFIED
Alejandro B SaylorsUnited KingdomOnyama Limba QUALIFIED
Mayumi X OldroydSpainAmy Elsner NEGOTIATION
Costa L DilliardArgentinaAsiya Javayant RENEWAL
Aika V FerenczBrazilIoni Bowcher UNQUALIFIED
Kadeem W BriddickRussiaOnyama Limba RENEWAL
Claire J SergiSpainBernardo Dominic UNQUALIFIED
Francesco D FlosiItalyStephen Shaw NEGOTIATION
Isabel J MacleadSpainAsiya Javayant UNQUALIFIED
Clifford N OldroydUnited KingdomXuxue Feng NEGOTIATION
Deepesh O SaylorsGermanyAsiya Javayant NEW
Alejandro D RulapaughJapanStephen Shaw NEW
Mujtaba Y KuskoItalyIoni Bowcher UNQUALIFIED
Cody I NickaIndiaAsiya Javayant UNQUALIFIED
Maria S SergiCanadaBernardo Dominic RENEWAL
Adams U PaprockiIndiaIoni Bowcher NEW
Cody Y StensethJapanIoni Bowcher NEGOTIATION
Mujtaba X WhobreyJapanAmy Elsner UNQUALIFIED
Deepesh H RoysterGermanyAnna Fali RENEWAL
Sinclair F BologniaJapanAnna Fali PROPOSAL
Wickens A SlusarskiSpainElwin Sharvill PROPOSAL
Aditya E CaudyArgentinaAsiya Javayant NEGOTIATION
Jeanfrancois Z VenereGermanyXuxue Feng NEW
Kadeem B WieserSpainAsiya Javayant NEGOTIATION
Izzy G FlosiBrazilElwin Sharvill UNQUALIFIED
Misaki S KolmetzCanadaBernardo Dominic PROPOSAL
Smith T MaletJapanElwin Sharvill PROPOSAL
Jefferson R AlbaresGermanyElwin Sharvill QUALIFIED
Jones G PoquetteRussiaAmy Elsner NEW
Stacey U RimFranceAnna Fali NEGOTIATION
Jeanfrancois R SchemmerItalyStephen Shaw NEGOTIATION
Deepesh V FerenczGermanyAsiya Javayant NEGOTIATION
Mujtaba D GillianRussiaAsiya Javayant RENEWAL
Francesco V RimRussiaAsiya Javayant PROPOSAL
Jeanfrancois J GlickItalyIvan Magalhaes PROPOSAL
Chavez D BowleySpainIoni Bowcher RENEWAL
Rodrigues C KolmetzFranceAmy Elsner QUALIFIED
Ricardo G StockhamRussiaIvan Magalhaes RENEWAL
Darci L MaletBrazilAnna Fali NEGOTIATION
Wickens O PerinItalyStephen Shaw 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>