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
Ivar A ButtGermanyOnyama Limba NEW
Mujtaba P TollnerArgentinaAmy Elsner QUALIFIED
Isabel A VocelkaGermanyXuxue Feng QUALIFIED
Silvio P RutaArgentinaBernardo Dominic NEGOTIATION
Faith D BriddickRussiaOnyama Limba NEW
Jefferson W DilliardRussiaAmy Elsner UNQUALIFIED
Isabel K AlbaresIndiaBernardo Dominic UNQUALIFIED
Leon Q ChuiArgentinaXuxue Feng NEGOTIATION
Antonio Q SergiItalyIoni Bowcher PROPOSAL
Munro P GlickAustraliaIvan Magalhaes RENEWAL
Deepesh B VenereUnited KingdomOnyama Limba NEGOTIATION
Emily U PoquetteAustraliaStephen Shaw QUALIFIED
Morrow S NestleFranceIoni Bowcher NEW
Tony A TollnerFranceAsiya Javayant NEGOTIATION
Julie Z BriddickArgentinaElwin Sharvill NEGOTIATION
Ashley G KuskoSpainAnna Fali UNQUALIFIED
Juan I KuskoJapanAsiya Javayant QUALIFIED
Jefferson W DoeArgentinaElwin Sharvill PROPOSAL
Aika K SchemmerCanadaAmy Elsner NEGOTIATION
Izzy U StensethUnited KingdomOnyama Limba NEGOTIATION
Mujtaba L ButtUnited KingdomOnyama Limba NEW
Costa P RoysterAustraliaXuxue Feng NEGOTIATION
Chavez N SlusarskiIndiaOnyama Limba NEGOTIATION
Salvatore K StockhamCanadaElwin Sharvill PROPOSAL
Faith D OstroskyItalyIvan Magalhaes PROPOSAL
Juan P PoquetteSpainAsiya Javayant UNQUALIFIED
Clifford I GillianItalyAmy Elsner NEGOTIATION
Faith M StockhamJapanStephen Shaw RENEWAL
Greenwood C MarrierItalyBernardo Dominic RENEWAL
Francesco M WieserUnited KingdomAnna Fali QUALIFIED
Salvatore D GillianItalyAnna Fali NEW
Faith D SergiUnited KingdomBernardo Dominic PROPOSAL
Munro R BowleyRussiaAnna Fali PROPOSAL
Isabel K PaprockiSpainAsiya Javayant PROPOSAL
Chavez M DoeJapanIvan Magalhaes QUALIFIED
Clifford V MarrierIndiaAsiya Javayant UNQUALIFIED
Mujtaba Z SaylorsJapanAsiya Javayant UNQUALIFIED
Kadeem E VenereFranceIoni Bowcher QUALIFIED
Arvin W FigeroaGermanyBernardo Dominic NEW
Cody K SaylorsRussiaElwin Sharvill RENEWAL
Arvin F RoysterSpainOnyama Limba QUALIFIED
Jefferson I MacleadSpainOnyama Limba UNQUALIFIED
Juan X KolmetzAustraliaAmy Elsner PROPOSAL
Tony S GarufiCanadaIoni Bowcher PROPOSAL
Aditya X CaldareraAustraliaIvan Magalhaes QUALIFIED
Cody I FerenczBrazilAsiya Javayant PROPOSAL
Cody Q PerinCanadaAmy Elsner UNQUALIFIED
Tony M WhobreyFranceIvan Magalhaes UNQUALIFIED
Rodrigues F RulapaughAustraliaBernardo Dominic NEW
Kadeem U StockhamGermanyElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Clifford X MaletFranceXuxue Feng NEGOTIATION
Alejandro M DoeArgentinaElwin Sharvill NEGOTIATION
Misaki W PerinJapanIoni Bowcher RENEWAL
Smith P VocelkaIndiaXuxue Feng NEW
Leon I BowleyArgentinaOnyama Limba NEW
Mayumi I IturbideArgentinaIoni Bowcher PROPOSAL
Jeanfrancois S IturbideSpainXuxue Feng UNQUALIFIED
Adams Y CampainFranceXuxue Feng PROPOSAL
Emily X OstroskyRussiaAnna Fali UNQUALIFIED
Cody R WaycottAustraliaAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson M RoysterCanada2024-06-20Truhlar And Truhlar Attys NEGOTIATION65Amy Elsner
1001Jones F GillianFrance2024-06-12Buckley Miller Wright RENEWAL82Ioni Bowcher
1002Johnson U BriddickArgentina2024-06-07Commercial Press NEW23Ivan Magalhaes
1003Clifford E MacleadFrance2024-06-01Morlong Associates PROPOSAL31Xuxue Feng
1004Jefferson G InouyeJapan2024-06-16Chemel, James L Cpa NEGOTIATION46Xuxue Feng
1005Leja G InouyeGermany2024-06-21Chanay, Jeffrey A Esq NEW0Asiya Javayant
1006Wickens F KuskoFrance2024-06-08Feltz Printing Service PROPOSAL60Amy Elsner
1007Francesco B MaletCanada2024-06-13Morlong Associates QUALIFIED70Ioni Bowcher
1008Claire S BriddickBrazil2024-06-04Chapman, Ross E Esq RENEWAL86Anna Fali
1009Octavia K ButtAustralia2024-06-09Feiner Bros UNQUALIFIED79Stephen Shaw
1010Arvin J DarakjySpain2024-05-31Buckley Miller Wright UNQUALIFIED47Xuxue Feng
1011Misaki E VocelkaJapan2024-06-02Commercial Press QUALIFIED10Stephen Shaw
1012Ricardo S CampainUnited Kingdom2024-06-20Morlong Associates NEW41Ioni Bowcher
1013Nicolas C WieserUnited Kingdom2024-05-27Rangoni Of Florence QUALIFIED49Ioni Bowcher
1014Antonio U InouyeCanada2024-06-06Commercial Press RENEWAL99Bernardo Dominic
1015Darci S ButtArgentina2024-06-15Commercial Press NEGOTIATION51Xuxue Feng
1016Clifford Y ButtArgentina2024-06-15King, Christopher A Esq PROPOSAL21Asiya Javayant
1017Chavez J WieserItaly2024-06-11Morlong Associates RENEWAL73Bernardo Dominic
1018Ivar I StockhamFrance2024-06-10Dorl, James J Esq NEW83Ivan Magalhaes
1019Tony B GlickIndia2024-06-18Chanay, Jeffrey A Esq NEGOTIATION55Bernardo Dominic
1020Johnson V OstroskySpain2024-05-28Rangoni Of Florence NEW13Asiya Javayant
1021Sinclair C SaylorsSpain2024-06-03Buckley Miller Wright NEGOTIATION60Bernardo Dominic
1022Maria B AlbaresSpain2024-05-29Truhlar And Truhlar Attys PROPOSAL61Bernardo Dominic
1023Aika N KuskoBrazil2024-06-11Rangoni Of Florence RENEWAL72Amy Elsner
1024Kadeem B RimBrazil2024-06-06Truhlar And Truhlar Attys RENEWAL20Stephen Shaw
1025Munro A SchemmerUnited Kingdom2024-05-30Feiner Bros RENEWAL86Ivan Magalhaes
1026Jeanfrancois H AmigonArgentina2024-05-25Rangoni Of Florence RENEWAL56Onyama Limba
1027Ivar T PoquetteGermany2024-06-13Benton, John B Jr UNQUALIFIED28Xuxue Feng
1028Alejandro F RutaGermany2024-06-21Chemel, James L Cpa RENEWAL16Ivan Magalhaes
1029Arvin I WhobreyCanada2024-05-27Morlong Associates NEGOTIATION51Anna Fali
1030Cody A OldroydIndia2024-06-05Chemel, James L Cpa PROPOSAL33Ioni Bowcher
1031Jeanfrancois N DarakjyJapan2024-06-17Chanay, Jeffrey A Esq PROPOSAL26Amy Elsner
1032Clifford J FerenczUnited Kingdom2024-05-30Rousseaux, Michael Esq PROPOSAL99Elwin Sharvill
1033David L FerenczItaly2024-06-12Printing Dimensions NEGOTIATION62Ioni Bowcher
1034Jefferson H BologniaArgentina2024-06-17Buckley Miller Wright UNQUALIFIED62Anna Fali
1035Francesco U RoysterSpain2024-06-10Benton, John B Jr UNQUALIFIED84Ivan Magalhaes
1036Ricardo V VenereUnited Kingdom2024-06-07King, Christopher A Esq UNQUALIFIED19Ioni Bowcher
1037Tony R ChuiIndia2024-06-09King, Christopher A Esq NEW52Bernardo Dominic
1038Darci B GarufiFrance2024-06-15Chemel, James L Cpa NEGOTIATION33Asiya Javayant
1039Faith N TollnerGermany2024-05-29Dorl, James J Esq RENEWAL77Elwin Sharvill
1040Cody K PaprockiJapan2024-05-26King, Christopher A Esq NEGOTIATION14Stephen Shaw
1041Johnson B SchemmerFrance2024-05-24Chapman, Ross E Esq NEW23Amy Elsner
1042Tony R MaletFrance2024-06-01Buckley Miller Wright RENEWAL41Bernardo Dominic
1043Julie B FollerCanada2024-06-03Truhlar And Truhlar Attys UNQUALIFIED27Bernardo Dominic
1044Costa R NestleSpain2024-06-19Chanay, Jeffrey A Esq PROPOSAL31Stephen Shaw
1045Francesco N RoysterArgentina2024-06-17Chanay, Jeffrey A Esq PROPOSAL87Asiya Javayant
1046Juan F FlosiAustralia2024-05-29Feltz Printing Service NEGOTIATION70Ivan Magalhaes
1047Maria A PaprockiGermany2024-06-14Rangoni Of Florence RENEWAL57Bernardo Dominic
1048Nicolas U FigeroaSpain2024-06-20Commercial Press PROPOSAL36Bernardo Dominic
1049Adams X VenereUnited Kingdom2024-06-19Truhlar And Truhlar Attys QUALIFIED43Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Misaki L MacleadBrazilAsiya Javayant NEW
Deepesh W IturbideIndiaBernardo Dominic UNQUALIFIED
Faith T MaletJapanStephen Shaw RENEWAL
Octavia J GarufiJapanAsiya Javayant QUALIFIED
Aruna O FlosiArgentinaIvan Magalhaes NEW
Claire K NickaArgentinaOnyama Limba NEW
Alejandro D FigeroaAustraliaStephen Shaw QUALIFIED
Claire D VocelkaArgentinaIvan Magalhaes UNQUALIFIED
Claire R RutaFranceAnna Fali NEGOTIATION
Ricardo M DilliardJapanOnyama Limba RENEWAL
Rodrigues F TollnerItalyStephen Shaw NEW
Aika B StockhamBrazilAsiya Javayant QUALIFIED
Deepesh B RulapaughRussiaAnna Fali NEGOTIATION
Deepesh N AmigonUnited KingdomElwin Sharvill PROPOSAL
Kadeem D RimJapanOnyama Limba NEW
Rodrigues L ShinkoJapanStephen Shaw NEW
Claire H PerinCanadaIvan Magalhaes PROPOSAL
Jones O CaldareraAustraliaXuxue Feng NEW
Misaki Y GarufiIndiaAsiya Javayant NEW
Nicolas V MorascaSpainIoni Bowcher NEGOTIATION
Cody R VocelkaSpainElwin Sharvill RENEWAL
Morrow I ButtIndiaElwin Sharvill UNQUALIFIED
Sinclair F PaprockiFranceXuxue Feng QUALIFIED
Rodrigues R MacleadJapanAnna Fali UNQUALIFIED
Maria D MaletSpainOnyama Limba PROPOSAL
Misaki N MarrierBrazilStephen Shaw RENEWAL
David Y BriddickBrazilAmy Elsner NEW
Deepesh I PoquetteBrazilAnna Fali NEW
Cody H CaldareraCanadaBernardo Dominic NEW
Francesco E ButtAustraliaAnna Fali NEW
Tony I OstroskyAustraliaAsiya Javayant UNQUALIFIED
Maisha S WieserUnited KingdomIoni Bowcher NEGOTIATION
Johnson X AmigonAustraliaOnyama Limba PROPOSAL
Johnson V AlbaresJapanIoni Bowcher NEGOTIATION
Izzy P AlbaresIndiaIvan Magalhaes NEW
Leon A ButtArgentinaXuxue Feng PROPOSAL
Silvio Z ShinkoRussiaAnna Fali PROPOSAL
Leja I NickaIndiaAnna Fali RENEWAL
Nicolas A MorascaBrazilStephen Shaw RENEWAL
Leon X RimGermanyIoni Bowcher RENEWAL
Jeanfrancois M FerenczSpainXuxue Feng NEW
Nicolas M VenereIndiaStephen Shaw PROPOSAL
Maria C InouyeItalyAmy Elsner NEW
Clifford U VocelkaItalyAmy Elsner UNQUALIFIED
Juan E SaylorsSpainIvan Magalhaes UNQUALIFIED
Rodrigues N AlbaresIndiaAsiya Javayant NEGOTIATION
Jones E MacleadCanadaIoni Bowcher RENEWAL
Octavia B SergiJapanIoni Bowcher NEGOTIATION
Leja M NestleSpainIoni Bowcher UNQUALIFIED
David N DoeRussiaAnna Fali QUALIFIED
Frozen Columns
Name
Aruna B Gillian
Jeanfrancois R Doe
Jeanfrancois X Stockham
Jones D Malet
Jefferson Z Darakjy
Aika D Nicka
Octavia D Amigon
Munro H Flosi
Sinclair R Sergi
Murillo W Garufi
Adams K Slusarski
Silvio V Inouye
Maria T Bowley
Tony P Garufi
Kaitlin C Whobrey
Ricardo M Campain
Mujtaba N Kusko
Rodrigues S Briddick
Aditya E Albares
Julie Z Oldroyd
Deepesh M Vocelka
Jeanfrancois Y Gaucho
Clifford M Saylors
Octavia L Sergi
Jones U Royster
Leja P Nestle
David S Nestle
Smith U Perin
Murillo X Ostrosky
Adams Z Bolognia
Nicolas Z Rim
Jennifer D Foller
Maisha B Oldroyd
Jeanfrancois S Oldroyd
Adams Y Caudy
Maisha D Morasca
Alejandro L Whobrey
Aditya K Glick
Salvatore D Gaucho
Jefferson J Rim
Francesco H Butt
Octavia F Kolmetz
Kadeem P Venere
Aruna P Gillian
Costa T Glick
Antonio B Malet
Jennifer N Ferencz
Francesco B Gaucho
Greenwood H Poquette
Mayumi B Poquette
IdCountryDate
1000Russia2024-06-04
1001Russia2024-06-06
1002Argentina2024-06-03
1003India2024-06-05
1004Australia2024-06-10
1005Germany2024-06-19
1006Canada2024-05-24
1007Spain2024-06-02
1008Japan2024-06-02
1009Germany2024-06-07
1010India2024-05-28
1011Italy2024-06-14
1012Germany2024-05-30
1013Brazil2024-06-07
1014Japan2024-06-20
1015Brazil2024-06-05
1016Argentina2024-06-10
1017United Kingdom2024-06-18
1018Italy2024-06-18
1019Japan2024-05-24
1020Canada2024-06-18
1021Russia2024-06-05
1022Italy2024-06-10
1023Italy2024-06-16
1024Canada2024-05-31
1025Australia2024-05-25
1026Brazil2024-05-27
1027Canada2024-05-27
1028Argentina2024-06-02
1029India2024-05-26
1030India2024-06-10
1031United Kingdom2024-06-10
1032Italy2024-06-20
1033Germany2024-06-01
1034Australia2024-05-30
1035Argentina2024-05-30
1036Canada2024-06-19
1037Germany2024-06-08
1038Germany2024-06-16
1039Japan2024-05-28
1040Canada2024-06-21
1041Australia2024-06-16
1042Australia2024-06-02
1043Russia2024-06-11
1044United Kingdom2024-06-15
1045Germany2024-06-06
1046Canada2024-05-23
1047India2024-05-24
1048United Kingdom2024-05-27
1049Italy2024-05-27

On-Demand Data

NameIdCountryDate
Alejandro I Ostrosky1000Italy2024-06-14
Rodrigues X Caldarera1001United Kingdom2024-06-16
Nicolas F Schemmer1002Canada2024-05-30
Emily K Perin1003Russia2024-06-01
Tony P Flosi1004Australia2024-06-10
Isabel D Malet1005Japan2024-05-27
Faith S Garufi1006Japan2024-06-08
Aika D Stockham1007Canada2024-05-23
Salvatore W Schemmer1008India2024-05-23
Octavia T Stockham1009Spain2024-06-06
Isabel M Morasca1010Italy2024-06-09
Francesco E Shinko1011Argentina2024-06-13
Emily W Malet1012Canada2024-05-28
Greenwood H Glick1013Germany2024-06-16
Munro F Stenseth1014Germany2024-06-10
Mujtaba Y Schemmer1015Spain2024-05-27
Johnson K Gaucho1016Argentina2024-06-05
Ricardo K Waycott1017Russia2024-06-15
Leja C Nestle1018Japan2024-05-27
Kaitlin J Inouye1019Japan2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson D PoquetteCanadaIvan Magalhaes UNQUALIFIED
Jones I SergiItalyIoni Bowcher QUALIFIED
Clifford I GillianAustraliaXuxue Feng PROPOSAL
Francesco X SchemmerArgentinaXuxue Feng NEW
Costa Y MaletUnited KingdomAsiya Javayant RENEWAL
Leja P DoeUnited KingdomStephen Shaw UNQUALIFIED
Jeanfrancois A FlosiFranceAsiya Javayant NEGOTIATION
Ivar F FigeroaGermanyXuxue Feng NEGOTIATION
Stacey J RulapaughArgentinaOnyama Limba NEW
Kadeem P StensethIndiaElwin Sharvill RENEWAL
Emily B MorascaItalyAnna Fali PROPOSAL
Maria U FollerCanadaIvan Magalhaes UNQUALIFIED
Aruna I MacleadSpainBernardo Dominic PROPOSAL
Costa W RoysterSpainStephen Shaw NEGOTIATION
Cody L IturbideCanadaStephen Shaw PROPOSAL
Darci H PaprockiFranceAnna Fali PROPOSAL
Maisha Z SchemmerCanadaOnyama Limba UNQUALIFIED
James K RutaIndiaXuxue Feng QUALIFIED
Emily R KolmetzSpainAmy Elsner PROPOSAL
Francesco D SergiGermanyIvan Magalhaes NEGOTIATION
Octavia I MaletSpainElwin Sharvill NEW
Stacey Q AmigonSpainBernardo Dominic PROPOSAL
Juan I InouyeArgentinaAmy Elsner PROPOSAL
David L PaprockiUnited KingdomOnyama Limba NEW
Johnson F DilliardFranceAnna Fali NEGOTIATION
Antonio U VenereArgentinaOnyama Limba NEGOTIATION
Salvatore G WhobreyIndiaOnyama Limba RENEWAL
Aika I GauchoUnited KingdomIvan Magalhaes PROPOSAL
Deepesh B GillianBrazilElwin Sharvill PROPOSAL
Aruna K AlbaresFranceAmy Elsner UNQUALIFIED
Greenwood H BriddickFranceElwin Sharvill NEW
Aika O OldroydSpainXuxue Feng NEGOTIATION
Aika C IturbideJapanElwin Sharvill NEGOTIATION
Murillo E InouyeIndiaIvan Magalhaes NEGOTIATION
Murillo D PaprockiBrazilAmy Elsner PROPOSAL
Maisha W GarufiItalyXuxue Feng UNQUALIFIED
Sinclair M MarrierBrazilAmy Elsner UNQUALIFIED
Tony K AmigonSpainOnyama Limba NEW
Jones W SergiUnited KingdomXuxue Feng NEGOTIATION
Adams J TollnerSpainAmy Elsner PROPOSAL

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