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
Sinclair S BologniaGermanyAmy Elsner QUALIFIED
Salvatore H SergiCanadaStephen Shaw UNQUALIFIED
Octavia B SlusarskiRussiaAmy Elsner QUALIFIED
Jefferson S PaprockiFranceIvan Magalhaes NEW
Emily L MorascaCanadaStephen Shaw NEW
Ricardo C OldroydArgentinaAsiya Javayant RENEWAL
Clifford C GauchoFranceStephen Shaw NEW
Aika G PerinFranceAnna Fali NEGOTIATION
Claire K RulapaughRussiaElwin Sharvill PROPOSAL
Leon C TollnerBrazilOnyama Limba NEW
Leja O KolmetzArgentinaAsiya Javayant NEGOTIATION
Maisha D SlusarskiArgentinaAmy Elsner UNQUALIFIED
Mujtaba T DilliardUnited KingdomElwin Sharvill PROPOSAL
Clifford X FollerFranceXuxue Feng NEW
Jones U RulapaughItalyStephen Shaw NEW
Ricardo N RutaCanadaAmy Elsner QUALIFIED
Leon D BowleyCanadaBernardo Dominic PROPOSAL
Ashley Q GillianAustraliaAsiya Javayant NEW
Arvin Y KolmetzIndiaIoni Bowcher NEW
Rodrigues L DoeUnited KingdomOnyama Limba NEW
Isabel M FollerGermanyOnyama Limba QUALIFIED
Isabel N CampainSpainIoni Bowcher QUALIFIED
Misaki Q PerinRussiaElwin Sharvill NEW
Adams J StockhamArgentinaIoni Bowcher NEW
Arvin U DarakjyFranceIoni Bowcher PROPOSAL
Leja U FerenczUnited KingdomBernardo Dominic NEW
Mayumi C SchemmerUnited KingdomOnyama Limba PROPOSAL
Octavia U MaletIndiaIvan Magalhaes QUALIFIED
Murillo V MarrierRussiaIoni Bowcher QUALIFIED
Leja B KuskoRussiaAsiya Javayant UNQUALIFIED
Misaki A CampainArgentinaAnna Fali PROPOSAL
Costa N RimCanadaOnyama Limba UNQUALIFIED
Jefferson E BologniaIndiaIoni Bowcher NEGOTIATION
Darci Q FerenczGermanyXuxue Feng PROPOSAL
Rodrigues T KuskoArgentinaAmy Elsner QUALIFIED
Claire L NestleFranceAmy Elsner QUALIFIED
Wickens I StensethItalyAnna Fali UNQUALIFIED
Kaitlin T DarakjyGermanyBernardo Dominic RENEWAL
Faith E KuskoArgentinaAnna Fali RENEWAL
Smith H GauchoIndiaAsiya Javayant UNQUALIFIED
Cody Y RulapaughGermanyStephen Shaw PROPOSAL
Leja I CaudyAustraliaElwin Sharvill NEW
Stacey K TollnerFranceIvan Magalhaes PROPOSAL
Tony B ChuiItalyXuxue Feng PROPOSAL
Darci O MorascaItalyBernardo Dominic NEGOTIATION
Tony C IturbideArgentinaIvan Magalhaes NEW
Murillo S MorascaCanadaElwin Sharvill RENEWAL
Claire C GillianUnited KingdomIoni Bowcher UNQUALIFIED
Stacey E CaudyRussiaAnna Fali RENEWAL
Adams P PoquetteFranceAsiya Javayant NEW
Horizontal
NameCountryRepresentativeStatus
Maria Q PaprockiAustraliaBernardo Dominic UNQUALIFIED
Kaitlin C AlbaresJapanAnna Fali NEGOTIATION
Cody U WaycottAustraliaOnyama Limba NEW
Clifford Y StensethCanadaIvan Magalhaes NEGOTIATION
Mayumi O SchemmerIndiaAnna Fali NEGOTIATION
Adams Q BriddickUnited KingdomXuxue Feng UNQUALIFIED
Jennifer B OldroydIndiaOnyama Limba RENEWAL
Faith N RutaJapanXuxue Feng QUALIFIED
Misaki Q VenereIndiaXuxue Feng PROPOSAL
Murillo M CampainSpainOnyama Limba PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba F ButtGermany2024-05-30Chanay, Jeffrey A Esq NEW13Ivan Magalhaes
1001Jeanfrancois H DoeIndia2024-06-14Dorl, James J Esq PROPOSAL94Stephen Shaw
1002Aditya Y CaldareraSpain2024-05-31Chemel, James L Cpa PROPOSAL22Stephen Shaw
1003Greenwood L PoquetteItaly2024-05-27Printing Dimensions NEGOTIATION84Amy Elsner
1004Aruna O RimSpain2024-06-21Truhlar And Truhlar Attys QUALIFIED68Elwin Sharvill
1005Cody M BriddickItaly2024-06-17Dorl, James J Esq PROPOSAL24Onyama Limba
1006Clifford R WieserIndia2024-06-05Commercial Press PROPOSAL28Xuxue Feng
1007Sinclair J StensethJapan2024-05-30Rousseaux, Michael Esq NEGOTIATION86Stephen Shaw
1008Murillo N KuskoIndia2024-06-13Chanay, Jeffrey A Esq UNQUALIFIED37Anna Fali
1009Sinclair Z MaletFrance2024-06-02Feltz Printing Service QUALIFIED67Xuxue Feng
1010Misaki L KuskoBrazil2024-06-03Dorl, James J Esq NEGOTIATION58Bernardo Dominic
1011Kaitlin G SergiArgentina2024-06-11Morlong Associates PROPOSAL99Xuxue Feng
1012Isabel O MaletArgentina2024-05-23Chapman, Ross E Esq QUALIFIED69Anna Fali
1013Ivar Y NickaAustralia2024-06-20Rousseaux, Michael Esq RENEWAL12Stephen Shaw
1014Mayumi H BologniaJapan2024-05-25Printing Dimensions NEW54Stephen Shaw
1015Jeanfrancois M BologniaArgentina2024-06-17Chapman, Ross E Esq QUALIFIED19Ivan Magalhaes
1016Salvatore P OstroskySpain2024-05-25Feltz Printing Service RENEWAL81Asiya Javayant
1017Isabel F FerenczCanada2024-06-17Buckley Miller Wright UNQUALIFIED37Asiya Javayant
1018Rodrigues B PerinArgentina2024-06-15Chapman, Ross E Esq RENEWAL6Xuxue Feng
1019Darci Z StockhamCanada2024-06-12Rangoni Of Florence NEGOTIATION95Anna Fali
1020Ivar F FigeroaBrazil2024-06-12King, Christopher A Esq NEW9Ioni Bowcher
1021Clifford S PoquetteArgentina2024-05-25Feltz Printing Service QUALIFIED30Stephen Shaw
1022Arvin O StockhamSpain2024-06-06Benton, John B Jr UNQUALIFIED79Onyama Limba
1023James N ChuiUnited Kingdom2024-06-20Chapman, Ross E Esq NEW27Ivan Magalhaes
1024Stacey R RimBrazil2024-06-20Dorl, James J Esq QUALIFIED84Stephen Shaw
1025Ivar V TollnerGermany2024-06-04Rousseaux, Michael Esq PROPOSAL0Asiya Javayant
1026Kaitlin H StensethRussia2024-06-06Printing Dimensions UNQUALIFIED25Anna Fali
1027Stacey M PaprockiSpain2024-06-01Rousseaux, Michael Esq NEW75Bernardo Dominic
1028Kadeem O DarakjyArgentina2024-06-12Commercial Press PROPOSAL3Elwin Sharvill
1029Alejandro T WieserIndia2024-05-23Morlong Associates QUALIFIED95Onyama Limba
1030Ivar P CaldareraAustralia2024-05-28Buckley Miller Wright RENEWAL20Stephen Shaw
1031Claire B BologniaBrazil2024-06-17Rousseaux, Michael Esq RENEWAL66Asiya Javayant
1032Francesco R OstroskyUnited Kingdom2024-06-09Commercial Press QUALIFIED75Ioni Bowcher
1033Kadeem W ShinkoIndia2024-06-07Chemel, James L Cpa UNQUALIFIED57Anna Fali
1034Kadeem I BriddickUnited Kingdom2024-05-28Printing Dimensions UNQUALIFIED22Anna Fali
1035Salvatore Y MacleadFrance2024-06-17Benton, John B Jr RENEWAL74Xuxue Feng
1036Tony X DoeBrazil2024-06-08Dorl, James J Esq QUALIFIED77Stephen Shaw
1037Greenwood Q KuskoJapan2024-05-23Benton, John B Jr PROPOSAL92Xuxue Feng
1038Deepesh Y KuskoFrance2024-06-13King, Christopher A Esq PROPOSAL56Onyama Limba
1039Sinclair B CampainItaly2024-06-17Buckley Miller Wright NEGOTIATION18Amy Elsner
1040James W ShinkoCanada2024-06-18Rousseaux, Michael Esq NEGOTIATION59Stephen Shaw
1041Faith N BriddickCanada2024-06-10King, Christopher A Esq NEGOTIATION79Onyama Limba
1042Sinclair S TollnerFrance2024-05-28King, Christopher A Esq UNQUALIFIED70Anna Fali
1043Johnson G NestleFrance2024-06-15Rousseaux, Michael Esq NEGOTIATION81Ivan Magalhaes
1044Julie W CaldareraJapan2024-06-01Chapman, Ross E Esq UNQUALIFIED7Stephen Shaw
1045Arvin P WaycottIndia2024-05-24Feltz Printing Service RENEWAL51Ioni Bowcher
1046Maisha Q PoquetteJapan2024-06-12King, Christopher A Esq NEW89Asiya Javayant
1047Tony T BriddickGermany2024-06-18Chemel, James L Cpa PROPOSAL50Asiya Javayant
1048Cody K DarakjyBrazil2024-06-17Truhlar And Truhlar Attys QUALIFIED66Anna Fali
1049James S NickaFrance2024-06-04Chanay, Jeffrey A Esq QUALIFIED19Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Kadeem J MorascaJapanAsiya Javayant PROPOSAL
Aditya O RulapaughGermanyIoni Bowcher UNQUALIFIED
Murillo I PoquetteAustraliaIoni Bowcher NEW
Misaki V ChuiUnited KingdomAsiya Javayant PROPOSAL
Kadeem G AmigonFranceAmy Elsner NEW
Greenwood N MorascaIndiaAnna Fali PROPOSAL
Isabel W PoquetteCanadaIoni Bowcher NEGOTIATION
James U SchemmerRussiaXuxue Feng RENEWAL
Jones J FerenczIndiaElwin Sharvill NEGOTIATION
Jeanfrancois P BriddickCanadaElwin Sharvill PROPOSAL
Adams W GillianRussiaIoni Bowcher QUALIFIED
Jeanfrancois T NickaIndiaElwin Sharvill NEW
Greenwood U RutaBrazilStephen Shaw UNQUALIFIED
Clifford I VenereCanadaIoni Bowcher PROPOSAL
Francesco C ShinkoFranceIoni Bowcher QUALIFIED
Francesco M AmigonBrazilStephen Shaw PROPOSAL
Silvio D InouyeAustraliaXuxue Feng PROPOSAL
Costa Q DoeAustraliaIoni Bowcher UNQUALIFIED
Silvio X InouyeRussiaIvan Magalhaes QUALIFIED
Ivar C BowleyCanadaOnyama Limba PROPOSAL
Emily J BologniaCanadaAmy Elsner UNQUALIFIED
Kadeem S BowleyGermanyAnna Fali QUALIFIED
Leja J KuskoUnited KingdomBernardo Dominic RENEWAL
Alejandro R GarufiFranceXuxue Feng NEW
Greenwood A WaycottSpainIoni Bowcher QUALIFIED
Greenwood U OldroydIndiaElwin Sharvill NEW
Kadeem G StockhamIndiaXuxue Feng QUALIFIED
Chavez W FlosiRussiaXuxue Feng RENEWAL
Salvatore H WhobreyJapanStephen Shaw UNQUALIFIED
Emily G RulapaughIndiaXuxue Feng NEW
Jefferson P DilliardRussiaAsiya Javayant UNQUALIFIED
Munro X CaldareraRussiaXuxue Feng QUALIFIED
Juan K RutaFranceOnyama Limba RENEWAL
Mujtaba Y RoysterBrazilIoni Bowcher RENEWAL
Ashley I MaletRussiaBernardo Dominic PROPOSAL
Deepesh L ButtItalyXuxue Feng UNQUALIFIED
Sinclair D DilliardSpainIoni Bowcher NEW
Adams T GauchoItalyOnyama Limba UNQUALIFIED
Murillo P DarakjySpainIvan Magalhaes QUALIFIED
Ricardo Q AmigonUnited KingdomAmy Elsner NEW
Deepesh R DoeArgentinaAsiya Javayant NEW
Antonio V DarakjyFranceAmy Elsner NEGOTIATION
Tony N MorascaGermanyAnna Fali UNQUALIFIED
Julie U SergiUnited KingdomAnna Fali RENEWAL
Francesco K VocelkaUnited KingdomBernardo Dominic UNQUALIFIED
Smith K GillianCanadaStephen Shaw PROPOSAL
Leja H GillianArgentinaIvan Magalhaes NEW
James U DarakjyBrazilOnyama Limba RENEWAL
Leon R SergiUnited KingdomStephen Shaw RENEWAL
Mayumi R CaudyBrazilBernardo Dominic QUALIFIED
Frozen Columns
Name
David G Bowley
Kaitlin M Caldarera
Isabel X Shinko
Aika P Wieser
Smith T Schemmer
Julie O Ferencz
Leja B Briddick
Smith Z Stockham
Darci A Garufi
Darci E Malet
Ricardo X Paprocki
Morrow O Tollner
Misaki W Rim
Murillo S Figeroa
Francesco Y Waycott
Emily U Briddick
Francesco V Sergi
Nicolas O Albares
Mujtaba Y Marrier
Chavez M Waycott
David I Flosi
Antonio W Nestle
Silvio C Rulapaugh
Antonio A Campain
Jones V Paprocki
James I Nicka
David U Inouye
Smith D Gaucho
James T Perin
Murillo U Gillian
Adams H Venere
Jefferson H Maclead
James O Dilliard
James X Malet
Ricardo A Saylors
Aika U Kolmetz
Cody T Tollner
Silvio F Perin
Kadeem I Whobrey
Ivar U Slusarski
Maisha I Caudy
Darci B Doe
Silvio Q Flosi
Mujtaba N Maclead
Tony Q Maclead
Claire A Oldroyd
Arvin O Marrier
Sinclair V Shinko
Francesco O Paprocki
Rodrigues E Flosi
IdCountryDate
1000Argentina2024-06-10
1001Australia2024-05-25
1002Argentina2024-06-02
1003United Kingdom2024-06-01
1004Germany2024-05-23
1005France2024-06-09
1006Italy2024-06-06
1007Spain2024-06-11
1008United Kingdom2024-06-19
1009Argentina2024-06-07
1010Canada2024-05-26
1011Argentina2024-05-24
1012United Kingdom2024-06-14
1013Germany2024-06-08
1014Australia2024-05-24
1015Russia2024-06-18
1016United Kingdom2024-06-11
1017Italy2024-06-13
1018Japan2024-05-30
1019Italy2024-06-11
1020Japan2024-06-20
1021Japan2024-05-23
1022Japan2024-05-26
1023Russia2024-06-18
1024Japan2024-06-03
1025Brazil2024-05-24
1026Australia2024-06-13
1027Japan2024-06-10
1028Argentina2024-06-13
1029Brazil2024-06-15
1030Spain2024-06-20
1031Russia2024-06-13
1032Germany2024-06-11
1033Russia2024-06-03
1034Spain2024-06-07
1035Italy2024-06-08
1036Russia2024-06-03
1037Argentina2024-05-30
1038Brazil2024-06-21
1039Italy2024-06-18
1040United Kingdom2024-06-02
1041Australia2024-06-15
1042United Kingdom2024-05-26
1043Italy2024-05-31
1044United Kingdom2024-06-02
1045Australia2024-05-24
1046France2024-06-19
1047Spain2024-05-31
1048Italy2024-06-12
1049United Kingdom2024-06-16

On-Demand Data

NameIdCountryDate
Darci H Stenseth1000Brazil2024-05-24
Emily M Maclead1001United Kingdom2024-06-12
Maisha C Chui1002Spain2024-06-06
Greenwood W Dilliard1003Canada2024-06-08
Francesco I Darakjy1004Russia2024-05-30
Jennifer J Nicka1005Brazil2024-06-03
Silvio L Wieser1006France2024-06-16
Smith O Waycott1007Russia2024-05-27
Isabel K Paprocki1008Spain2024-06-18
Aditya D Vocelka1009United Kingdom2024-06-15
Stacey H Gaucho1010Italy2024-05-23
Munro K Maclead1011Argentina2024-06-14
Izzy Q Foller1012Italy2024-06-06
Wickens I Royster1013Italy2024-06-06
Leon V Ruta1014France2024-06-08
Stacey V Whobrey1015Japan2024-06-11
Leon H Glick1016Germany2024-05-28
Clifford X Marrier1017Spain2024-06-15
Darci V Kolmetz1018Russia2024-06-12
Claire Q Albares1019Spain2024-06-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh T GarufiBrazilIoni Bowcher UNQUALIFIED
Mujtaba R SaylorsSpainAnna Fali QUALIFIED
Smith H NickaUnited KingdomBernardo Dominic PROPOSAL
Morrow T FerenczJapanElwin Sharvill PROPOSAL
Maria M RoysterArgentinaIoni Bowcher PROPOSAL
Maria A MorascaSpainAnna Fali NEGOTIATION
Costa D MorascaSpainAsiya Javayant QUALIFIED
Stacey E CampainArgentinaAnna Fali PROPOSAL
Sinclair Y KolmetzArgentinaElwin Sharvill UNQUALIFIED
Isabel W PerinSpainXuxue Feng NEGOTIATION
Deepesh U PaprockiUnited KingdomBernardo Dominic UNQUALIFIED
Maisha W CaldareraItalyBernardo Dominic NEW
Emily V WaycottItalyAsiya Javayant RENEWAL
Murillo W ShinkoAustraliaIvan Magalhaes UNQUALIFIED
Antonio I RutaCanadaStephen Shaw PROPOSAL
Stacey W SchemmerUnited KingdomIvan Magalhaes NEGOTIATION
Morrow N NickaArgentinaAmy Elsner NEGOTIATION
Izzy O AlbaresJapanAmy Elsner PROPOSAL
Ricardo G FollerJapanXuxue Feng PROPOSAL
Johnson O ShinkoFranceIvan Magalhaes PROPOSAL
Nicolas U AmigonBrazilBernardo Dominic UNQUALIFIED
Kadeem Y MarrierIndiaIvan Magalhaes NEGOTIATION
Octavia U GauchoFranceAsiya Javayant NEW
Francesco C SchemmerCanadaBernardo Dominic UNQUALIFIED
James R CaldareraUnited KingdomXuxue Feng UNQUALIFIED
Kadeem C PaprockiIndiaElwin Sharvill PROPOSAL
Juan F SlusarskiSpainAsiya Javayant PROPOSAL
Murillo S DarakjySpainElwin Sharvill RENEWAL
Jones J WieserCanadaElwin Sharvill UNQUALIFIED
Izzy Y KolmetzIndiaOnyama Limba RENEWAL
Francesco A KuskoGermanyStephen Shaw QUALIFIED
Salvatore K GauchoAustraliaStephen Shaw NEGOTIATION
Silvio V FerenczUnited KingdomAnna Fali PROPOSAL
Sinclair J FerenczIndiaBernardo Dominic NEGOTIATION
Johnson Z ShinkoAustraliaAmy Elsner NEW
Salvatore X OstroskyRussiaXuxue Feng NEGOTIATION
Silvio J MarrierGermanyAmy Elsner QUALIFIED
Morrow Z AlbaresUnited KingdomAsiya Javayant QUALIFIED
Juan A DarakjyIndiaAnna Fali NEW
Smith D WaycottGermanyIoni Bowcher QUALIFIED

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