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
Silvio E TollnerCanadaOnyama Limba QUALIFIED
Tony U StockhamAustraliaXuxue Feng QUALIFIED
Mujtaba T KolmetzSpainAsiya Javayant QUALIFIED
Emily H PaprockiSpainOnyama Limba NEW
Juan X WhobreyIndiaXuxue Feng UNQUALIFIED
Nicolas Q FlosiSpainAsiya Javayant RENEWAL
David P AlbaresArgentinaAmy Elsner NEGOTIATION
Alejandro O SchemmerRussiaIvan Magalhaes QUALIFIED
Claire G NestleFranceAsiya Javayant UNQUALIFIED
Arvin Q KolmetzFranceStephen Shaw UNQUALIFIED
Murillo S InouyeItalyAnna Fali UNQUALIFIED
Greenwood U GauchoUnited KingdomOnyama Limba NEW
James G SlusarskiRussiaIoni Bowcher NEW
Sinclair W MaletFranceStephen Shaw NEGOTIATION
Darci P BologniaArgentinaAnna Fali RENEWAL
Ashley B BologniaUnited KingdomBernardo Dominic QUALIFIED
Cody N ShinkoAustraliaAnna Fali QUALIFIED
Mayumi U StensethRussiaIvan Magalhaes NEW
Nicolas V VenereBrazilIoni Bowcher NEGOTIATION
Isabel Z SaylorsUnited KingdomStephen Shaw NEGOTIATION
Jones Z WaycottJapanAnna Fali RENEWAL
Greenwood T FollerItalyOnyama Limba QUALIFIED
Darci N WhobreyGermanyElwin Sharvill PROPOSAL
Misaki H VocelkaSpainStephen Shaw RENEWAL
Maria B DoeUnited KingdomXuxue Feng NEW
Greenwood P BologniaIndiaElwin Sharvill PROPOSAL
Ashley H ShinkoGermanyBernardo Dominic NEGOTIATION
Adams U OldroydUnited KingdomIvan Magalhaes PROPOSAL
Juan X IturbideIndiaAsiya Javayant PROPOSAL
Emily D VocelkaUnited KingdomIvan Magalhaes RENEWAL
David U VocelkaIndiaAsiya Javayant NEGOTIATION
Isabel Q OstroskyFranceIvan Magalhaes UNQUALIFIED
Juan G VenereFranceIoni Bowcher NEW
Arvin D WaycottSpainAmy Elsner PROPOSAL
Aika H KuskoUnited KingdomElwin Sharvill QUALIFIED
Julie R DoeAustraliaAmy Elsner PROPOSAL
Murillo Y ShinkoUnited KingdomIoni Bowcher PROPOSAL
Jennifer N CaudyArgentinaIoni Bowcher PROPOSAL
Salvatore L GlickSpainAsiya Javayant NEW
Stacey V CaldareraUnited KingdomIvan Magalhaes UNQUALIFIED
Wickens J BologniaGermanyIvan Magalhaes PROPOSAL
Aditya W MarrierGermanyOnyama Limba NEW
Arvin H GauchoUnited KingdomStephen Shaw RENEWAL
Maria W ShinkoSpainAsiya Javayant NEGOTIATION
Costa Q GauchoArgentinaXuxue Feng NEGOTIATION
Stacey I PaprockiFranceElwin Sharvill UNQUALIFIED
Ricardo D KuskoRussiaBernardo Dominic NEW
Cody Q NestleJapanIvan Magalhaes NEW
Stacey H TollnerBrazilOnyama Limba NEGOTIATION
Maisha W StensethIndiaAmy Elsner PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Greenwood K BriddickBrazilAsiya Javayant UNQUALIFIED
Darci R ChuiSpainIvan Magalhaes PROPOSAL
Jones D GarufiUnited KingdomAsiya Javayant NEW
Antonio R RoysterCanadaStephen Shaw RENEWAL
Rodrigues R GarufiCanadaAsiya Javayant RENEWAL
Emily B MaletBrazilStephen Shaw NEGOTIATION
Smith S CaudyJapanAmy Elsner UNQUALIFIED
Jeanfrancois M WhobreyGermanyAmy Elsner NEGOTIATION
Greenwood A AmigonFranceAmy Elsner PROPOSAL
Tony P RulapaughBrazilStephen Shaw PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar E MacleadRussia2024-06-22King, Christopher A Esq UNQUALIFIED10Onyama Limba
1001Sinclair M CaudySpain2024-06-08Feiner Bros NEW52Xuxue Feng
1002Julie C ButtJapan2024-06-10Dorl, James J Esq NEGOTIATION68Anna Fali
1003Tony J SaylorsAustralia2024-05-24Chemel, James L Cpa PROPOSAL85Ioni Bowcher
1004Ashley A StensethAustralia2024-06-01Benton, John B Jr QUALIFIED27Elwin Sharvill
1005Antonio H SlusarskiAustralia2024-06-14Rousseaux, Michael Esq NEW16Bernardo Dominic
1006Aika Y SaylorsBrazil2024-06-01Rousseaux, Michael Esq NEW57Elwin Sharvill
1007Jones I ShinkoUnited Kingdom2024-05-29Feltz Printing Service RENEWAL27Amy Elsner
1008Adams N CaldareraIndia2024-05-29Benton, John B Jr NEGOTIATION35Stephen Shaw
1009Costa D MaletUnited Kingdom2024-06-09Buckley Miller Wright PROPOSAL22Stephen Shaw
1010Aditya T MaletUnited Kingdom2024-05-31Commercial Press PROPOSAL56Asiya Javayant
1011Cody L NestleSpain2024-06-02Morlong Associates UNQUALIFIED51Stephen Shaw
1012Misaki R DarakjyUnited Kingdom2024-05-30Commercial Press NEGOTIATION44Anna Fali
1013Salvatore O NestleRussia2024-06-08Chanay, Jeffrey A Esq NEW46Asiya Javayant
1014Clifford H VocelkaSpain2024-06-04Feiner Bros RENEWAL73Ivan Magalhaes
1015Deepesh T RutaJapan2024-05-30Rousseaux, Michael Esq NEGOTIATION66Anna Fali
1016Greenwood K GarufiRussia2024-05-29Feltz Printing Service RENEWAL7Ioni Bowcher
1017Faith B ButtJapan2024-06-03Buckley Miller Wright NEGOTIATION14Bernardo Dominic
1018Adams E MorascaSpain2024-06-05Commercial Press UNQUALIFIED19Stephen Shaw
1019James P FlosiItaly2024-06-21Dorl, James J Esq PROPOSAL15Xuxue Feng
1020Adams J CaldareraFrance2024-06-09Feltz Printing Service UNQUALIFIED60Anna Fali
1021Tony R InouyeBrazil2024-06-03Morlong Associates QUALIFIED69Elwin Sharvill
1022Maisha X BriddickFrance2024-05-30Chemel, James L Cpa RENEWAL79Xuxue Feng
1023Jeanfrancois F AmigonUnited Kingdom2024-06-01Chapman, Ross E Esq NEGOTIATION50Bernardo Dominic
1024Isabel G VocelkaGermany2024-06-04Morlong Associates UNQUALIFIED72Anna Fali
1025Aruna K PoquetteJapan2024-06-19Rangoni Of Florence NEGOTIATION46Ivan Magalhaes
1026Faith U DilliardGermany2024-06-18Chemel, James L Cpa RENEWAL31Stephen Shaw
1027Faith E RutaIndia2024-06-20Benton, John B Jr NEGOTIATION5Onyama Limba
1028Johnson Y MorascaRussia2024-06-10King, Christopher A Esq RENEWAL94Onyama Limba
1029Rodrigues B BriddickRussia2024-05-31Chemel, James L Cpa NEGOTIATION90Stephen Shaw
1030Jefferson B CaudyFrance2024-06-21Chemel, James L Cpa UNQUALIFIED47Onyama Limba
1031Deepesh T RoysterJapan2024-05-27Printing Dimensions UNQUALIFIED25Amy Elsner
1032Kadeem E RoysterAustralia2024-06-20Buckley Miller Wright UNQUALIFIED80Amy Elsner
1033Cody U PerinArgentina2024-06-14Chanay, Jeffrey A Esq QUALIFIED0Stephen Shaw
1034Faith D InouyeRussia2024-06-04Chemel, James L Cpa QUALIFIED15Asiya Javayant
1035Juan B MorascaUnited Kingdom2024-06-18Benton, John B Jr NEW58Amy Elsner
1036Costa N GarufiRussia2024-05-25Chapman, Ross E Esq RENEWAL73Ivan Magalhaes
1037Costa S PoquetteIndia2024-06-04Commercial Press NEGOTIATION96Amy Elsner
1038Kaitlin Z AlbaresRussia2024-06-19Chanay, Jeffrey A Esq UNQUALIFIED70Onyama Limba
1039Maisha Z SlusarskiIndia2024-06-12Feltz Printing Service NEW10Asiya Javayant
1040Juan V SchemmerArgentina2024-06-07Buckley Miller Wright NEGOTIATION21Ioni Bowcher
1041David V CampainSpain2024-06-06Morlong Associates NEGOTIATION54Xuxue Feng
1042Faith F TollnerIndia2024-05-26Dorl, James J Esq NEGOTIATION89Anna Fali
1043Alejandro D SaylorsGermany2024-06-10Morlong Associates RENEWAL53Asiya Javayant
1044Ashley Q DilliardRussia2024-06-19Rousseaux, Michael Esq PROPOSAL56Asiya Javayant
1045Misaki W BriddickFrance2024-06-19Dorl, James J Esq UNQUALIFIED24Anna Fali
1046Rodrigues D CaldareraAustralia2024-05-29Feiner Bros QUALIFIED81Asiya Javayant
1047Adams C StockhamUnited Kingdom2024-05-29Morlong Associates QUALIFIED40Stephen Shaw
1048Izzy N KolmetzJapan2024-05-26Feltz Printing Service NEGOTIATION87Ioni Bowcher
1049Jennifer K VenereJapan2024-06-19Chapman, Ross E Esq RENEWAL64Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Nicolas J GarufiFranceAmy Elsner RENEWAL
Leja N GauchoRussiaIoni Bowcher QUALIFIED
Aika K CaldareraBrazilStephen Shaw NEW
Jefferson E SchemmerGermanyStephen Shaw NEGOTIATION
Nicolas C KuskoBrazilStephen Shaw NEGOTIATION
Jeanfrancois P RoysterFranceBernardo Dominic RENEWAL
Kadeem U FigeroaCanadaBernardo Dominic UNQUALIFIED
Ashley Q PerinFranceAnna Fali RENEWAL
Antonio K WieserBrazilStephen Shaw RENEWAL
Darci S DilliardSpainAmy Elsner NEGOTIATION
Ricardo L OstroskyIndiaAmy Elsner NEGOTIATION
Clifford M NickaGermanyAnna Fali QUALIFIED
David Z VenereFranceXuxue Feng NEW
Aditya N MaletBrazilAmy Elsner QUALIFIED
Sinclair D BriddickAustraliaStephen Shaw QUALIFIED
Clifford H BriddickCanadaBernardo Dominic RENEWAL
Rodrigues B DarakjyGermanyBernardo Dominic QUALIFIED
Julie Y FlosiRussiaBernardo Dominic UNQUALIFIED
Tony R CaldareraItalyIvan Magalhaes QUALIFIED
Adams T NestleGermanyIoni Bowcher NEW
Adams A ChuiIndiaBernardo Dominic NEW
Jeanfrancois B AlbaresSpainIoni Bowcher PROPOSAL
Aditya S CampainArgentinaAmy Elsner NEGOTIATION
Ricardo H OstroskyItalyAmy Elsner UNQUALIFIED
Silvio R WhobreyArgentinaOnyama Limba PROPOSAL
Wickens S OstroskyIndiaElwin Sharvill UNQUALIFIED
Cody O StensethJapanIvan Magalhaes PROPOSAL
Munro R DoeItalyStephen Shaw NEW
Leon J KolmetzCanadaAsiya Javayant UNQUALIFIED
Kadeem T GauchoRussiaIvan Magalhaes NEW
Aika B CaudyFranceAnna Fali PROPOSAL
Misaki B MarrierBrazilElwin Sharvill UNQUALIFIED
Maisha H KolmetzJapanAmy Elsner QUALIFIED
Arvin Q GlickJapanIvan Magalhaes NEW
Aditya N FerenczItalyIvan Magalhaes QUALIFIED
Johnson R WhobreyJapanAmy Elsner NEW
Kaitlin S MacleadBrazilIoni Bowcher NEGOTIATION
Stacey P NestleSpainAmy Elsner PROPOSAL
Adams Q RutaItalyAnna Fali RENEWAL
Octavia P IturbideBrazilXuxue Feng QUALIFIED
Octavia K GillianCanadaAmy Elsner UNQUALIFIED
Aruna N WhobreyAustraliaAmy Elsner RENEWAL
Aika Q ShinkoIndiaIvan Magalhaes PROPOSAL
James C SaylorsJapanXuxue Feng PROPOSAL
Juan J GlickArgentinaElwin Sharvill NEGOTIATION
Julie Q AmigonUnited KingdomBernardo Dominic NEW
Octavia Z AlbaresItalyIvan Magalhaes QUALIFIED
Jeanfrancois A MacleadJapanStephen Shaw NEW
Stacey V KuskoSpainOnyama Limba NEGOTIATION
Cody V WhobreyJapanBernardo Dominic QUALIFIED
Frozen Columns
Name
Johnson M Sergi
Octavia E Campain
Clifford N Sergi
Jennifer O Oldroyd
Chavez L Stenseth
James R Maclead
Izzy L Albares
David G Butt
Ricardo A Saylors
Murillo K Oldroyd
Costa C Kolmetz
Rodrigues P Poquette
Misaki E Rim
Misaki B Chui
Maria H Ferencz
Aruna Z Ostrosky
Costa S Briddick
Faith D Waycott
Izzy G Shinko
Kadeem P Saylors
Darci Z Glick
Kaitlin Z Whobrey
Johnson R Perin
Francesco X Iturbide
Faith S Foller
Leon E Nestle
Jennifer G Campain
Alejandro H Garufi
Wickens F Inouye
Alejandro W Bolognia
Mayumi D Iturbide
Kaitlin Y Bowley
Aditya U Morasca
Misaki O Flosi
Julie K Stenseth
Adams Z Stockham
Jeanfrancois Z Rim
Silvio X Paprocki
Maria J Stockham
Faith L Inouye
Munro Z Foller
Misaki G Inouye
Maisha Y Stenseth
Deepesh W Venere
Tony W Gillian
Morrow I Briddick
David P Campain
Silvio O Maclead
Wickens R Bowley
Francesco Q Vocelka
IdCountryDate
1000Spain2024-06-12
1001Russia2024-06-01
1002Brazil2024-06-06
1003France2024-06-13
1004Australia2024-06-07
1005Australia2024-06-06
1006India2024-06-02
1007India2024-05-27
1008Australia2024-06-17
1009United Kingdom2024-05-24
1010Russia2024-05-26
1011Canada2024-06-10
1012Argentina2024-06-18
1013Argentina2024-06-15
1014France2024-06-16
1015Russia2024-06-10
1016United Kingdom2024-06-18
1017Spain2024-06-04
1018Italy2024-05-25
1019India2024-06-04
1020Germany2024-05-25
1021Russia2024-05-26
1022Spain2024-06-17
1023United Kingdom2024-06-14
1024Spain2024-05-30
1025Germany2024-06-16
1026Japan2024-06-21
1027Brazil2024-06-16
1028Brazil2024-05-24
1029Canada2024-06-17
1030Australia2024-05-27
1031India2024-06-14
1032India2024-06-22
1033Russia2024-06-05
1034France2024-05-30
1035Argentina2024-06-12
1036Russia2024-06-16
1037Italy2024-06-07
1038France2024-06-03
1039Germany2024-06-21
1040France2024-06-19
1041Italy2024-06-16
1042Japan2024-06-03
1043France2024-06-06
1044Germany2024-05-27
1045India2024-06-03
1046United Kingdom2024-05-28
1047India2024-05-29
1048Germany2024-06-13
1049Japan2024-05-29

On-Demand Data

NameIdCountryDate
Jones M Bolognia1000Canada2024-06-17
Morrow B Foller1001Spain2024-06-20
Juan Q Ruta1002Italy2024-05-28
Rodrigues C Schemmer1003Spain2024-06-10
Greenwood Y Inouye1004India2024-05-24
Ashley H Vocelka1005Japan2024-06-10
Mujtaba F Albares1006Russia2024-06-14
Wickens A Stockham1007United Kingdom2024-06-12
Faith L Malet1008Russia2024-06-09
Chavez G Inouye1009France2024-06-06
Greenwood X Bolognia1010Australia2024-05-26
Stacey O Tollner1011Russia2024-06-06
Salvatore A Vocelka1012United Kingdom2024-06-04
Maria O Rim1013Russia2024-06-20
Jeanfrancois D Vocelka1014Brazil2024-06-12
Aruna Z Chui1015Brazil2024-06-03
Alejandro O Gillian1016India2024-05-26
Aika S Garufi1017United Kingdom2024-06-18
Jefferson P Venere1018France2024-06-16
Octavia L Bowley1019Spain2024-06-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire J RoysterCanadaOnyama Limba NEGOTIATION
Kaitlin Q VocelkaBrazilIvan Magalhaes RENEWAL
Silvio L PerinCanadaAsiya Javayant PROPOSAL
Jeanfrancois G AmigonIndiaBernardo Dominic UNQUALIFIED
Julie W WhobreyGermanyAsiya Javayant UNQUALIFIED
Johnson C BriddickBrazilAnna Fali RENEWAL
Arvin D NickaGermanyAmy Elsner RENEWAL
Rodrigues J GarufiRussiaXuxue Feng RENEWAL
Rodrigues G InouyeFranceAnna Fali NEGOTIATION
Kadeem E AmigonRussiaIoni Bowcher QUALIFIED
Leon L RulapaughArgentinaAnna Fali UNQUALIFIED
Misaki Y MarrierAustraliaXuxue Feng QUALIFIED
David L SchemmerRussiaIvan Magalhaes NEGOTIATION
Misaki Z ShinkoAustraliaOnyama Limba PROPOSAL
Jeanfrancois Z AmigonUnited KingdomIoni Bowcher RENEWAL
Tony P MaletIndiaAnna Fali PROPOSAL
Arvin T MacleadIndiaAmy Elsner PROPOSAL
Faith V VenereCanadaAnna Fali RENEWAL
Aika F SaylorsAustraliaOnyama Limba QUALIFIED
Murillo N BologniaCanadaIvan Magalhaes NEW
Antonio U OldroydFranceStephen Shaw RENEWAL
Jones K KolmetzUnited KingdomAnna Fali RENEWAL
Kadeem X PaprockiItalyBernardo Dominic NEGOTIATION
Smith K MaletFranceXuxue Feng RENEWAL
Isabel P ButtAustraliaXuxue Feng PROPOSAL
Arvin M StockhamRussiaAmy Elsner NEGOTIATION
Chavez N NickaSpainStephen Shaw UNQUALIFIED
Cody N RulapaughJapanIvan Magalhaes UNQUALIFIED
Murillo J VocelkaRussiaBernardo Dominic UNQUALIFIED
Maisha K RulapaughSpainIoni Bowcher PROPOSAL
Murillo M BologniaIndiaElwin Sharvill UNQUALIFIED
Chavez L SlusarskiCanadaAsiya Javayant NEGOTIATION
Emily J CaldareraUnited KingdomBernardo Dominic UNQUALIFIED
Morrow Q VocelkaAustraliaBernardo Dominic NEW
Mujtaba K StensethItalyIvan Magalhaes RENEWAL
Chavez P CaldareraBrazilIvan Magalhaes QUALIFIED
David E CaldareraArgentinaBernardo Dominic UNQUALIFIED
Tony T GlickUnited KingdomBernardo Dominic NEW
Munro B BowleyUnited KingdomAnna Fali RENEWAL
Greenwood O DilliardItalyAnna Fali 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>