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
Adams U GillianSpainXuxue Feng NEGOTIATION
Kadeem P ShinkoCanadaAsiya Javayant NEGOTIATION
Antonio C PaprockiRussiaIvan Magalhaes QUALIFIED
Alejandro K MacleadGermanyStephen Shaw QUALIFIED
Munro Y InouyeAustraliaAsiya Javayant NEGOTIATION
Isabel Z WieserSpainXuxue Feng QUALIFIED
Aditya O MarrierAustraliaBernardo Dominic PROPOSAL
Silvio V VocelkaItalyIoni Bowcher QUALIFIED
Alejandro V ChuiBrazilXuxue Feng NEGOTIATION
Faith L SchemmerArgentinaElwin Sharvill RENEWAL
Emily X RoysterItalyAnna Fali UNQUALIFIED
Julie U MorascaGermanyXuxue Feng RENEWAL
Kaitlin E OstroskyCanadaStephen Shaw PROPOSAL
Greenwood E InouyeJapanIoni Bowcher RENEWAL
Deepesh C MacleadJapanXuxue Feng NEW
Alejandro U FollerArgentinaXuxue Feng QUALIFIED
Misaki R ChuiBrazilBernardo Dominic UNQUALIFIED
Wickens L CampainJapanAnna Fali NEW
Smith Y FollerCanadaBernardo Dominic RENEWAL
Mujtaba K FlosiArgentinaAsiya Javayant PROPOSAL
Tony X AlbaresAustraliaIoni Bowcher RENEWAL
David S MaletSpainXuxue Feng RENEWAL
Faith D FigeroaItalyAmy Elsner NEW
Darci F RutaRussiaOnyama Limba NEW
Chavez H GillianItalyAmy Elsner NEW
Rodrigues O StockhamJapanIoni Bowcher RENEWAL
Salvatore V SchemmerJapanOnyama Limba UNQUALIFIED
Salvatore T SergiUnited KingdomIvan Magalhaes QUALIFIED
Aruna C ChuiUnited KingdomXuxue Feng RENEWAL
Sinclair V GillianArgentinaStephen Shaw PROPOSAL
Leja V RoysterUnited KingdomIoni Bowcher RENEWAL
Chavez V WhobreySpainAnna Fali QUALIFIED
Munro W DilliardCanadaXuxue Feng UNQUALIFIED
Aditya X OldroydBrazilAnna Fali UNQUALIFIED
Aika M SlusarskiGermanyXuxue Feng NEW
Octavia D FlosiJapanOnyama Limba UNQUALIFIED
Faith R RulapaughIndiaIvan Magalhaes RENEWAL
Jennifer G InouyeUnited KingdomIoni Bowcher PROPOSAL
James X WieserItalyOnyama Limba RENEWAL
James R GlickJapanIoni Bowcher UNQUALIFIED
Misaki H StockhamFranceIvan Magalhaes PROPOSAL
Darci E DarakjyRussiaOnyama Limba RENEWAL
Nicolas K RoysterUnited KingdomElwin Sharvill UNQUALIFIED
Wickens T IturbideSpainOnyama Limba NEW
Nicolas F ShinkoFranceIvan Magalhaes NEW
Izzy Z FollerJapanElwin Sharvill UNQUALIFIED
Johnson K RulapaughArgentinaBernardo Dominic QUALIFIED
Misaki R GarufiAustraliaXuxue Feng UNQUALIFIED
Juan M KolmetzIndiaAsiya Javayant RENEWAL
Chavez Y StockhamFranceIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
Julie J RutaBrazilAmy Elsner NEGOTIATION
Kadeem Z MaletIndiaIoni Bowcher QUALIFIED
Aruna X RulapaughFranceOnyama Limba NEGOTIATION
David V RoysterCanadaAmy Elsner UNQUALIFIED
Ivar X RutaRussiaIoni Bowcher NEW
Morrow R FigeroaAustraliaIoni Bowcher NEW
Chavez W SlusarskiFranceOnyama Limba NEW
Ivar A ChuiFranceIvan Magalhaes PROPOSAL
Costa H RutaJapanAnna Fali QUALIFIED
Izzy S OldroydItalyAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco Y PoquetteUnited Kingdom2024-06-18Feiner Bros NEW18Anna Fali
1001Emily H GlickAustralia2024-06-09Rousseaux, Michael Esq UNQUALIFIED20Onyama Limba
1002James R CaudyCanada2024-06-11Chapman, Ross E Esq UNQUALIFIED51Elwin Sharvill
1003Kaitlin H AmigonFrance2024-06-20Dorl, James J Esq RENEWAL61Stephen Shaw
1004Jeanfrancois Z BriddickRussia2024-05-28Chemel, James L Cpa RENEWAL10Ivan Magalhaes
1005Stacey M CampainCanada2024-06-21Benton, John B Jr PROPOSAL31Xuxue Feng
1006Jefferson L InouyeSpain2024-06-22Dorl, James J Esq UNQUALIFIED5Stephen Shaw
1007Clifford G GlickRussia2024-06-01Rangoni Of Florence NEW71Onyama Limba
1008Julie F OstroskyItaly2024-06-22Rousseaux, Michael Esq RENEWAL46Amy Elsner
1009Isabel R AlbaresSpain2024-05-26Morlong Associates RENEWAL89Ioni Bowcher
1010Claire T VocelkaGermany2024-05-26Commercial Press QUALIFIED72Ivan Magalhaes
1011Jones Y GlickAustralia2024-05-29Printing Dimensions NEGOTIATION44Stephen Shaw
1012Deepesh O WieserCanada2024-06-18Truhlar And Truhlar Attys NEW60Ivan Magalhaes
1013Murillo P ChuiFrance2024-06-07Chemel, James L Cpa PROPOSAL18Elwin Sharvill
1014James Q GlickIndia2024-06-10Feltz Printing Service RENEWAL71Stephen Shaw
1015Ivar E GauchoArgentina2024-06-13Rangoni Of Florence NEGOTIATION88Onyama Limba
1016James U MacleadRussia2024-06-18Morlong Associates UNQUALIFIED12Amy Elsner
1017Kaitlin F AmigonSpain2024-05-30Chanay, Jeffrey A Esq NEGOTIATION48Anna Fali
1018Misaki E InouyeRussia2024-06-09Buckley Miller Wright NEGOTIATION66Ivan Magalhaes
1019Izzy B StensethIndia2024-05-28Chanay, Jeffrey A Esq PROPOSAL31Elwin Sharvill
1020Morrow J StensethGermany2024-06-12Chanay, Jeffrey A Esq RENEWAL2Ivan Magalhaes
1021Tony N SaylorsGermany2024-06-16Dorl, James J Esq UNQUALIFIED81Onyama Limba
1022Aditya Y AlbaresCanada2024-06-14Dorl, James J Esq UNQUALIFIED44Bernardo Dominic
1023Octavia Y TollnerJapan2024-05-27Rangoni Of Florence QUALIFIED71Stephen Shaw
1024Adams P RoysterCanada2024-06-15Rousseaux, Michael Esq NEGOTIATION49Onyama Limba
1025Rodrigues W FollerCanada2024-05-29Feiner Bros PROPOSAL51Bernardo Dominic
1026Costa S WieserFrance2024-06-14Chapman, Ross E Esq UNQUALIFIED6Ivan Magalhaes
1027Cody F StensethUnited Kingdom2024-06-03Chapman, Ross E Esq RENEWAL80Bernardo Dominic
1028Mujtaba Z PerinUnited Kingdom2024-05-26Morlong Associates RENEWAL19Stephen Shaw
1029Ivar E DilliardIndia2024-06-03Chapman, Ross E Esq QUALIFIED98Onyama Limba
1030Smith M GlickUnited Kingdom2024-06-12Chapman, Ross E Esq UNQUALIFIED57Bernardo Dominic
1031Nicolas A PaprockiUnited Kingdom2024-06-12King, Christopher A Esq RENEWAL51Ioni Bowcher
1032Leon U WhobreyGermany2024-05-29Benton, John B Jr NEGOTIATION54Asiya Javayant
1033Sinclair J InouyeSpain2024-06-13Benton, John B Jr NEW4Ivan Magalhaes
1034Chavez Q DoeGermany2024-05-28Truhlar And Truhlar Attys QUALIFIED68Bernardo Dominic
1035Misaki G MorascaFrance2024-05-27Dorl, James J Esq PROPOSAL85Ivan Magalhaes
1036Clifford C RoysterCanada2024-06-19Printing Dimensions UNQUALIFIED3Stephen Shaw
1037Murillo Z ButtItaly2024-06-18Rousseaux, Michael Esq PROPOSAL38Anna Fali
1038Jones R SaylorsItaly2024-05-31Commercial Press UNQUALIFIED62Asiya Javayant
1039Costa R RulapaughSpain2024-05-30King, Christopher A Esq NEW68Stephen Shaw
1040Wickens H VenereCanada2024-06-13Chemel, James L Cpa NEW42Amy Elsner
1041Cody S RulapaughArgentina2024-06-10Rangoni Of Florence QUALIFIED32Ioni Bowcher
1042Maria T ButtIndia2024-06-15Morlong Associates UNQUALIFIED58Stephen Shaw
1043Alejandro P TollnerIndia2024-05-29Morlong Associates RENEWAL35Anna Fali
1044Jeanfrancois H MarrierGermany2024-06-16Truhlar And Truhlar Attys NEGOTIATION16Ivan Magalhaes
1045Jefferson M ChuiGermany2024-06-15Rousseaux, Michael Esq PROPOSAL27Xuxue Feng
1046Maria J TollnerItaly2024-06-09King, Christopher A Esq RENEWAL1Anna Fali
1047Morrow L StockhamFrance2024-05-26Chemel, James L Cpa QUALIFIED17Anna Fali
1048Clifford Q RoysterAustralia2024-06-08Rousseaux, Michael Esq RENEWAL46Onyama Limba
1049Chavez U WhobreyArgentina2024-06-22Rangoni Of Florence QUALIFIED78Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Antonio V KolmetzUnited KingdomAmy Elsner NEGOTIATION
James T PerinBrazilAnna Fali NEGOTIATION
Salvatore N RulapaughAustraliaStephen Shaw QUALIFIED
Leon Z RoysterArgentinaXuxue Feng UNQUALIFIED
Ashley N RoysterIndiaStephen Shaw UNQUALIFIED
Nicolas Q GillianUnited KingdomAsiya Javayant QUALIFIED
Morrow X KolmetzIndiaOnyama Limba NEW
Misaki K OstroskyIndiaStephen Shaw UNQUALIFIED
Leja M FlosiSpainAnna Fali NEGOTIATION
Johnson P AlbaresCanadaXuxue Feng PROPOSAL
Rodrigues E RulapaughFranceElwin Sharvill QUALIFIED
Francesco V CampainArgentinaAsiya Javayant RENEWAL
Leon S DoeJapanXuxue Feng PROPOSAL
Ricardo R FollerAustraliaIoni Bowcher UNQUALIFIED
Wickens B ShinkoBrazilXuxue Feng NEW
Munro Q MarrierIndiaIvan Magalhaes UNQUALIFIED
Julie A FerenczAustraliaStephen Shaw UNQUALIFIED
Smith I ShinkoAustraliaStephen Shaw RENEWAL
Murillo E StensethSpainAnna Fali UNQUALIFIED
Cody U VocelkaUnited KingdomOnyama Limba UNQUALIFIED
Rodrigues I GillianUnited KingdomIoni Bowcher NEGOTIATION
Kadeem E VocelkaAustraliaAmy Elsner UNQUALIFIED
Jones O IturbideArgentinaAmy Elsner UNQUALIFIED
Jones E BowleyAustraliaAsiya Javayant PROPOSAL
Ivar K DoeBrazilAnna Fali RENEWAL
Francesco R RutaArgentinaElwin Sharvill NEGOTIATION
Antonio U SchemmerUnited KingdomAsiya Javayant RENEWAL
Mayumi B GlickBrazilElwin Sharvill NEW
Smith C MarrierBrazilIoni Bowcher PROPOSAL
Jones Q RutaAustraliaOnyama Limba QUALIFIED
Greenwood C WaycottBrazilAmy Elsner NEW
Kaitlin P OldroydFranceAnna Fali QUALIFIED
Sinclair C FigeroaIndiaStephen Shaw NEGOTIATION
Francesco M PoquetteSpainXuxue Feng UNQUALIFIED
Jefferson G GauchoGermanyAmy Elsner NEGOTIATION
Mayumi I NestleItalyAmy Elsner PROPOSAL
Smith Z CaldareraSpainElwin Sharvill NEW
Nicolas J GillianGermanyAsiya Javayant PROPOSAL
Jones P PoquetteArgentinaAsiya Javayant RENEWAL
Francesco Y InouyeUnited KingdomAnna Fali NEGOTIATION
Kaitlin Z DilliardJapanIoni Bowcher PROPOSAL
Silvio U CaudyCanadaIvan Magalhaes RENEWAL
Claire H MorascaCanadaAsiya Javayant RENEWAL
Munro C TollnerIndiaAsiya Javayant QUALIFIED
Faith E StockhamSpainIoni Bowcher PROPOSAL
Octavia R DarakjyAustraliaStephen Shaw PROPOSAL
Clifford D FollerAustraliaIoni Bowcher NEW
Silvio I StockhamUnited KingdomStephen Shaw NEGOTIATION
Kaitlin P KuskoGermanyAnna Fali QUALIFIED
Jones Q SergiAustraliaBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Ricardo I Darakjy
Aika B Amigon
Costa E Doe
Costa F Gaucho
Isabel W Sergi
Adams T Foller
Ricardo X Gaucho
Jones R Shinko
Kaitlin P Campain
Murillo L Saylors
Kadeem F Slusarski
Chavez E Inouye
Chavez Z Saylors
Arvin H Glick
Jeanfrancois Y Whobrey
Nicolas A Stockham
Ricardo H Doe
Stacey W Rim
Cody R Butt
Adams H Caldarera
Claire I Inouye
Tony I Campain
Jennifer R Kusko
Costa I Iturbide
Wickens F Saylors
Costa K Iturbide
Ricardo O Maclead
Aditya L Figeroa
Sinclair L Amigon
Misaki Y Albares
Alejandro X Stockham
Murillo S Iturbide
Faith S Perin
Faith Q Inouye
Leja S Bowley
Johnson L Marrier
Deepesh C Bowley
Ivar B Gillian
Tony K Oldroyd
Jeanfrancois B Gaucho
Kaitlin Z Campain
Arvin E Paprocki
Clifford Q Garufi
Ricardo R Doe
Julie Q Rulapaugh
Costa C Bolognia
Maria Z Campain
Jennifer U Inouye
Salvatore Q Campain
Antonio J Butt
IdCountryDate
1000Spain2024-06-22
1001United Kingdom2024-05-29
1002Argentina2024-06-18
1003Russia2024-06-22
1004Australia2024-05-28
1005United Kingdom2024-06-17
1006Spain2024-05-27
1007United Kingdom2024-06-17
1008Australia2024-06-18
1009Spain2024-06-08
1010France2024-06-19
1011Brazil2024-06-02
1012Japan2024-06-10
1013Australia2024-06-21
1014India2024-06-09
1015Japan2024-06-09
1016Brazil2024-06-15
1017Spain2024-06-17
1018Russia2024-06-01
1019France2024-05-26
1020United Kingdom2024-06-17
1021Brazil2024-06-14
1022United Kingdom2024-06-13
1023Japan2024-06-07
1024Germany2024-06-08
1025India2024-06-04
1026India2024-06-21
1027India2024-06-02
1028Italy2024-05-26
1029France2024-06-04
1030Italy2024-06-15
1031United Kingdom2024-06-01
1032United Kingdom2024-06-14
1033France2024-06-03
1034Canada2024-05-31
1035Argentina2024-06-01
1036Canada2024-06-21
1037France2024-06-22
1038Canada2024-05-26
1039France2024-05-31
1040Brazil2024-06-22
1041Canada2024-06-17
1042Argentina2024-06-08
1043Japan2024-06-22
1044Brazil2024-06-06
1045Germany2024-06-12
1046Germany2024-06-21
1047Argentina2024-06-01
1048Germany2024-06-02
1049India2024-06-03

On-Demand Data

NameIdCountryDate
Misaki T Schemmer1000Italy2024-06-23
David C Rim1001Russia2024-06-07
Jefferson Q Iturbide1002Japan2024-06-18
Aditya K Wieser1003United Kingdom2024-06-03
Stacey T Poquette1004France2024-05-27
Ashley B Royster1005France2024-06-10
Ashley Y Slusarski1006Germany2024-06-04
Jefferson Y Ferencz1007Spain2024-06-01
Silvio A Stockham1008Argentina2024-06-10
Sinclair U Gaucho1009Spain2024-06-03
Faith K Kolmetz1010Australia2024-06-16
David K Doe1011Brazil2024-06-14
Adams N Venere1012Italy2024-06-20
Juan H Rulapaugh1013Argentina2024-05-31
Adams N Caldarera1014Germany2024-05-26
Darci K Albares1015United Kingdom2024-06-15
Jones S Rim1016Australia2024-06-05
David B Vocelka1017Germany2024-05-27
Adams R Shinko1018Spain2024-06-13
Leja H Inouye1019Canada2024-06-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Nicolas I CampainItalyAmy Elsner NEGOTIATION
Silvio O VenereIndiaAsiya Javayant RENEWAL
Ashley O RimAustraliaStephen Shaw NEW
Kaitlin J KolmetzFranceStephen Shaw NEGOTIATION
Murillo S AmigonRussiaIoni Bowcher NEW
Smith E DilliardFranceElwin Sharvill QUALIFIED
Leja W AmigonFranceBernardo Dominic RENEWAL
Octavia J StensethCanadaAmy Elsner RENEWAL
Ivar S GlickIndiaBernardo Dominic UNQUALIFIED
Izzy P FlosiUnited KingdomOnyama Limba NEGOTIATION
Julie M GillianUnited KingdomElwin Sharvill PROPOSAL
Jennifer D FlosiUnited KingdomOnyama Limba UNQUALIFIED
Juan T DoeAustraliaStephen Shaw UNQUALIFIED
Darci K OldroydSpainAnna Fali NEW
Deepesh V RulapaughRussiaIoni Bowcher NEW
Izzy G BriddickArgentinaIvan Magalhaes RENEWAL
Costa R BologniaFranceAnna Fali NEW
Wickens N DilliardGermanyXuxue Feng NEGOTIATION
Antonio X IturbideCanadaAnna Fali RENEWAL
Izzy E StockhamJapanBernardo Dominic QUALIFIED
Stacey Z RimUnited KingdomAnna Fali NEGOTIATION
Cody Z ButtAustraliaIoni Bowcher RENEWAL
Kadeem W PerinBrazilXuxue Feng NEW
Kadeem H SlusarskiGermanyElwin Sharvill PROPOSAL
Jeanfrancois T WaycottArgentinaElwin Sharvill QUALIFIED
Francesco C MorascaFranceBernardo Dominic PROPOSAL
Ashley Z WhobreyItalyAmy Elsner UNQUALIFIED
Juan L MacleadCanadaAmy Elsner RENEWAL
Mujtaba D WaycottBrazilOnyama Limba NEW
Mujtaba O ButtUnited KingdomBernardo Dominic RENEWAL
Aruna V WhobreyAustraliaXuxue Feng UNQUALIFIED
Maisha L WhobreySpainBernardo Dominic NEGOTIATION
Maisha L CampainCanadaElwin Sharvill UNQUALIFIED
Francesco V MaletCanadaAsiya Javayant UNQUALIFIED
James U KuskoSpainStephen Shaw NEW
Stacey A DoeFranceIvan Magalhaes QUALIFIED
Isabel L PoquetteArgentinaElwin Sharvill PROPOSAL
Antonio G DarakjyJapanAmy Elsner NEGOTIATION
Greenwood S VenereItalyBernardo Dominic UNQUALIFIED
Jefferson G VenereFranceOnyama Limba 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>