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
Munro B SaylorsRussiaStephen Shaw QUALIFIED
James L MacleadIndiaAsiya Javayant NEW
Alejandro Z GarufiRussiaAmy Elsner UNQUALIFIED
Johnson P BriddickCanadaIoni Bowcher PROPOSAL
Cody P WieserBrazilIvan Magalhaes NEGOTIATION
Misaki N GarufiIndiaAmy Elsner UNQUALIFIED
Deepesh B FigeroaSpainElwin Sharvill QUALIFIED
Munro T ShinkoCanadaXuxue Feng QUALIFIED
Johnson W SchemmerIndiaAmy Elsner RENEWAL
Sinclair B RimCanadaIoni Bowcher NEW
Wickens G PaprockiArgentinaXuxue Feng UNQUALIFIED
Leon K NestleCanadaOnyama Limba PROPOSAL
Alejandro D OstroskyGermanyBernardo Dominic RENEWAL
James Y IturbideIndiaIoni Bowcher NEGOTIATION
Ivar X MacleadRussiaAsiya Javayant UNQUALIFIED
Morrow D OstroskyArgentinaAsiya Javayant UNQUALIFIED
Jeanfrancois M AlbaresRussiaOnyama Limba NEW
Julie D GillianCanadaIoni Bowcher RENEWAL
Munro A DarakjyJapanAnna Fali PROPOSAL
Aditya O MacleadBrazilAnna Fali UNQUALIFIED
Morrow E SlusarskiSpainAnna Fali NEGOTIATION
Rodrigues N NickaArgentinaOnyama Limba UNQUALIFIED
Mujtaba S ButtUnited KingdomIvan Magalhaes NEGOTIATION
Ricardo C VenereSpainIoni Bowcher UNQUALIFIED
Aruna R ShinkoItalyAsiya Javayant UNQUALIFIED
Leon V NestleRussiaIoni Bowcher RENEWAL
Wickens X SaylorsCanadaIvan Magalhaes NEW
Costa T RutaJapanAmy Elsner PROPOSAL
Adams S OstroskyAustraliaElwin Sharvill NEGOTIATION
Maria T WieserArgentinaElwin Sharvill QUALIFIED
Aika M InouyeItalyStephen Shaw QUALIFIED
Nicolas L AmigonFranceAmy Elsner PROPOSAL
Jeanfrancois A SchemmerCanadaXuxue Feng RENEWAL
Stacey Z RoysterGermanyElwin Sharvill PROPOSAL
Leon Z MaletArgentinaElwin Sharvill PROPOSAL
Emily G OstroskyGermanyElwin Sharvill QUALIFIED
Darci N MacleadIndiaAmy Elsner QUALIFIED
Maisha A MaletIndiaIoni Bowcher QUALIFIED
Jeanfrancois A PaprockiGermanyXuxue Feng NEW
Ivar F BowleyUnited KingdomIvan Magalhaes RENEWAL
Mujtaba X OstroskyFranceElwin Sharvill PROPOSAL
Rodrigues K MarrierBrazilAnna Fali RENEWAL
Silvio T InouyeArgentinaXuxue Feng NEW
Alejandro V ButtGermanyBernardo Dominic UNQUALIFIED
Ricardo C BologniaArgentinaOnyama Limba PROPOSAL
Silvio W WhobreyItalyAsiya Javayant NEGOTIATION
Ivar Y BologniaJapanXuxue Feng PROPOSAL
Octavia F KuskoUnited KingdomStephen Shaw RENEWAL
Kaitlin U MorascaFranceBernardo Dominic NEGOTIATION
Mayumi F SlusarskiGermanyElwin Sharvill NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
David A MaletFranceElwin Sharvill UNQUALIFIED
David C StockhamFranceIvan Magalhaes QUALIFIED
Tony L RulapaughUnited KingdomAmy Elsner RENEWAL
Tony K PaprockiRussiaIoni Bowcher NEGOTIATION
Leon G SaylorsArgentinaIvan Magalhaes NEW
Tony J FigeroaItalyXuxue Feng NEW
Mujtaba B NickaBrazilAsiya Javayant NEW
Alejandro Y SchemmerGermanyIoni Bowcher NEW
Ricardo P DilliardUnited KingdomBernardo Dominic NEW
Mujtaba H PerinGermanyStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mayumi R AmigonSpain2024-06-03Chemel, James L Cpa NEW51Onyama Limba
1001David I IturbideIndia2024-05-24Chapman, Ross E Esq NEGOTIATION32Elwin Sharvill
1002Smith M WhobreyJapan2024-06-03Chemel, James L Cpa PROPOSAL1Onyama Limba
1003Alejandro C DilliardRussia2024-06-05Commercial Press NEGOTIATION38Onyama Limba
1004Kaitlin D FollerRussia2024-06-07Rousseaux, Michael Esq QUALIFIED57Onyama Limba
1005Leja R BowleyFrance2024-06-21King, Christopher A Esq QUALIFIED44Bernardo Dominic
1006Wickens G MaletRussia2024-06-21Feiner Bros PROPOSAL71Amy Elsner
1007Francesco A DilliardUnited Kingdom2024-06-17Rousseaux, Michael Esq NEGOTIATION65Onyama Limba
1008Maria R MaletBrazil2024-05-26Truhlar And Truhlar Attys RENEWAL98Bernardo Dominic
1009Morrow Z SlusarskiArgentina2024-06-12Feiner Bros UNQUALIFIED69Onyama Limba
1010Stacey J GauchoGermany2024-06-05Dorl, James J Esq PROPOSAL53Ioni Bowcher
1011Munro K DilliardAustralia2024-06-12Dorl, James J Esq NEGOTIATION59Asiya Javayant
1012Claire Y RutaAustralia2024-05-26Feltz Printing Service RENEWAL50Bernardo Dominic
1013Darci C PoquetteUnited Kingdom2024-06-18Rousseaux, Michael Esq RENEWAL41Ivan Magalhaes
1014Octavia E BriddickAustralia2024-06-15Rangoni Of Florence UNQUALIFIED12Elwin Sharvill
1015Costa X AmigonUnited Kingdom2024-05-23Feltz Printing Service NEW3Anna Fali
1016David R StensethRussia2024-06-12Feiner Bros RENEWAL57Anna Fali
1017Salvatore W GillianItaly2024-05-23Chanay, Jeffrey A Esq UNQUALIFIED17Amy Elsner
1018Ricardo K TollnerFrance2024-05-27Benton, John B Jr NEGOTIATION98Bernardo Dominic
1019Mayumi N CampainItaly2024-05-24Chapman, Ross E Esq NEGOTIATION98Xuxue Feng
1020Greenwood X FigeroaArgentina2024-05-29Benton, John B Jr UNQUALIFIED77Amy Elsner
1021Leon J GillianArgentina2024-06-16Feiner Bros PROPOSAL35Elwin Sharvill
1022Maisha E SergiBrazil2024-05-24Chemel, James L Cpa UNQUALIFIED56Stephen Shaw
1023Clifford E VenereGermany2024-05-25Rangoni Of Florence RENEWAL8Stephen Shaw
1024Octavia V MacleadFrance2024-05-27Feiner Bros QUALIFIED35Onyama Limba
1025Antonio S OldroydGermany2024-06-08King, Christopher A Esq RENEWAL22Bernardo Dominic
1026Ivar C StockhamCanada2024-06-07Rangoni Of Florence PROPOSAL64Onyama Limba
1027Munro S BriddickIndia2024-06-10Truhlar And Truhlar Attys NEGOTIATION94Elwin Sharvill
1028Faith O FigeroaFrance2024-06-03Commercial Press NEGOTIATION69Anna Fali
1029Greenwood L MaletCanada2024-06-08Rangoni Of Florence NEGOTIATION14Elwin Sharvill
1030Juan B SchemmerArgentina2024-06-12Rousseaux, Michael Esq QUALIFIED12Elwin Sharvill
1031Octavia Z KuskoRussia2024-06-08Rangoni Of Florence NEW28Elwin Sharvill
1032Deepesh O MorascaRussia2024-05-24Commercial Press PROPOSAL4Onyama Limba
1033Adams V ShinkoUnited Kingdom2024-06-14Dorl, James J Esq PROPOSAL6Ivan Magalhaes
1034Faith G VenereRussia2024-06-20Benton, John B Jr QUALIFIED88Elwin Sharvill
1035Jennifer N MorascaJapan2024-05-24Printing Dimensions NEGOTIATION92Onyama Limba
1036Darci H MaletCanada2024-05-24Chanay, Jeffrey A Esq UNQUALIFIED45Ioni Bowcher
1037Aika S FollerItaly2024-05-23Rousseaux, Michael Esq NEW86Elwin Sharvill
1038Clifford M OstroskyBrazil2024-05-28Dorl, James J Esq UNQUALIFIED99Stephen Shaw
1039Claire I GarufiGermany2024-06-03Feltz Printing Service QUALIFIED66Ivan Magalhaes
1040Leon F AmigonCanada2024-06-17Chapman, Ross E Esq QUALIFIED70Ioni Bowcher
1041Clifford C BowleyUnited Kingdom2024-06-01Chanay, Jeffrey A Esq QUALIFIED3Bernardo Dominic
1042Morrow O ChuiCanada2024-06-21Chemel, James L Cpa NEGOTIATION92Xuxue Feng
1043Maria K FigeroaAustralia2024-06-10Chapman, Ross E Esq PROPOSAL29Bernardo Dominic
1044Maisha K InouyeSpain2024-06-06King, Christopher A Esq PROPOSAL33Ioni Bowcher
1045Claire H StockhamJapan2024-06-04Rousseaux, Michael Esq NEW28Bernardo Dominic
1046Arvin G OldroydBrazil2024-06-11Buckley Miller Wright QUALIFIED53Stephen Shaw
1047Morrow Y BologniaSpain2024-06-21Chapman, Ross E Esq PROPOSAL15Bernardo Dominic
1048David J StockhamFrance2024-05-25Buckley Miller Wright UNQUALIFIED40Ivan Magalhaes
1049Johnson T VocelkaArgentina2024-06-06King, Christopher A Esq PROPOSAL32Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Emily T BowleyIndiaElwin Sharvill UNQUALIFIED
Francesco H FlosiCanadaIvan Magalhaes UNQUALIFIED
Ricardo M NickaItalyAnna Fali NEW
Munro C FigeroaAustraliaAsiya Javayant NEGOTIATION
Chavez O CaldareraGermanyAsiya Javayant QUALIFIED
Clifford V PerinJapanAsiya Javayant UNQUALIFIED
Kadeem B CaudyArgentinaXuxue Feng PROPOSAL
Aika G ShinkoIndiaIvan Magalhaes NEGOTIATION
Alejandro T MaletAustraliaAsiya Javayant NEW
Izzy U StockhamFranceOnyama Limba UNQUALIFIED
Smith P AlbaresSpainElwin Sharvill NEGOTIATION
Silvio I IturbideSpainIoni Bowcher PROPOSAL
Aruna Y MarrierUnited KingdomOnyama Limba UNQUALIFIED
Mujtaba D WhobreyItalyIvan Magalhaes NEGOTIATION
Jeanfrancois I GlickRussiaElwin Sharvill NEW
Rodrigues L FollerCanadaBernardo Dominic QUALIFIED
Izzy Q PerinCanadaIvan Magalhaes PROPOSAL
Izzy B WaycottBrazilAnna Fali NEGOTIATION
David Z GlickGermanyStephen Shaw QUALIFIED
Johnson Z PoquetteAustraliaAnna Fali NEW
Claire E OldroydItalyAnna Fali QUALIFIED
Salvatore C IturbideRussiaOnyama Limba QUALIFIED
Tony N SaylorsItalyBernardo Dominic NEW
Wickens T NickaJapanIvan Magalhaes RENEWAL
Morrow Z DilliardAustraliaAsiya Javayant QUALIFIED
Silvio X PaprockiJapanAnna Fali NEGOTIATION
Izzy Q RulapaughFranceOnyama Limba PROPOSAL
Maria B GillianCanadaIvan Magalhaes QUALIFIED
Darci L ChuiRussiaStephen Shaw UNQUALIFIED
Maria X CaudyIndiaStephen Shaw NEW
Mayumi A BriddickUnited KingdomOnyama Limba UNQUALIFIED
Stacey I CampainRussiaElwin Sharvill NEGOTIATION
Darci N CampainFranceStephen Shaw QUALIFIED
David Q SlusarskiCanadaIvan Magalhaes QUALIFIED
Johnson F BowleyJapanOnyama Limba NEGOTIATION
Munro O FigeroaIndiaAmy Elsner NEW
Arvin R KolmetzArgentinaAmy Elsner PROPOSAL
Darci F IturbideRussiaOnyama Limba PROPOSAL
Alejandro N WaycottJapanXuxue Feng UNQUALIFIED
Emily A CaudyItalyAnna Fali QUALIFIED
Kaitlin K DarakjyArgentinaBernardo Dominic UNQUALIFIED
Arvin C FerenczArgentinaOnyama Limba NEW
Murillo R SergiSpainIvan Magalhaes NEW
Johnson P CaudyBrazilAsiya Javayant NEW
Wickens J RutaAustraliaAmy Elsner NEGOTIATION
Morrow W MarrierArgentinaIoni Bowcher QUALIFIED
David P KuskoItalyElwin Sharvill PROPOSAL
Ricardo A PaprockiCanadaIoni Bowcher RENEWAL
Kadeem K BologniaIndiaIvan Magalhaes PROPOSAL
Cody T GlickAustraliaAmy Elsner QUALIFIED
Frozen Columns
Name
Cody J Kolmetz
Aruna U Darakjy
Faith Y Whobrey
Clifford W Kolmetz
Misaki M Gillian
David T Glick
Jeanfrancois B Briddick
Aruna J Darakjy
Ivar M Butt
Maria J Figeroa
Jennifer Z Campain
Jennifer H Perin
Nicolas L Ferencz
Smith U Malet
Julie S Shinko
Johnson D Amigon
Silvio I Malet
Aditya C Bolognia
Mayumi L Kusko
Maria X Sergi
Faith T Kolmetz
Tony G Briddick
Tony S Rim
Wickens R Nicka
David C Stockham
David K Iturbide
Emily H Shinko
Maria L Flosi
Ashley Q Caudy
Leja R Paprocki
Isabel V Marrier
Faith U Caudy
Jefferson P Kolmetz
Jennifer U Campain
Darci H Malet
Murillo X Perin
Aika C Wieser
Kadeem U Iturbide
Antonio L Venere
Ricardo C Whobrey
Rodrigues G Rulapaugh
Faith V Nicka
Chavez R Malet
Ricardo B Bowley
Tony R Royster
Salvatore B Garufi
Aditya B Schemmer
Morrow K Kusko
Adams W Chui
Leon Q Saylors
IdCountryDate
1000Australia2024-06-10
1001Japan2024-06-14
1002India2024-06-19
1003Germany2024-06-08
1004France2024-06-07
1005France2024-05-25
1006Japan2024-06-05
1007Japan2024-06-03
1008Canada2024-06-03
1009France2024-06-01
1010Argentina2024-06-03
1011Russia2024-06-04
1012Australia2024-05-31
1013Italy2024-06-06
1014Australia2024-06-18
1015Canada2024-06-10
1016Brazil2024-06-10
1017Argentina2024-05-30
1018Spain2024-05-28
1019Argentina2024-06-05
1020Spain2024-06-18
1021Canada2024-06-04
1022Germany2024-06-11
1023Japan2024-05-24
1024Argentina2024-06-01
1025Australia2024-06-03
1026Argentina2024-05-29
1027United Kingdom2024-06-19
1028Argentina2024-06-12
1029Brazil2024-06-19
1030Canada2024-06-16
1031Brazil2024-06-20
1032Italy2024-06-07
1033Brazil2024-06-17
1034Argentina2024-06-15
1035India2024-06-03
1036Argentina2024-06-02
1037India2024-06-05
1038Japan2024-06-13
1039Germany2024-06-05
1040Brazil2024-06-14
1041Spain2024-06-21
1042Japan2024-06-13
1043Brazil2024-06-21
1044Italy2024-05-26
1045United Kingdom2024-05-29
1046United Kingdom2024-05-26
1047Brazil2024-06-01
1048Spain2024-06-02
1049Japan2024-05-30

On-Demand Data

NameIdCountryDate
Leon A Garufi1000India2024-06-11
Kaitlin X Rim1001France2024-06-12
Jeanfrancois V Schemmer1002Canada2024-06-19
Darci K Foller1003Australia2024-06-17
Costa X Figeroa1004Brazil2024-05-25
Faith I Amigon1005India2024-06-06
Julie B Saylors1006Germany2024-06-13
Aika D Caudy1007Brazil2024-05-27
Morrow W Nicka1008France2024-05-25
Deepesh D Nicka1009India2024-05-28
Aruna Q Morasca1010Russia2024-06-02
Smith C Morasca1011Spain2024-06-07
Aika L Amigon1012India2024-06-15
Adams C Poquette1013Argentina2024-06-19
Francesco U Vocelka1014Brazil2024-06-12
Maria Q Perin1015Spain2024-05-31
Antonio V Venere1016Germany2024-06-17
Francesco G Ruta1017United Kingdom2024-06-09
Octavia J Maclead1018Australia2024-06-12
Jones Y Inouye1019United Kingdom2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Tony B SlusarskiIndiaAmy Elsner QUALIFIED
Nicolas C GauchoCanadaIoni Bowcher NEGOTIATION
Murillo V RutaRussiaElwin Sharvill NEW
Murillo Y PerinSpainStephen Shaw PROPOSAL
Arvin F SchemmerIndiaStephen Shaw PROPOSAL
Deepesh T PoquetteSpainAsiya Javayant PROPOSAL
Alejandro T NestleCanadaIvan Magalhaes NEGOTIATION
Ivar B SergiSpainStephen Shaw UNQUALIFIED
Isabel U GillianCanadaOnyama Limba PROPOSAL
Johnson S StensethFranceXuxue Feng QUALIFIED
Julie F AlbaresAustraliaXuxue Feng QUALIFIED
Kadeem S ChuiSpainAsiya Javayant UNQUALIFIED
Costa L AmigonFranceAsiya Javayant NEGOTIATION
Jennifer S IturbideItalyIoni Bowcher RENEWAL
James W BowleyItalyIvan Magalhaes NEGOTIATION
James U ButtRussiaStephen Shaw NEGOTIATION
Costa A SlusarskiIndiaIoni Bowcher NEGOTIATION
Sinclair D CampainSpainElwin Sharvill UNQUALIFIED
Stacey C KuskoIndiaXuxue Feng QUALIFIED
Antonio K RulapaughIndiaAmy Elsner QUALIFIED
Costa I NickaIndiaStephen Shaw PROPOSAL
Kaitlin V FollerJapanAsiya Javayant UNQUALIFIED
Leon I MaletSpainAsiya Javayant UNQUALIFIED
Ivar I PoquetteJapanAnna Fali NEGOTIATION
Isabel D MarrierArgentinaIvan Magalhaes RENEWAL
Mujtaba J FlosiArgentinaElwin Sharvill NEGOTIATION
Mayumi J OstroskyArgentinaElwin Sharvill PROPOSAL
Nicolas Q StensethJapanBernardo Dominic UNQUALIFIED
Isabel A PaprockiSpainXuxue Feng PROPOSAL
Aditya N BriddickAustraliaAnna Fali RENEWAL
Adams H CampainIndiaAnna Fali UNQUALIFIED
Silvio N GlickJapanAmy Elsner NEW
Maisha B CaldareraArgentinaAnna Fali NEGOTIATION
James Y SchemmerUnited KingdomIoni Bowcher UNQUALIFIED
Aika K IturbideAustraliaElwin Sharvill NEGOTIATION
James V BriddickIndiaAsiya Javayant RENEWAL
Greenwood Q CaudySpainAnna Fali UNQUALIFIED
James D CampainFranceXuxue Feng QUALIFIED
Isabel P TollnerBrazilBernardo Dominic QUALIFIED
Rodrigues G DoeSpainOnyama Limba 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>