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
Maisha F RimBrazilElwin Sharvill NEGOTIATION
Costa N GarufiRussiaAsiya Javayant NEW
Ashley T OldroydSpainIvan Magalhaes UNQUALIFIED
Maisha O KolmetzUnited KingdomXuxue Feng NEW
Misaki C DoeItalyAnna Fali RENEWAL
Jeanfrancois Q GauchoUnited KingdomAnna Fali NEGOTIATION
Maria V PaprockiIndiaElwin Sharvill NEW
Clifford N FerenczGermanyBernardo Dominic QUALIFIED
Maisha N TollnerIndiaXuxue Feng QUALIFIED
Jeanfrancois J GauchoJapanXuxue Feng NEW
Greenwood A WaycottAustraliaAsiya Javayant PROPOSAL
Johnson S ChuiUnited KingdomAnna Fali NEGOTIATION
Emily L BologniaAustraliaIoni Bowcher NEW
Ivar Y PerinCanadaAmy Elsner QUALIFIED
Arvin V BriddickArgentinaStephen Shaw RENEWAL
Sinclair T DilliardJapanOnyama Limba NEW
Greenwood N WaycottItalyIoni Bowcher UNQUALIFIED
Aika S GarufiItalyBernardo Dominic QUALIFIED
Izzy O SaylorsArgentinaOnyama Limba RENEWAL
Aruna D MaletGermanyStephen Shaw RENEWAL
Kadeem L RoysterRussiaIoni Bowcher UNQUALIFIED
Costa L ButtItalyElwin Sharvill NEW
Octavia F CaudyIndiaAmy Elsner QUALIFIED
Maisha D GauchoItalyBernardo Dominic UNQUALIFIED
Aditya W FigeroaBrazilAsiya Javayant PROPOSAL
Maria K FlosiGermanyAsiya Javayant RENEWAL
Cody C ChuiJapanBernardo Dominic RENEWAL
Faith D ShinkoItalyIvan Magalhaes NEW
Aika C OstroskyJapanAnna Fali PROPOSAL
Faith O OldroydUnited KingdomIoni Bowcher UNQUALIFIED
Jennifer X RoysterGermanyAnna Fali NEW
Johnson R SlusarskiRussiaAmy Elsner NEW
Mujtaba U OldroydUnited KingdomIoni Bowcher UNQUALIFIED
Greenwood Q DarakjyUnited KingdomBernardo Dominic QUALIFIED
Stacey I RutaAustraliaOnyama Limba UNQUALIFIED
Ricardo J GillianSpainStephen Shaw UNQUALIFIED
Julie I MacleadGermanyAsiya Javayant RENEWAL
Murillo T DilliardRussiaElwin Sharvill NEGOTIATION
Sinclair P NestleGermanyXuxue Feng RENEWAL
Rodrigues D DoeJapanStephen Shaw QUALIFIED
Stacey N FlosiCanadaBernardo Dominic RENEWAL
Emily C CaldareraBrazilBernardo Dominic QUALIFIED
Alejandro W VenereRussiaIvan Magalhaes NEGOTIATION
Tony E InouyeArgentinaElwin Sharvill RENEWAL
Arvin E GillianArgentinaOnyama Limba UNQUALIFIED
Adams G BriddickUnited KingdomXuxue Feng NEW
Claire S GauchoIndiaElwin Sharvill NEGOTIATION
Costa D NestleItalyAsiya Javayant UNQUALIFIED
Alejandro A RimGermanyStephen Shaw QUALIFIED
Leon Z GlickUnited KingdomOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Munro L DarakjyRussiaBernardo Dominic PROPOSAL
Juan F CampainIndiaBernardo Dominic NEW
Alejandro V RoysterJapanIoni Bowcher UNQUALIFIED
Aruna Z WieserItalyAnna Fali UNQUALIFIED
Arvin V FlosiItalyAmy Elsner UNQUALIFIED
Misaki S ButtArgentinaAmy Elsner NEW
Stacey Y CampainArgentinaXuxue Feng PROPOSAL
Octavia I InouyeCanadaIvan Magalhaes NEW
Mujtaba Y FlosiGermanyElwin Sharvill QUALIFIED
Kaitlin L FlosiRussiaElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony Z GlickGermany2024-06-10Truhlar And Truhlar Attys RENEWAL14Asiya Javayant
1001Kaitlin R DoeGermany2024-06-01Feltz Printing Service RENEWAL44Anna Fali
1002Kadeem O GlickFrance2024-05-20Chanay, Jeffrey A Esq QUALIFIED40Asiya Javayant
1003Izzy L FerenczGermany2024-06-04Feltz Printing Service NEW47Ivan Magalhaes
1004Greenwood E TollnerGermany2024-06-14Dorl, James J Esq NEGOTIATION69Ioni Bowcher
1005Salvatore B MarrierRussia2024-06-15Feiner Bros QUALIFIED52Xuxue Feng
1006Mujtaba M StockhamJapan2024-05-25Feiner Bros RENEWAL56Xuxue Feng
1007Greenwood S ShinkoRussia2024-05-29Buckley Miller Wright UNQUALIFIED19Ioni Bowcher
1008Johnson J RoysterAustralia2024-06-02Morlong Associates NEW52Elwin Sharvill
1009David F PoquetteItaly2024-05-27Benton, John B Jr PROPOSAL52Amy Elsner
1010Wickens F ButtArgentina2024-06-06Dorl, James J Esq UNQUALIFIED35Elwin Sharvill
1011Adams B FlosiUnited Kingdom2024-06-06Benton, John B Jr PROPOSAL43Ivan Magalhaes
1012Leja X MacleadUnited Kingdom2024-05-24Commercial Press UNQUALIFIED68Amy Elsner
1013Wickens Y DarakjyJapan2024-06-07Rousseaux, Michael Esq RENEWAL14Elwin Sharvill
1014Aditya G BriddickUnited Kingdom2024-05-17King, Christopher A Esq QUALIFIED23Asiya Javayant
1015Salvatore W WhobreyFrance2024-05-29Morlong Associates NEGOTIATION95Stephen Shaw
1016Smith K ChuiBrazil2024-05-25Chapman, Ross E Esq QUALIFIED77Ivan Magalhaes
1017Wickens V FerenczArgentina2024-05-26Buckley Miller Wright RENEWAL37Bernardo Dominic
1018Maria Z SergiIndia2024-05-27King, Christopher A Esq QUALIFIED77Xuxue Feng
1019Jennifer B ShinkoBrazil2024-06-06Buckley Miller Wright PROPOSAL39Onyama Limba
1020Jones K MorascaFrance2024-05-17Truhlar And Truhlar Attys PROPOSAL18Ivan Magalhaes
1021Misaki Q GillianRussia2024-06-05Chanay, Jeffrey A Esq UNQUALIFIED82Asiya Javayant
1022Deepesh Z ChuiRussia2024-06-13Rousseaux, Michael Esq NEGOTIATION65Xuxue Feng
1023Emily I CaudySpain2024-05-28Chapman, Ross E Esq NEGOTIATION91Ivan Magalhaes
1024Darci R WhobreySpain2024-06-11Rangoni Of Florence PROPOSAL89Ioni Bowcher
1025Alejandro M StockhamIndia2024-05-21Feiner Bros UNQUALIFIED7Asiya Javayant
1026Cody S SergiIndia2024-05-21Chanay, Jeffrey A Esq UNQUALIFIED32Elwin Sharvill
1027Wickens J DarakjyRussia2024-05-23Printing Dimensions NEW57Amy Elsner
1028Deepesh R BologniaUnited Kingdom2024-06-04Printing Dimensions QUALIFIED28Onyama Limba
1029Wickens Q MacleadGermany2024-06-07Benton, John B Jr QUALIFIED63Ioni Bowcher
1030Greenwood G RutaUnited Kingdom2024-05-26Chanay, Jeffrey A Esq UNQUALIFIED82Bernardo Dominic
1031Murillo X RutaJapan2024-05-27Dorl, James J Esq NEW60Onyama Limba
1032Stacey W RimBrazil2024-05-31Benton, John B Jr UNQUALIFIED7Asiya Javayant
1033Sinclair Q GarufiCanada2024-06-12Rousseaux, Michael Esq QUALIFIED9Amy Elsner
1034Johnson F VocelkaCanada2024-06-05Feiner Bros RENEWAL21Elwin Sharvill
1035Mayumi E PoquetteItaly2024-05-27Dorl, James J Esq UNQUALIFIED11Anna Fali
1036Isabel W StockhamAustralia2024-06-02Chemel, James L Cpa UNQUALIFIED28Stephen Shaw
1037Deepesh F SergiAustralia2024-06-02Feiner Bros NEW99Ioni Bowcher
1038Aika N StockhamRussia2024-05-21King, Christopher A Esq NEW47Stephen Shaw
1039Francesco W ShinkoIndia2024-05-31King, Christopher A Esq PROPOSAL79Xuxue Feng
1040Wickens K MarrierBrazil2024-06-05Chanay, Jeffrey A Esq RENEWAL82Asiya Javayant
1041Ivar Q DoeAustralia2024-05-31King, Christopher A Esq QUALIFIED31Ioni Bowcher
1042Morrow U BologniaArgentina2024-06-01Rangoni Of Florence NEW21Elwin Sharvill
1043Stacey Z WaycottSpain2024-05-18Feltz Printing Service NEW4Onyama Limba
1044Nicolas J SergiItaly2024-06-02Commercial Press QUALIFIED98Bernardo Dominic
1045Kadeem D MaletUnited Kingdom2024-05-30Chanay, Jeffrey A Esq PROPOSAL43Amy Elsner
1046Jones Y VenereFrance2024-06-11Printing Dimensions PROPOSAL8Bernardo Dominic
1047Costa E OldroydJapan2024-06-07Chanay, Jeffrey A Esq UNQUALIFIED37Bernardo Dominic
1048Isabel H PerinIndia2024-06-09Rousseaux, Michael Esq NEGOTIATION22Ioni Bowcher
1049David J KuskoAustralia2024-06-08Commercial Press NEW14Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Deepesh F SergiItalyAsiya Javayant UNQUALIFIED
Jones K ButtCanadaAmy Elsner UNQUALIFIED
Antonio T CaudyUnited KingdomOnyama Limba RENEWAL
Mayumi Q GauchoSpainAnna Fali QUALIFIED
Emily M MaletItalyBernardo Dominic RENEWAL
Wickens J GauchoUnited KingdomOnyama Limba NEGOTIATION
Tony S InouyeFranceAsiya Javayant PROPOSAL
Kaitlin T IturbideRussiaOnyama Limba QUALIFIED
Antonio Y DoeCanadaXuxue Feng PROPOSAL
Munro J AlbaresIndiaIoni Bowcher QUALIFIED
Ricardo J NestleBrazilAsiya Javayant QUALIFIED
Wickens N SergiSpainOnyama Limba NEGOTIATION
Juan B BowleyRussiaIvan Magalhaes NEGOTIATION
Juan F FlosiBrazilAmy Elsner RENEWAL
Isabel H RulapaughRussiaAsiya Javayant NEGOTIATION
Isabel X NickaIndiaElwin Sharvill UNQUALIFIED
Salvatore T KuskoSpainAsiya Javayant RENEWAL
Costa N RulapaughRussiaBernardo Dominic QUALIFIED
Costa T GauchoRussiaIvan Magalhaes UNQUALIFIED
Murillo H BriddickCanadaIoni Bowcher NEW
Smith D GlickRussiaIvan Magalhaes NEW
Tony A SchemmerItalyIoni Bowcher RENEWAL
Juan U OstroskyRussiaAsiya Javayant NEW
Aika H BowleyGermanyStephen Shaw QUALIFIED
Ivar X NestleIndiaAmy Elsner QUALIFIED
Misaki N RutaIndiaIvan Magalhaes NEW
Aika Z SchemmerArgentinaXuxue Feng QUALIFIED
Kadeem P OstroskySpainOnyama Limba NEGOTIATION
Ivar S TollnerRussiaAnna Fali UNQUALIFIED
Morrow Q VocelkaFranceXuxue Feng RENEWAL
Sinclair M PerinGermanyIoni Bowcher NEW
Morrow E ButtBrazilAsiya Javayant QUALIFIED
Jones D MaletRussiaStephen Shaw UNQUALIFIED
Stacey I PoquetteSpainAsiya Javayant QUALIFIED
Julie O SlusarskiUnited KingdomOnyama Limba NEW
James M SergiCanadaOnyama Limba NEW
Cody E WaycottCanadaAsiya Javayant NEW
Antonio R FigeroaRussiaXuxue Feng UNQUALIFIED
Greenwood B PoquetteCanadaElwin Sharvill NEGOTIATION
Alejandro E NickaItalyIoni Bowcher NEGOTIATION
Morrow W WieserJapanIvan Magalhaes UNQUALIFIED
Chavez L SergiRussiaAsiya Javayant NEGOTIATION
Munro T CampainSpainAmy Elsner UNQUALIFIED
Aika U MaletUnited KingdomOnyama Limba QUALIFIED
Salvatore U MaletRussiaAnna Fali PROPOSAL
Sinclair J KolmetzIndiaAnna Fali QUALIFIED
Kaitlin P WieserUnited KingdomXuxue Feng QUALIFIED
Alejandro O KuskoSpainStephen Shaw NEW
Aruna O MacleadArgentinaIoni Bowcher UNQUALIFIED
Darci Z MarrierItalyXuxue Feng QUALIFIED
Frozen Columns
Name
Johnson M Venere
Mujtaba C Poquette
Ivar Y Kusko
Maria U Nicka
Leja Y Venere
Chavez T Chui
Silvio A Darakjy
Munro C Briddick
Tony N Rim
Kadeem U Rim
Alejandro E Wieser
Arvin Q Maclead
Emily B Gaucho
Ivar R Perin
Silvio Z Stenseth
Ivar H Maclead
Maisha C Nestle
David U Kolmetz
Aruna N Stenseth
Tony E Briddick
Jeanfrancois I Wieser
Salvatore M Gaucho
Kaitlin E Vocelka
Clifford Q Nicka
Misaki D Saylors
Salvatore B Flosi
Mayumi I Perin
Wickens W Bowley
Julie X Paprocki
Munro S Chui
Mayumi E Shinko
Smith P Inouye
Juan Q Darakjy
Emily T Garufi
Jones M Rulapaugh
Francesco I Oldroyd
Kadeem K Albares
Misaki X Venere
Morrow R Slusarski
Adams F Tollner
Ashley G Perin
Kadeem K Slusarski
Aruna X Glick
Jennifer D Foller
Costa Y Amigon
Deepesh S Malet
Wickens A Malet
Cody G Saylors
Nicolas E Gillian
Aditya F Whobrey
IdCountryDate
1000Australia2024-06-08
1001France2024-05-29
1002Russia2024-05-26
1003Argentina2024-05-22
1004Australia2024-06-05
1005Germany2024-06-03
1006Russia2024-06-04
1007France2024-06-05
1008Germany2024-05-28
1009Argentina2024-06-12
1010Germany2024-05-18
1011Canada2024-05-26
1012Italy2024-05-30
1013Argentina2024-05-23
1014Russia2024-06-08
1015Brazil2024-05-25
1016Japan2024-06-04
1017Brazil2024-05-31
1018Brazil2024-06-02
1019India2024-06-02
1020India2024-06-15
1021Italy2024-06-15
1022Germany2024-06-06
1023Brazil2024-06-11
1024Germany2024-06-14
1025Japan2024-05-26
1026France2024-05-29
1027Germany2024-06-01
1028United Kingdom2024-06-06
1029India2024-06-07
1030Canada2024-05-18
1031India2024-06-08
1032Japan2024-06-04
1033Brazil2024-05-24
1034Spain2024-06-05
1035France2024-05-25
1036Australia2024-06-11
1037Germany2024-06-03
1038France2024-05-28
1039United Kingdom2024-06-05
1040Canada2024-06-05
1041Japan2024-06-04
1042United Kingdom2024-05-28
1043Argentina2024-06-03
1044Australia2024-05-24
1045Russia2024-05-29
1046Brazil2024-05-29
1047Russia2024-05-19
1048Canada2024-05-20
1049Canada2024-06-01

On-Demand Data

NameIdCountryDate
Emily S Wieser1000Canada2024-06-03
Antonio I Albares1001United Kingdom2024-06-03
Chavez B Morasca1002Germany2024-06-03
Emily Z Rulapaugh1003Canada2024-05-23
Izzy E Butt1004Australia2024-06-10
Kaitlin U Foller1005Brazil2024-06-13
Maisha A Gaucho1006Japan2024-06-12
Jefferson B Oldroyd1007France2024-05-28
Maisha S Figeroa1008Germany2024-05-25
Isabel K Malet1009France2024-05-30
Nicolas N Kolmetz1010Argentina2024-06-02
James J Gillian1011Germany2024-06-09
Clifford U Ferencz1012United Kingdom2024-06-05
Isabel J Caldarera1013France2024-06-04
Smith P Gaucho1014Argentina2024-05-19
Maria O Flosi1015Germany2024-05-30
Izzy L Malet1016Argentina2024-06-08
Aruna N Tollner1017Italy2024-05-29
Tony J Wieser1018Australia2024-06-09
Rodrigues I Ostrosky1019Australia2024-06-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood Y OldroydArgentinaAmy Elsner NEW
Arvin V AmigonSpainElwin Sharvill UNQUALIFIED
Sinclair N RulapaughIndiaStephen Shaw PROPOSAL
Alejandro W DilliardUnited KingdomIoni Bowcher PROPOSAL
Cody F BologniaUnited KingdomStephen Shaw QUALIFIED
Greenwood C MaletFranceIvan Magalhaes NEW
Salvatore E WaycottItalyAmy Elsner RENEWAL
Smith Y GauchoItalyIoni Bowcher RENEWAL
Isabel L KolmetzBrazilStephen Shaw RENEWAL
Arvin D ChuiItalyBernardo Dominic PROPOSAL
Costa H PaprockiUnited KingdomIvan Magalhaes NEGOTIATION
David L DilliardRussiaElwin Sharvill NEW
Sinclair F DoeItalyOnyama Limba NEW
Johnson F PaprockiJapanIvan Magalhaes QUALIFIED
Maisha X OstroskyCanadaIvan Magalhaes NEGOTIATION
Greenwood J BowleySpainAsiya Javayant RENEWAL
Maisha K RimSpainElwin Sharvill RENEWAL
Salvatore H MaletUnited KingdomElwin Sharvill NEGOTIATION
Ivar N VenereItalyAmy Elsner NEW
Jones F DoeSpainBernardo Dominic UNQUALIFIED
Jefferson A BriddickBrazilIoni Bowcher PROPOSAL
Chavez N NestleIndiaBernardo Dominic NEGOTIATION
Julie P DarakjyCanadaAmy Elsner NEW
Salvatore Q StensethItalyElwin Sharvill NEGOTIATION
Juan C DilliardAustraliaIvan Magalhaes NEW
Kadeem O FollerRussiaIvan Magalhaes QUALIFIED
Emily J CaldareraArgentinaAnna Fali NEW
Ashley U NickaJapanXuxue Feng RENEWAL
Francesco Y StockhamArgentinaStephen Shaw QUALIFIED
Leja Q RimJapanOnyama Limba QUALIFIED
Faith N KolmetzIndiaOnyama Limba UNQUALIFIED
Alejandro U OstroskySpainIvan Magalhaes QUALIFIED
Sinclair K AlbaresSpainAsiya Javayant QUALIFIED
Greenwood A CaldareraBrazilAmy Elsner PROPOSAL
Stacey O StockhamIndiaStephen Shaw RENEWAL
Alejandro G KolmetzFranceAsiya Javayant UNQUALIFIED
Jones T BowleyRussiaIvan Magalhaes NEGOTIATION
Deepesh Q RoysterGermanyElwin Sharvill QUALIFIED
Faith T GlickGermanyAmy Elsner RENEWAL
Aika V CaudyJapanStephen Shaw 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>