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
Octavia X DarakjyJapanIoni Bowcher QUALIFIED
Smith B FlosiSpainXuxue Feng NEGOTIATION
Izzy W SaylorsUnited KingdomElwin Sharvill UNQUALIFIED
Jefferson B MorascaIndiaStephen Shaw NEGOTIATION
Aika P GauchoRussiaOnyama Limba PROPOSAL
Alejandro R RutaFranceAnna Fali RENEWAL
Kadeem J MorascaArgentinaAnna Fali NEW
Murillo R NickaJapanAmy Elsner RENEWAL
Kadeem Z GlickItalyElwin Sharvill NEGOTIATION
Maria C GlickJapanAnna Fali QUALIFIED
Octavia E MacleadAustraliaElwin Sharvill RENEWAL
Jeanfrancois A VenereUnited KingdomIvan Magalhaes PROPOSAL
Munro F IturbideIndiaAsiya Javayant RENEWAL
Maisha U OldroydItalyAmy Elsner QUALIFIED
Cody S SergiGermanyAnna Fali QUALIFIED
Mayumi H PoquetteIndiaElwin Sharvill NEGOTIATION
Smith I NestleGermanyXuxue Feng RENEWAL
Aruna K OldroydFranceBernardo Dominic RENEWAL
Darci D MaletUnited KingdomAsiya Javayant PROPOSAL
Silvio H DilliardJapanStephen Shaw NEW
Kaitlin G NickaAustraliaXuxue Feng NEW
Faith R CampainAustraliaStephen Shaw UNQUALIFIED
Darci A MorascaFranceIoni Bowcher UNQUALIFIED
Jeanfrancois W ChuiBrazilAnna Fali NEW
Deepesh B PerinJapanIvan Magalhaes NEW
Kaitlin H BowleySpainElwin Sharvill UNQUALIFIED
Leja O MaletItalyStephen Shaw PROPOSAL
Tony M WhobreyItalyIoni Bowcher NEW
Emily S WhobreyItalyStephen Shaw RENEWAL
Clifford M BowleyCanadaIoni Bowcher UNQUALIFIED
Johnson R MarrierRussiaAsiya Javayant NEW
Alejandro T WaycottSpainAmy Elsner NEW
Kadeem I CampainGermanyAsiya Javayant RENEWAL
Salvatore N RoysterArgentinaIoni Bowcher UNQUALIFIED
Juan F FlosiRussiaElwin Sharvill PROPOSAL
Antonio G MorascaRussiaOnyama Limba RENEWAL
Jones R VocelkaGermanyIoni Bowcher NEW
Maria N PerinJapanIoni Bowcher NEW
Faith O PaprockiAustraliaAsiya Javayant QUALIFIED
Wickens R IturbideAustraliaOnyama Limba NEGOTIATION
Clifford K PaprockiUnited KingdomStephen Shaw NEGOTIATION
Clifford C DoeUnited KingdomBernardo Dominic NEW
Silvio V CaldareraJapanAmy Elsner NEW
Tony O SlusarskiSpainStephen Shaw NEW
Sinclair Z TollnerCanadaBernardo Dominic NEGOTIATION
Francesco B OstroskyFranceXuxue Feng QUALIFIED
Kaitlin S GlickIndiaStephen Shaw NEW
Kaitlin M StockhamRussiaXuxue Feng QUALIFIED
Mayumi N OstroskyCanadaIvan Magalhaes PROPOSAL
Ashley X MorascaIndiaStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Isabel S KolmetzBrazilStephen Shaw NEGOTIATION
Ashley Q RulapaughCanadaXuxue Feng NEW
Greenwood E VocelkaGermanyIvan Magalhaes RENEWAL
Chavez Y CampainUnited KingdomStephen Shaw UNQUALIFIED
Emily I SaylorsGermanyBernardo Dominic PROPOSAL
Julie D WieserJapanIoni Bowcher UNQUALIFIED
Clifford G BologniaAustraliaIoni Bowcher NEGOTIATION
Kadeem X AmigonFranceAsiya Javayant QUALIFIED
Jennifer T AmigonFranceAnna Fali QUALIFIED
Alejandro E ButtGermanyOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony C WieserCanada2024-06-17Chapman, Ross E Esq UNQUALIFIED18Asiya Javayant
1001Aika Y WaycottGermany2024-06-13Buckley Miller Wright QUALIFIED37Elwin Sharvill
1002Ashley H PoquetteBrazil2024-06-15Rangoni Of Florence NEGOTIATION85Anna Fali
1003Misaki H NickaArgentina2024-06-06Rousseaux, Michael Esq PROPOSAL25Asiya Javayant
1004Adams B GillianIndia2024-06-19Dorl, James J Esq NEGOTIATION97Stephen Shaw
1005Munro K WaycottIndia2024-06-08Commercial Press QUALIFIED18Stephen Shaw
1006Isabel T GlickGermany2024-06-12Benton, John B Jr RENEWAL63Bernardo Dominic
1007Greenwood P WieserSpain2024-06-03Chapman, Ross E Esq PROPOSAL19Elwin Sharvill
1008Stacey D MaletRussia2024-05-23Rangoni Of Florence UNQUALIFIED24Amy Elsner
1009Aruna I BriddickSpain2024-06-04Commercial Press NEW9Amy Elsner
1010Rodrigues I VocelkaGermany2024-05-29Feltz Printing Service QUALIFIED51Ivan Magalhaes
1011Silvio R FigeroaJapan2024-06-15Benton, John B Jr RENEWAL73Xuxue Feng
1012Leja Q PerinIndia2024-06-16Printing Dimensions NEW41Xuxue Feng
1013Aika R NestleGermany2024-06-14Benton, John B Jr UNQUALIFIED55Xuxue Feng
1014Isabel L PaprockiSpain2024-06-17Morlong Associates NEGOTIATION63Anna Fali
1015Mayumi Q AlbaresSpain2024-06-07Printing Dimensions NEGOTIATION31Xuxue Feng
1016Morrow U OstroskyIndia2024-05-27Dorl, James J Esq QUALIFIED33Bernardo Dominic
1017Alejandro S GauchoFrance2024-06-08Chanay, Jeffrey A Esq NEGOTIATION39Elwin Sharvill
1018Izzy P KuskoRussia2024-06-04Buckley Miller Wright NEGOTIATION95Xuxue Feng
1019Nicolas N NestleIndia2024-05-26Printing Dimensions PROPOSAL19Xuxue Feng
1020Greenwood D CampainJapan2024-06-17Chemel, James L Cpa UNQUALIFIED5Elwin Sharvill
1021Rodrigues L InouyeArgentina2024-06-09Buckley Miller Wright NEW93Amy Elsner
1022Sinclair M BologniaAustralia2024-06-08Chanay, Jeffrey A Esq PROPOSAL83Anna Fali
1023Antonio A RutaBrazil2024-05-31Printing Dimensions RENEWAL64Ivan Magalhaes
1024James N PoquetteUnited Kingdom2024-05-26Benton, John B Jr RENEWAL71Elwin Sharvill
1025Alejandro E GillianItaly2024-05-25Commercial Press RENEWAL58Ioni Bowcher
1026Jefferson X RutaSpain2024-06-19Commercial Press NEGOTIATION19Ioni Bowcher
1027Faith N RutaCanada2024-06-10Chanay, Jeffrey A Esq NEW11Onyama Limba
1028Tony F FerenczRussia2024-05-31Buckley Miller Wright RENEWAL82Ivan Magalhaes
1029Kaitlin B RoysterAustralia2024-06-07Benton, John B Jr NEW86Stephen Shaw
1030Deepesh J PoquetteGermany2024-06-17Rousseaux, Michael Esq UNQUALIFIED48Onyama Limba
1031Jefferson I MacleadIndia2024-05-26Chanay, Jeffrey A Esq UNQUALIFIED99Amy Elsner
1032Mayumi O SlusarskiJapan2024-06-06Feiner Bros PROPOSAL13Ioni Bowcher
1033Arvin X BowleySpain2024-06-21Buckley Miller Wright PROPOSAL5Onyama Limba
1034Emily V StockhamAustralia2024-06-12Printing Dimensions QUALIFIED84Ivan Magalhaes
1035Juan K KolmetzRussia2024-06-05Printing Dimensions RENEWAL10Anna Fali
1036Antonio Q SlusarskiIndia2024-06-09Rangoni Of Florence NEGOTIATION83Xuxue Feng
1037Adams Q KolmetzArgentina2024-06-10Printing Dimensions UNQUALIFIED86Stephen Shaw
1038Alejandro O FollerBrazil2024-06-17Chapman, Ross E Esq QUALIFIED70Onyama Limba
1039Octavia V SergiCanada2024-06-11Chanay, Jeffrey A Esq NEW23Ioni Bowcher
1040Jeanfrancois V KuskoArgentina2024-06-11King, Christopher A Esq QUALIFIED61Amy Elsner
1041Antonio R AmigonItaly2024-06-07Dorl, James J Esq NEW20Onyama Limba
1042Darci P GlickUnited Kingdom2024-06-12Benton, John B Jr UNQUALIFIED38Ioni Bowcher
1043Isabel S RimIndia2024-06-02Chapman, Ross E Esq QUALIFIED97Bernardo Dominic
1044Aika E KuskoFrance2024-05-26Morlong Associates PROPOSAL38Ivan Magalhaes
1045Faith C WieserIndia2024-05-30King, Christopher A Esq QUALIFIED14Ivan Magalhaes
1046Aruna T PoquetteCanada2024-06-09Rousseaux, Michael Esq RENEWAL11Anna Fali
1047Julie W MacleadJapan2024-06-04Dorl, James J Esq RENEWAL63Onyama Limba
1048Faith O IturbideSpain2024-06-12Feiner Bros NEW73Asiya Javayant
1049Izzy G WhobreyJapan2024-06-12King, Christopher A Esq UNQUALIFIED6Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Aika Y FerenczJapanIvan Magalhaes QUALIFIED
Julie A StensethFranceElwin Sharvill UNQUALIFIED
Adams T RimBrazilIoni Bowcher QUALIFIED
Salvatore I KolmetzFranceStephen Shaw NEW
Nicolas X MacleadRussiaBernardo Dominic PROPOSAL
Octavia A StensethBrazilAmy Elsner NEGOTIATION
Murillo Z GlickIndiaAnna Fali NEGOTIATION
Salvatore X PoquetteGermanyElwin Sharvill QUALIFIED
Emily Z BriddickUnited KingdomStephen Shaw UNQUALIFIED
Salvatore U RulapaughJapanAnna Fali QUALIFIED
Mayumi Z BowleyIndiaIoni Bowcher PROPOSAL
Julie F OstroskyCanadaAnna Fali RENEWAL
Rodrigues U FigeroaJapanBernardo Dominic RENEWAL
Maisha M InouyeItalyAsiya Javayant UNQUALIFIED
Arvin I InouyeBrazilBernardo Dominic NEW
Darci I CaudyAustraliaAnna Fali NEW
Rodrigues V CampainUnited KingdomStephen Shaw PROPOSAL
Juan M GarufiRussiaStephen Shaw QUALIFIED
Antonio M TollnerIndiaElwin Sharvill UNQUALIFIED
Salvatore D CaldareraCanadaAsiya Javayant QUALIFIED
Rodrigues S CampainJapanIvan Magalhaes PROPOSAL
Kaitlin F DilliardRussiaXuxue Feng NEW
James H KuskoArgentinaIvan Magalhaes NEW
Adams D CaldareraAustraliaXuxue Feng QUALIFIED
Juan V PaprockiFranceIoni Bowcher RENEWAL
Wickens L SlusarskiJapanStephen Shaw UNQUALIFIED
Costa M GlickFranceElwin Sharvill UNQUALIFIED
Ashley E WaycottRussiaAmy Elsner PROPOSAL
Emily E AmigonItalyBernardo Dominic UNQUALIFIED
Darci A GauchoArgentinaAsiya Javayant UNQUALIFIED
Tony V PerinFranceAmy Elsner RENEWAL
Maria I BriddickBrazilAmy Elsner UNQUALIFIED
Kadeem R WhobreyUnited KingdomBernardo Dominic RENEWAL
Octavia Q DarakjyFranceIvan Magalhaes NEGOTIATION
Aditya M StensethAustraliaElwin Sharvill QUALIFIED
Aditya C WieserUnited KingdomOnyama Limba QUALIFIED
Kadeem O FerenczItalyAsiya Javayant UNQUALIFIED
Silvio R InouyeCanadaIoni Bowcher QUALIFIED
Stacey X WaycottBrazilXuxue Feng NEGOTIATION
Stacey R ChuiItalyXuxue Feng NEW
Mujtaba S KuskoJapanOnyama Limba RENEWAL
Chavez M StockhamArgentinaOnyama Limba PROPOSAL
Ivar O MaletFranceAsiya Javayant QUALIFIED
Emily Q DoeFranceStephen Shaw UNQUALIFIED
Murillo N FollerAustraliaAmy Elsner NEGOTIATION
Cody G NestleArgentinaBernardo Dominic NEGOTIATION
Octavia T VenereArgentinaBernardo Dominic NEGOTIATION
Salvatore I BriddickIndiaAnna Fali UNQUALIFIED
Leon M CampainJapanIvan Magalhaes RENEWAL
Silvio Z WhobreyArgentinaBernardo Dominic PROPOSAL
Frozen Columns
Name
Ricardo J Kusko
Mayumi C Caldarera
Rodrigues R Paprocki
Silvio R Shinko
Misaki O Ferencz
Jeanfrancois Z Oldroyd
Aika Z Marrier
Leon C Bowley
Murillo Q Poquette
Francesco E Chui
Stacey G Poquette
Kadeem T Doe
Ivar C Marrier
Wickens D Perin
Chavez X Stockham
Leja J Rulapaugh
Arvin O Malet
Maisha O Doe
Costa S Caudy
Sinclair W Gillian
Ricardo Y Poquette
Mujtaba E Iturbide
Adams D Whobrey
Misaki Z Foller
Salvatore J Rulapaugh
James E Dilliard
Johnson O Morasca
Aruna W Amigon
Leja G Morasca
Ricardo P Wieser
Nicolas W Rulapaugh
Costa Q Amigon
Maria C Iturbide
Aditya N Iturbide
Mayumi X Rulapaugh
Cody W Campain
Julie C Schemmer
Ricardo Z Caudy
Leon B Darakjy
Aika G Paprocki
Jefferson L Oldroyd
Leja W Darakjy
Maria J Garufi
Stacey X Whobrey
Alejandro J Slusarski
Jeanfrancois P Paprocki
Claire D Amigon
Kadeem K Malet
Munro D Rim
Jennifer R Butt
IdCountryDate
1000Russia2024-06-18
1001Brazil2024-06-01
1002United Kingdom2024-06-07
1003France2024-06-17
1004France2024-06-06
1005Germany2024-05-24
1006Spain2024-05-25
1007Argentina2024-05-28
1008United Kingdom2024-06-04
1009Germany2024-06-04
1010Italy2024-06-04
1011Germany2024-05-26
1012India2024-06-08
1013Italy2024-06-07
1014United Kingdom2024-06-04
1015Japan2024-06-07
1016Canada2024-06-16
1017Japan2024-06-03
1018Canada2024-06-20
1019Japan2024-06-08
1020Argentina2024-06-07
1021India2024-05-29
1022United Kingdom2024-06-19
1023Australia2024-06-17
1024India2024-06-16
1025Argentina2024-05-24
1026Canada2024-06-20
1027Germany2024-06-07
1028Germany2024-06-08
1029India2024-06-17
1030Russia2024-06-05
1031Italy2024-06-04
1032India2024-06-08
1033Argentina2024-06-08
1034Russia2024-06-21
1035Germany2024-06-14
1036Australia2024-06-04
1037India2024-06-08
1038Italy2024-06-06
1039United Kingdom2024-05-24
1040Spain2024-06-02
1041Brazil2024-06-14
1042India2024-06-10
1043Russia2024-06-06
1044Spain2024-06-19
1045Australia2024-06-11
1046Australia2024-05-23
1047India2024-06-02
1048Canada2024-05-28
1049Canada2024-05-23

On-Demand Data

NameIdCountryDate
David D Nicka1000Germany2024-06-20
Leon K Shinko1001Australia2024-06-11
Emily J Poquette1002Brazil2024-06-15
Mujtaba J Poquette1003Germany2024-06-06
Leja B Nicka1004Spain2024-05-26
Greenwood Y Malet1005France2024-06-05
Smith Z Figeroa1006Australia2024-06-16
Aruna A Maclead1007Germany2024-06-09
Izzy P Ostrosky1008Italy2024-05-31
Chavez D Glick1009Italy2024-06-01
Jones Z Rim1010Germany2024-06-17
Faith P Saylors1011India2024-06-14
Alejandro U Nestle1012Italy2024-06-06
Antonio W Morasca1013Germany2024-05-27
Octavia X Tollner1014Russia2024-06-19
Smith Y Figeroa1015Argentina2024-06-09
Aika Z Figeroa1016France2024-06-04
Deepesh W Caudy1017France2024-06-02
Greenwood C Butt1018France2024-06-09
Faith Z Garufi1019Brazil2024-06-06
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia U PerinAustraliaXuxue Feng UNQUALIFIED
Maria K FigeroaItalyIvan Magalhaes RENEWAL
Stacey Q RoysterSpainElwin Sharvill UNQUALIFIED
Chavez N FigeroaIndiaAnna Fali UNQUALIFIED
Maisha A ButtFranceAmy Elsner UNQUALIFIED
Kadeem V ShinkoIndiaAmy Elsner NEGOTIATION
Kaitlin Z InouyeCanadaStephen Shaw RENEWAL
Silvio Q IturbideArgentinaBernardo Dominic PROPOSAL
Kadeem N NickaRussiaAnna Fali NEGOTIATION
Smith Y IturbideFranceAsiya Javayant NEGOTIATION
Sinclair T RutaUnited KingdomBernardo Dominic RENEWAL
Claire B FollerItalyXuxue Feng RENEWAL
Adams W BologniaIndiaAnna Fali QUALIFIED
Johnson C PaprockiCanadaIoni Bowcher NEGOTIATION
Jennifer B SlusarskiItalyAsiya Javayant NEGOTIATION
Arvin P WhobreyGermanyBernardo Dominic UNQUALIFIED
James A KuskoItalyAmy Elsner QUALIFIED
Adams U KolmetzItalyIvan Magalhaes RENEWAL
Aruna I WhobreyUnited KingdomAnna Fali NEGOTIATION
Stacey X WaycottUnited KingdomIvan Magalhaes NEGOTIATION
Jones I KuskoFranceIvan Magalhaes NEGOTIATION
Juan X RutaArgentinaXuxue Feng NEW
Jeanfrancois R GauchoBrazilStephen Shaw QUALIFIED
Cody D MacleadItalyIoni Bowcher RENEWAL
Wickens F VenereFranceAmy Elsner UNQUALIFIED
Murillo D OldroydIndiaElwin Sharvill NEGOTIATION
Izzy Y GillianFranceXuxue Feng NEW
Aika V OstroskyCanadaIoni Bowcher NEW
Kaitlin F BologniaFranceAsiya Javayant UNQUALIFIED
Maisha T NestleItalyIoni Bowcher NEGOTIATION
Misaki S InouyeCanadaOnyama Limba NEW
Cody U VenereSpainStephen Shaw NEW
Clifford M SlusarskiItalyXuxue Feng PROPOSAL
Mujtaba D SaylorsItalyStephen Shaw RENEWAL
Silvio O IturbideArgentinaOnyama Limba NEW
Maisha T PerinJapanAsiya Javayant NEW
Jeanfrancois L CampainJapanIoni Bowcher UNQUALIFIED
Isabel K ButtSpainStephen Shaw RENEWAL
Rodrigues I MaletRussiaAmy Elsner NEGOTIATION
Mayumi E FlosiItalyAsiya Javayant 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>