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
Emily U WaycottSpainIoni Bowcher PROPOSAL
Ricardo C MarrierCanadaStephen Shaw PROPOSAL
Johnson A MaletItalyIoni Bowcher PROPOSAL
Adams V RutaUnited KingdomAmy Elsner PROPOSAL
Kadeem Y KuskoJapanAmy Elsner UNQUALIFIED
Greenwood D SlusarskiUnited KingdomElwin Sharvill PROPOSAL
Kadeem Q GarufiAustraliaXuxue Feng UNQUALIFIED
David J SlusarskiJapanAmy Elsner NEGOTIATION
Cody K VocelkaRussiaElwin Sharvill UNQUALIFIED
Aruna Z IturbideFranceOnyama Limba NEGOTIATION
Izzy O DilliardSpainElwin Sharvill PROPOSAL
Rodrigues M AlbaresArgentinaIvan Magalhaes QUALIFIED
Maisha E DoeIndiaAnna Fali UNQUALIFIED
Sinclair M AmigonSpainAnna Fali NEW
Aruna K CampainUnited KingdomStephen Shaw QUALIFIED
Julie I GauchoGermanyAmy Elsner NEGOTIATION
Kaitlin X MaletGermanyIoni Bowcher UNQUALIFIED
Clifford Z DilliardBrazilIoni Bowcher NEW
Maisha T OstroskyUnited KingdomAnna Fali NEGOTIATION
Francesco G WieserGermanyAmy Elsner RENEWAL
Salvatore T GillianRussiaAsiya Javayant QUALIFIED
Jefferson Q InouyeAustraliaOnyama Limba UNQUALIFIED
Morrow B SchemmerUnited KingdomIoni Bowcher PROPOSAL
Deepesh G MarrierSpainBernardo Dominic NEGOTIATION
Costa S GauchoBrazilAnna Fali RENEWAL
Isabel R IturbideIndiaBernardo Dominic NEW
Maisha I WaycottCanadaAsiya Javayant QUALIFIED
Jefferson K KolmetzItalyIoni Bowcher NEGOTIATION
Isabel P FlosiJapanOnyama Limba RENEWAL
Ivar U RutaJapanAmy Elsner RENEWAL
Aika S InouyeFranceAsiya Javayant PROPOSAL
Stacey J StockhamAustraliaBernardo Dominic PROPOSAL
Adams F RulapaughBrazilXuxue Feng QUALIFIED
Ivar G MacleadJapanStephen Shaw UNQUALIFIED
Cody Q StockhamUnited KingdomIoni Bowcher NEW
Juan R NestleSpainAmy Elsner RENEWAL
Aruna A GauchoBrazilBernardo Dominic QUALIFIED
Jeanfrancois M NestleRussiaAsiya Javayant NEGOTIATION
Wickens L BriddickUnited KingdomAmy Elsner NEGOTIATION
Aditya L KolmetzAustraliaAsiya Javayant UNQUALIFIED
Octavia G VocelkaSpainIoni Bowcher PROPOSAL
Nicolas T WhobreyAustraliaOnyama Limba QUALIFIED
Wickens C KuskoAustraliaIvan Magalhaes QUALIFIED
Adams X OstroskyItalyAmy Elsner NEW
Kaitlin Q KolmetzIndiaBernardo Dominic RENEWAL
Costa D TollnerAustraliaBernardo Dominic RENEWAL
Claire S FlosiBrazilXuxue Feng RENEWAL
Johnson U WieserArgentinaAmy Elsner UNQUALIFIED
Jones J OldroydItalyIvan Magalhaes NEGOTIATION
Faith H SlusarskiGermanyXuxue Feng NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Silvio N PoquetteJapanIvan Magalhaes RENEWAL
Cody G MaletUnited KingdomStephen Shaw QUALIFIED
Ricardo E KolmetzGermanyAmy Elsner QUALIFIED
Faith U GillianIndiaBernardo Dominic QUALIFIED
Ashley A SergiJapanAsiya Javayant NEGOTIATION
Cody U AlbaresRussiaAmy Elsner RENEWAL
Leja O TollnerSpainAmy Elsner QUALIFIED
Jones H KuskoGermanyOnyama Limba PROPOSAL
Mujtaba Y TollnerItalyStephen Shaw PROPOSAL
Tony Y RulapaughBrazilOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Johnson I RoysterArgentina2024-06-12Chanay, Jeffrey A Esq QUALIFIED41Anna Fali
1001Aruna N GauchoFrance2024-05-29Feltz Printing Service NEGOTIATION72Anna Fali
1002Greenwood N RutaRussia2024-05-27Morlong Associates QUALIFIED84Amy Elsner
1003Chavez S StockhamCanada2024-06-22Commercial Press RENEWAL78Ioni Bowcher
1004Leja R OldroydUnited Kingdom2024-05-29Truhlar And Truhlar Attys UNQUALIFIED62Anna Fali
1005Salvatore K DarakjyBrazil2024-06-23Feltz Printing Service NEW93Ivan Magalhaes
1006Tony J DarakjyRussia2024-06-15Chemel, James L Cpa PROPOSAL40Elwin Sharvill
1007Octavia O ShinkoIndia2024-06-11Benton, John B Jr NEGOTIATION6Bernardo Dominic
1008Aditya B WhobreyAustralia2024-05-31Dorl, James J Esq QUALIFIED57Elwin Sharvill
1009Smith O FollerCanada2024-06-08Buckley Miller Wright PROPOSAL16Asiya Javayant
1010Maria W KolmetzAustralia2024-05-27Chapman, Ross E Esq RENEWAL65Xuxue Feng
1011Francesco V DarakjyAustralia2024-06-12Benton, John B Jr UNQUALIFIED63Elwin Sharvill
1012James D WhobreyAustralia2024-05-29Dorl, James J Esq PROPOSAL91Onyama Limba
1013Sinclair W NestleIndia2024-06-03Feiner Bros NEGOTIATION90Amy Elsner
1014Jeanfrancois I MaletSpain2024-05-30Printing Dimensions NEW64Asiya Javayant
1015David A RulapaughSpain2024-06-07Benton, John B Jr RENEWAL59Onyama Limba
1016Stacey E SlusarskiIndia2024-06-23Truhlar And Truhlar Attys RENEWAL23Bernardo Dominic
1017Wickens J ButtJapan2024-06-17Buckley Miller Wright RENEWAL53Asiya Javayant
1018Leja Q CampainBrazil2024-06-21Feltz Printing Service QUALIFIED41Elwin Sharvill
1019Deepesh U MaletAustralia2024-06-18Chemel, James L Cpa NEGOTIATION57Ioni Bowcher
1020Octavia Q MaletGermany2024-06-16Feiner Bros NEW50Asiya Javayant
1021Silvio K InouyeArgentina2024-06-24King, Christopher A Esq NEGOTIATION34Stephen Shaw
1022Salvatore M DilliardFrance2024-05-28Feiner Bros PROPOSAL16Bernardo Dominic
1023David X DoeJapan2024-06-08Dorl, James J Esq UNQUALIFIED4Asiya Javayant
1024Munro P OldroydUnited Kingdom2024-05-29Benton, John B Jr NEW54Elwin Sharvill
1025Darci P FerenczSpain2024-06-08Chanay, Jeffrey A Esq UNQUALIFIED24Ioni Bowcher
1026Costa D FigeroaIndia2024-06-09Feltz Printing Service PROPOSAL20Amy Elsner
1027Leja Z MarrierItaly2024-05-26Rousseaux, Michael Esq QUALIFIED93Elwin Sharvill
1028Aditya A GauchoRussia2024-06-07Chemel, James L Cpa QUALIFIED22Bernardo Dominic
1029Faith G CaldareraJapan2024-06-07Dorl, James J Esq NEW57Amy Elsner
1030Adams N SlusarskiIndia2024-06-11Feiner Bros NEGOTIATION25Asiya Javayant
1031James L InouyeRussia2024-06-14Printing Dimensions QUALIFIED12Amy Elsner
1032Silvio G WhobreySpain2024-06-04Buckley Miller Wright PROPOSAL18Amy Elsner
1033Alejandro L DilliardUnited Kingdom2024-06-17Morlong Associates NEGOTIATION79Elwin Sharvill
1034Stacey O StensethItaly2024-06-20Truhlar And Truhlar Attys NEW8Asiya Javayant
1035David V WaycottUnited Kingdom2024-06-22Buckley Miller Wright PROPOSAL0Onyama Limba
1036Antonio X BriddickJapan2024-06-11Chapman, Ross E Esq NEW30Ivan Magalhaes
1037Cody G BriddickItaly2024-06-21Rousseaux, Michael Esq UNQUALIFIED81Stephen Shaw
1038Francesco T GillianArgentina2024-06-07Rousseaux, Michael Esq NEW93Bernardo Dominic
1039Mayumi F GlickFrance2024-06-13Buckley Miller Wright QUALIFIED47Stephen Shaw
1040Isabel Q GlickArgentina2024-06-05Rangoni Of Florence RENEWAL36Stephen Shaw
1041Ashley I DilliardUnited Kingdom2024-05-31Feiner Bros NEGOTIATION73Stephen Shaw
1042Darci X StensethRussia2024-06-19Rousseaux, Michael Esq QUALIFIED75Xuxue Feng
1043Sinclair V KolmetzItaly2024-06-24Chapman, Ross E Esq NEGOTIATION70Ivan Magalhaes
1044Octavia H PerinBrazil2024-05-26Benton, John B Jr QUALIFIED76Ioni Bowcher
1045Octavia S FlosiBrazil2024-05-29Dorl, James J Esq UNQUALIFIED43Ivan Magalhaes
1046Ashley L GarufiUnited Kingdom2024-06-04Rangoni Of Florence NEW99Ioni Bowcher
1047Sinclair K GauchoGermany2024-06-16Chanay, Jeffrey A Esq NEW66Elwin Sharvill
1048Leon O ButtRussia2024-06-12Truhlar And Truhlar Attys UNQUALIFIED75Bernardo Dominic
1049Antonio I GlickFrance2024-06-16Benton, John B Jr RENEWAL87Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Adams D SaylorsJapanAmy Elsner UNQUALIFIED
Jeanfrancois P VocelkaBrazilIvan Magalhaes QUALIFIED
Kaitlin C GlickJapanAsiya Javayant NEGOTIATION
Jennifer R PerinBrazilElwin Sharvill NEW
Jefferson W IturbideRussiaOnyama Limba NEGOTIATION
Johnson A DoeBrazilAsiya Javayant PROPOSAL
Chavez I MaletRussiaAsiya Javayant RENEWAL
Darci K MaletIndiaXuxue Feng NEGOTIATION
Emily Y RoysterUnited KingdomAmy Elsner QUALIFIED
Alejandro S MarrierBrazilXuxue Feng PROPOSAL
Maisha V DoeItalyBernardo Dominic UNQUALIFIED
James S InouyeFranceAnna Fali UNQUALIFIED
Ashley O GlickJapanXuxue Feng PROPOSAL
Jeanfrancois K AlbaresBrazilIvan Magalhaes PROPOSAL
Stacey W RoysterCanadaAmy Elsner PROPOSAL
Sinclair P FerenczIndiaAmy Elsner RENEWAL
Leon A WieserArgentinaStephen Shaw QUALIFIED
Cody C StockhamCanadaIvan Magalhaes UNQUALIFIED
Ashley L NickaGermanyAmy Elsner RENEWAL
Ashley G CaudyGermanyStephen Shaw RENEWAL
Murillo Y RulapaughIndiaOnyama Limba NEW
Maria X InouyeUnited KingdomAmy Elsner PROPOSAL
Smith M RulapaughGermanyStephen Shaw NEW
Antonio J NickaItalyElwin Sharvill RENEWAL
Aditya X MarrierGermanyAsiya Javayant PROPOSAL
Kaitlin D SergiFranceElwin Sharvill RENEWAL
Aika K RulapaughIndiaBernardo Dominic QUALIFIED
Nicolas R BriddickAustraliaAsiya Javayant NEGOTIATION
Clifford B WhobreyItalyIoni Bowcher QUALIFIED
Francesco O MaletIndiaAmy Elsner QUALIFIED
Murillo Y TollnerFranceXuxue Feng UNQUALIFIED
Nicolas U SchemmerIndiaIvan Magalhaes UNQUALIFIED
Morrow W SergiBrazilBernardo Dominic UNQUALIFIED
Maria I PaprockiBrazilAmy Elsner NEW
Morrow U RoysterFranceOnyama Limba UNQUALIFIED
Cody P FollerItalyXuxue Feng PROPOSAL
Mujtaba P CaudyIndiaOnyama Limba NEW
Leon X RulapaughUnited KingdomStephen Shaw PROPOSAL
David Q MorascaArgentinaBernardo Dominic QUALIFIED
Emily N DilliardFranceElwin Sharvill NEW
Johnson L CampainBrazilOnyama Limba UNQUALIFIED
Aditya Q FlosiAustraliaIvan Magalhaes NEGOTIATION
Stacey Y PoquetteRussiaBernardo Dominic PROPOSAL
Ashley D FerenczJapanElwin Sharvill NEGOTIATION
Salvatore G RoysterCanadaBernardo Dominic RENEWAL
Misaki I MacleadRussiaStephen Shaw RENEWAL
Salvatore O SchemmerArgentinaIoni Bowcher QUALIFIED
Ivar F SchemmerItalyIvan Magalhaes UNQUALIFIED
Johnson F TollnerFranceOnyama Limba NEGOTIATION
Aditya E NickaUnited KingdomStephen Shaw PROPOSAL
Frozen Columns
Name
Jennifer Q Slusarski
Tony G Paprocki
Nicolas S Butt
Aruna E Morasca
Sinclair E Shinko
Izzy C Ruta
Ivar M Stockham
Ashley U Chui
Antonio X Bowley
Aditya M Marrier
Francesco R Briddick
Alejandro T Maclead
Faith W Malet
Jennifer Q Oldroyd
Johnson V Schemmer
Kadeem W Briddick
Chavez C Ferencz
James C Ruta
David H Gaucho
Salvatore J Waycott
Faith U Flosi
Kaitlin C Bolognia
Isabel A Stenseth
Ashley M Amigon
Jennifer W Doe
Silvio Q Rulapaugh
Morrow R Vocelka
Rodrigues P Tollner
Arvin J Gaucho
Misaki D Maclead
Claire O Foller
Stacey K Poquette
Kadeem R Albares
Ashley W Shinko
Octavia Z Stenseth
Arvin D Caudy
Nicolas I Bolognia
Wickens K Stenseth
Izzy Q Darakjy
Smith W Slusarski
Faith G Rulapaugh
Adams F Chui
Munro U Oldroyd
Alejandro O Stenseth
Morrow Y Wieser
Nicolas J Tollner
Leja U Glick
Juan G Doe
Isabel P Malet
Tony V Ostrosky
IdCountryDate
1000Russia2024-06-16
1001France2024-06-20
1002Spain2024-05-28
1003Italy2024-05-29
1004Japan2024-06-10
1005France2024-06-08
1006Brazil2024-06-09
1007Russia2024-06-11
1008France2024-05-31
1009Italy2024-06-21
1010Russia2024-06-18
1011Argentina2024-06-04
1012United Kingdom2024-05-28
1013Spain2024-06-09
1014Brazil2024-05-27
1015Brazil2024-06-05
1016Australia2024-06-10
1017United Kingdom2024-06-16
1018United Kingdom2024-06-19
1019Germany2024-06-18
1020Russia2024-06-11
1021India2024-06-18
1022Brazil2024-06-24
1023Italy2024-06-05
1024United Kingdom2024-06-04
1025Canada2024-06-02
1026Argentina2024-05-28
1027Brazil2024-06-22
1028Canada2024-06-20
1029Canada2024-06-11
1030India2024-06-05
1031Japan2024-06-21
1032Spain2024-06-20
1033Brazil2024-06-03
1034Argentina2024-06-04
1035India2024-06-24
1036Russia2024-06-05
1037Spain2024-05-31
1038Canada2024-06-03
1039Japan2024-06-01
1040Germany2024-06-02
1041Japan2024-05-29
1042Germany2024-06-20
1043Canada2024-06-05
1044Germany2024-06-18
1045Germany2024-06-02
1046Brazil2024-05-31
1047India2024-06-12
1048Germany2024-06-02
1049Germany2024-06-12

On-Demand Data

NameIdCountryDate
Adams V Maclead1000Argentina2024-06-09
Aika K Foller1001India2024-06-23
Ricardo G Darakjy1002Australia2024-06-18
Leja C Albares1003Germany2024-06-11
David F Schemmer1004Italy2024-06-23
Alejandro M Shinko1005India2024-06-19
Smith G Rim1006Brazil2024-06-07
Stacey M Kusko1007Russia2024-05-30
Stacey A Tollner1008Italy2024-05-26
Ricardo U Caudy1009France2024-06-18
Maisha P Venere1010United Kingdom2024-06-18
Jennifer B Slusarski1011Brazil2024-06-06
Isabel O Ostrosky1012Germany2024-06-03
Jennifer S Garufi1013Spain2024-06-08
Stacey M Ruta1014Spain2024-06-08
Claire R Nicka1015Germany2024-06-07
Jefferson V Paprocki1016Russia2024-06-18
Octavia J Slusarski1017Australia2024-05-30
Wickens X Stenseth1018India2024-06-22
Claire D Foller1019Spain2024-06-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire D MarrierRussiaOnyama Limba QUALIFIED
Murillo U WhobreyRussiaAmy Elsner QUALIFIED
Mayumi P BologniaBrazilIoni Bowcher NEW
Rodrigues K FerenczIndiaAmy Elsner RENEWAL
Adams J VenereIndiaIoni Bowcher NEGOTIATION
Costa U MaletArgentinaAmy Elsner NEW
Maria W SlusarskiItalyOnyama Limba QUALIFIED
Silvio Y RoysterItalyIoni Bowcher PROPOSAL
Nicolas O GauchoItalyOnyama Limba NEW
Munro J VenereJapanAsiya Javayant RENEWAL
Juan D OstroskyGermanyAsiya Javayant PROPOSAL
Antonio G OstroskyArgentinaOnyama Limba RENEWAL
Antonio C AmigonArgentinaOnyama Limba RENEWAL
Salvatore P WhobreyRussiaElwin Sharvill QUALIFIED
Maria R FigeroaBrazilStephen Shaw QUALIFIED
Aruna J RulapaughFranceAnna Fali NEW
Sinclair D PoquetteArgentinaIoni Bowcher RENEWAL
Aika W WieserBrazilIvan Magalhaes NEW
Greenwood D BowleyJapanIvan Magalhaes UNQUALIFIED
Smith J WieserUnited KingdomIvan Magalhaes QUALIFIED
Claire Q GillianItalyIoni Bowcher NEGOTIATION
Darci M SchemmerArgentinaAmy Elsner NEW
Juan U FlosiFranceAnna Fali QUALIFIED
Ricardo J MarrierArgentinaStephen Shaw UNQUALIFIED
Ashley C SergiBrazilIoni Bowcher RENEWAL
Darci W AmigonJapanStephen Shaw RENEWAL
Isabel S MaletUnited KingdomAmy Elsner UNQUALIFIED
Salvatore N DoeUnited KingdomAnna Fali UNQUALIFIED
Tony N KolmetzItalyIoni Bowcher PROPOSAL
Murillo G FollerAustraliaIoni Bowcher RENEWAL
Misaki Y KolmetzFranceAnna Fali QUALIFIED
Izzy M InouyeAustraliaOnyama Limba UNQUALIFIED
James H CaudyJapanAsiya Javayant NEGOTIATION
Adams W SchemmerFranceBernardo Dominic NEGOTIATION
Salvatore U MorascaIndiaXuxue Feng PROPOSAL
Isabel S StensethRussiaAnna Fali UNQUALIFIED
Jefferson S MarrierBrazilStephen Shaw NEGOTIATION
Wickens P WaycottCanadaAsiya Javayant RENEWAL
Sinclair I TollnerAustraliaAmy Elsner RENEWAL
Nicolas B IturbideBrazilIvan Magalhaes NEW

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