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
Leja P CaldareraCanadaIoni Bowcher UNQUALIFIED
Emily Q MorascaArgentinaAnna Fali NEGOTIATION
Aika V RoysterUnited KingdomXuxue Feng NEGOTIATION
Faith Q DoeArgentinaOnyama Limba PROPOSAL
Jennifer H OstroskyIndiaIoni Bowcher RENEWAL
Misaki J ShinkoSpainAnna Fali PROPOSAL
James Q GarufiRussiaAmy Elsner RENEWAL
Clifford B RutaIndiaAmy Elsner NEW
Mayumi P FlosiFranceIoni Bowcher RENEWAL
Aika G DoeIndiaOnyama Limba PROPOSAL
Izzy K WhobreyRussiaBernardo Dominic QUALIFIED
Aika E MarrierCanadaBernardo Dominic UNQUALIFIED
Francesco J FlosiItalyXuxue Feng UNQUALIFIED
Jefferson Y NickaItalyAmy Elsner RENEWAL
Julie D IturbideItalyElwin Sharvill NEW
Jones V SlusarskiSpainElwin Sharvill NEW
Julie H KolmetzFranceOnyama Limba UNQUALIFIED
Isabel O FerenczArgentinaAsiya Javayant QUALIFIED
Kaitlin S BologniaGermanyIvan Magalhaes QUALIFIED
Nicolas C BologniaSpainIvan Magalhaes NEGOTIATION
Aika W CaldareraSpainElwin Sharvill RENEWAL
Kadeem T VenereSpainStephen Shaw QUALIFIED
Leja O SaylorsCanadaAnna Fali UNQUALIFIED
Tony M NickaUnited KingdomAnna Fali RENEWAL
Johnson E BriddickFranceAnna Fali QUALIFIED
Deepesh J FlosiGermanyElwin Sharvill NEGOTIATION
Alejandro Z DoeSpainElwin Sharvill RENEWAL
Wickens R WieserAustraliaAmy Elsner UNQUALIFIED
Salvatore S WhobreyCanadaAnna Fali QUALIFIED
Julie A VocelkaRussiaAsiya Javayant NEGOTIATION
Antonio W InouyeBrazilXuxue Feng UNQUALIFIED
Misaki J RimSpainAnna Fali NEGOTIATION
Munro H GarufiRussiaIvan Magalhaes NEW
Jefferson B ButtUnited KingdomAnna Fali NEW
Greenwood U KuskoUnited KingdomAmy Elsner RENEWAL
Aika I GarufiItalyOnyama Limba RENEWAL
Octavia L GauchoSpainStephen Shaw UNQUALIFIED
Wickens F WieserCanadaOnyama Limba UNQUALIFIED
Octavia N GauchoBrazilBernardo Dominic QUALIFIED
Darci B FigeroaCanadaAsiya Javayant NEW
Nicolas Q PoquetteCanadaBernardo Dominic UNQUALIFIED
Juan F DarakjyItalyAsiya Javayant NEGOTIATION
Jefferson U PaprockiJapanAnna Fali NEGOTIATION
Izzy U RulapaughGermanyAsiya Javayant UNQUALIFIED
Tony G WhobreyBrazilStephen Shaw NEGOTIATION
Morrow S NestleJapanElwin Sharvill NEGOTIATION
Ashley K ShinkoSpainAmy Elsner NEGOTIATION
Jeanfrancois K RutaIndiaElwin Sharvill NEW
Smith D MacleadIndiaIoni Bowcher UNQUALIFIED
Tony V AmigonCanadaElwin Sharvill QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Misaki M SlusarskiItalyOnyama Limba PROPOSAL
Jennifer R FlosiFranceStephen Shaw NEGOTIATION
Maisha C GlickRussiaAnna Fali UNQUALIFIED
Alejandro K NestleItalyOnyama Limba PROPOSAL
Faith Q MarrierIndiaXuxue Feng QUALIFIED
Jeanfrancois X OstroskyBrazilBernardo Dominic PROPOSAL
Mujtaba P PerinSpainAsiya Javayant NEGOTIATION
Deepesh D MaletUnited KingdomXuxue Feng QUALIFIED
Isabel O DarakjyRussiaIoni Bowcher NEW
Stacey T AmigonRussiaAsiya Javayant NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja R FollerArgentina2024-06-13Chapman, Ross E Esq PROPOSAL4Anna Fali
1001Cody L GarufiItaly2024-06-21Chemel, James L Cpa QUALIFIED38Asiya Javayant
1002Costa F StensethItaly2024-06-05King, Christopher A Esq UNQUALIFIED49Anna Fali
1003Leja F CaudyUnited Kingdom2024-06-04Truhlar And Truhlar Attys NEGOTIATION75Elwin Sharvill
1004Leon I CampainAustralia2024-06-09Benton, John B Jr PROPOSAL17Elwin Sharvill
1005Alejandro T IturbideSpain2024-06-07Commercial Press UNQUALIFIED0Anna Fali
1006Costa K BowleyUnited Kingdom2024-06-03Buckley Miller Wright PROPOSAL83Amy Elsner
1007Tony E MacleadJapan2024-06-09Chemel, James L Cpa RENEWAL38Onyama Limba
1008Murillo W PaprockiRussia2024-06-17Benton, John B Jr QUALIFIED46Bernardo Dominic
1009Wickens I SaylorsRussia2024-06-13King, Christopher A Esq NEGOTIATION58Elwin Sharvill
1010Sinclair O GarufiAustralia2024-06-18Rousseaux, Michael Esq RENEWAL11Anna Fali
1011Aruna U MorascaGermany2024-06-21Chanay, Jeffrey A Esq NEGOTIATION26Stephen Shaw
1012Julie K NestleSpain2024-06-20Feiner Bros QUALIFIED66Asiya Javayant
1013Stacey B RutaJapan2024-06-22Benton, John B Jr PROPOSAL34Bernardo Dominic
1014Nicolas S WieserGermany2024-06-04Benton, John B Jr NEW4Ioni Bowcher
1015Johnson E WieserBrazil2024-06-19Rangoni Of Florence NEW57Stephen Shaw
1016Isabel Y VenereUnited Kingdom2024-06-11Chapman, Ross E Esq RENEWAL38Bernardo Dominic
1017Murillo G FollerGermany2024-05-27Chanay, Jeffrey A Esq RENEWAL64Onyama Limba
1018Wickens S CampainGermany2024-06-11Feltz Printing Service NEGOTIATION68Bernardo Dominic
1019Maria T AmigonCanada2024-05-28Feiner Bros QUALIFIED96Bernardo Dominic
1020Leja B RoysterRussia2024-06-03King, Christopher A Esq RENEWAL94Xuxue Feng
1021Jennifer V IturbideRussia2024-06-10Printing Dimensions QUALIFIED73Xuxue Feng
1022Ashley H PerinUnited Kingdom2024-06-09Rousseaux, Michael Esq PROPOSAL53Asiya Javayant
1023Nicolas V WieserGermany2024-05-25Rangoni Of Florence QUALIFIED94Anna Fali
1024Aika Z WaycottSpain2024-06-13Chanay, Jeffrey A Esq NEW7Onyama Limba
1025Mayumi R DarakjyUnited Kingdom2024-06-19Rangoni Of Florence NEGOTIATION5Amy Elsner
1026Izzy U OstroskyRussia2024-06-20Morlong Associates NEW59Xuxue Feng
1027Cody N RulapaughUnited Kingdom2024-05-27Truhlar And Truhlar Attys NEGOTIATION38Elwin Sharvill
1028Johnson V FerenczItaly2024-06-17Printing Dimensions RENEWAL61Bernardo Dominic
1029Cody C ChuiRussia2024-06-11Chapman, Ross E Esq PROPOSAL3Stephen Shaw
1030Silvio W NestleGermany2024-06-11Chemel, James L Cpa QUALIFIED48Bernardo Dominic
1031Smith T NickaAustralia2024-05-30Dorl, James J Esq UNQUALIFIED25Ioni Bowcher
1032Adams C OstroskyArgentina2024-06-02Chapman, Ross E Esq PROPOSAL96Stephen Shaw
1033Aditya M FerenczArgentina2024-05-27Buckley Miller Wright RENEWAL70Bernardo Dominic
1034Jones E RulapaughUnited Kingdom2024-05-24Buckley Miller Wright QUALIFIED67Stephen Shaw
1035Ashley I GauchoRussia2024-06-05Printing Dimensions NEGOTIATION41Ioni Bowcher
1036Sinclair X StockhamGermany2024-06-14King, Christopher A Esq RENEWAL52Ioni Bowcher
1037Claire J DarakjyFrance2024-06-22Chanay, Jeffrey A Esq NEGOTIATION30Bernardo Dominic
1038Arvin M CaldareraUnited Kingdom2024-06-07Rousseaux, Michael Esq PROPOSAL58Bernardo Dominic
1039Misaki L VocelkaFrance2024-05-30Chemel, James L Cpa NEGOTIATION39Elwin Sharvill
1040Claire C ChuiAustralia2024-06-12Benton, John B Jr QUALIFIED18Xuxue Feng
1041Darci D InouyeGermany2024-06-11Dorl, James J Esq RENEWAL19Asiya Javayant
1042Antonio T BriddickRussia2024-06-10Truhlar And Truhlar Attys RENEWAL41Xuxue Feng
1043Chavez H ButtItaly2024-06-05Chapman, Ross E Esq NEW44Amy Elsner
1044Jeanfrancois N BriddickArgentina2024-06-12Truhlar And Truhlar Attys UNQUALIFIED34Bernardo Dominic
1045Maisha J VocelkaJapan2024-06-08Commercial Press RENEWAL23Ivan Magalhaes
1046Isabel H BowleyFrance2024-05-27Buckley Miller Wright RENEWAL45Ivan Magalhaes
1047Arvin A CaudySpain2024-06-02King, Christopher A Esq RENEWAL56Bernardo Dominic
1048Stacey H RulapaughCanada2024-05-28King, Christopher A Esq NEW0Anna Fali
1049Adams Z AmigonCanada2024-06-14Commercial Press NEGOTIATION90Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Jennifer P CaudyFranceAnna Fali NEW
Silvio F SlusarskiCanadaIvan Magalhaes NEW
Antonio V SchemmerBrazilStephen Shaw NEGOTIATION
Wickens Z DilliardAustraliaAsiya Javayant PROPOSAL
Maria I AmigonRussiaAnna Fali NEGOTIATION
Kadeem Z RoysterGermanyAnna Fali RENEWAL
Isabel W StensethRussiaAsiya Javayant NEGOTIATION
Costa H WaycottBrazilBernardo Dominic RENEWAL
Alejandro E DilliardCanadaIvan Magalhaes NEW
Claire T StockhamItalyBernardo Dominic NEGOTIATION
Faith R NickaSpainStephen Shaw UNQUALIFIED
Francesco M GarufiArgentinaElwin Sharvill NEGOTIATION
Nicolas W RutaArgentinaStephen Shaw NEGOTIATION
Maria A StensethIndiaAsiya Javayant PROPOSAL
Morrow Y DilliardItalyIoni Bowcher RENEWAL
Aika G AmigonGermanyElwin Sharvill QUALIFIED
Morrow X StockhamGermanyStephen Shaw PROPOSAL
Faith S NickaAustraliaElwin Sharvill RENEWAL
Leon B PoquetteCanadaAnna Fali QUALIFIED
Sinclair F SchemmerArgentinaXuxue Feng RENEWAL
David E ButtSpainIvan Magalhaes UNQUALIFIED
Ricardo E GillianUnited KingdomIvan Magalhaes QUALIFIED
Maisha D WhobreyRussiaStephen Shaw QUALIFIED
David E SaylorsBrazilIoni Bowcher PROPOSAL
Greenwood V CaldareraJapanOnyama Limba RENEWAL
Alejandro C CaudyBrazilAmy Elsner QUALIFIED
Emily B CaudyJapanElwin Sharvill QUALIFIED
Nicolas X RoysterSpainOnyama Limba NEGOTIATION
Jeanfrancois V TollnerSpainAsiya Javayant PROPOSAL
Alejandro K RulapaughAustraliaAsiya Javayant NEW
Antonio H AmigonAustraliaAmy Elsner QUALIFIED
Leon K BriddickBrazilXuxue Feng NEW
Nicolas R PoquetteGermanyStephen Shaw UNQUALIFIED
Adams U ButtFranceIoni Bowcher NEW
Wickens O MarrierArgentinaIoni Bowcher QUALIFIED
Salvatore H FlosiFranceAmy Elsner NEGOTIATION
Jones X RoysterUnited KingdomIoni Bowcher NEGOTIATION
Jeanfrancois D RulapaughFranceOnyama Limba NEGOTIATION
Octavia Q NestleRussiaXuxue Feng NEGOTIATION
Munro J PaprockiItalyElwin Sharvill UNQUALIFIED
Costa T GarufiAustraliaAsiya Javayant PROPOSAL
David C FollerGermanyIoni Bowcher NEW
Jennifer C BriddickUnited KingdomOnyama Limba RENEWAL
Jefferson H StockhamBrazilElwin Sharvill PROPOSAL
Tony K CaudyBrazilIoni Bowcher NEGOTIATION
Emily V CaldareraUnited KingdomAmy Elsner NEW
Jones D PoquetteAustraliaXuxue Feng UNQUALIFIED
Tony N InouyeIndiaBernardo Dominic NEGOTIATION
Misaki M FigeroaBrazilIoni Bowcher NEGOTIATION
Leja N SlusarskiSpainIoni Bowcher NEGOTIATION
Frozen Columns
Name
Ashley Z Ostrosky
Deepesh E Butt
Stacey X Caudy
Julie D Ruta
Juan O Marrier
Stacey U Poquette
Kadeem J Schemmer
Nicolas D Nicka
Ricardo I Inouye
Ricardo V Kusko
Rodrigues M Stenseth
James M Ostrosky
Leja I Gillian
Julie A Bowley
Alejandro I Garufi
James G Oldroyd
Emily A Amigon
Nicolas J Schemmer
Leon E Perin
Sinclair S Morasca
Claire J Maclead
Aika P Caldarera
Antonio C Shinko
Rodrigues X Stenseth
Leon F Malet
Stacey G Kusko
Johnson Q Nicka
Francesco V Glick
Maisha Y Nestle
Octavia W Albares
Maisha J Glick
Smith Q Marrier
Kadeem T Royster
Deepesh G Shinko
Ashley X Dilliard
Francesco L Shinko
Murillo O Whobrey
Octavia D Inouye
Tony H Garufi
Kadeem G Malet
Deepesh F Whobrey
Aruna T Bowley
Emily F Bolognia
James E Stenseth
Sinclair M Ostrosky
Francesco Z Caldarera
Jennifer I Vocelka
Antonio U Morasca
Deepesh S Campain
Clifford J Briddick
IdCountryDate
1000Spain2024-06-15
1001Australia2024-06-01
1002Brazil2024-06-20
1003Russia2024-06-10
1004Italy2024-06-19
1005Brazil2024-06-09
1006Italy2024-06-13
1007Germany2024-06-12
1008United Kingdom2024-06-11
1009Canada2024-05-26
1010Spain2024-06-14
1011Japan2024-05-28
1012Argentina2024-06-06
1013Japan2024-06-22
1014Russia2024-06-17
1015France2024-05-30
1016Italy2024-06-09
1017Germany2024-06-22
1018Japan2024-06-14
1019United Kingdom2024-05-24
1020France2024-06-01
1021France2024-06-20
1022Canada2024-06-05
1023United Kingdom2024-06-20
1024Russia2024-05-31
1025Germany2024-06-14
1026Spain2024-06-16
1027Brazil2024-06-19
1028Spain2024-05-27
1029Argentina2024-06-22
1030France2024-06-11
1031Argentina2024-05-28
1032Italy2024-06-11
1033India2024-06-11
1034Argentina2024-05-31
1035France2024-06-21
1036Australia2024-06-14
1037India2024-06-20
1038Spain2024-06-15
1039Argentina2024-05-26
1040Japan2024-06-13
1041Japan2024-06-01
1042United Kingdom2024-06-09
1043Spain2024-06-19
1044Japan2024-06-05
1045Spain2024-06-18
1046Italy2024-05-31
1047Australia2024-06-12
1048India2024-06-08
1049Italy2024-06-12

On-Demand Data

NameIdCountryDate
Juan L Venere1000United Kingdom2024-06-18
Jones S Stenseth1001France2024-06-05
Adams H Stenseth1002Canada2024-06-18
Aruna F Waycott1003Russia2024-06-14
Isabel E Royster1004Spain2024-06-03
Adams W Malet1005India2024-05-30
Kadeem D Butt1006Spain2024-05-31
Wickens M Kusko1007India2024-05-31
Arvin P Morasca1008Germany2024-06-10
Octavia M Gillian1009India2024-05-31
Claire J Inouye1010Argentina2024-06-05
Ivar M Saylors1011Argentina2024-06-17
Salvatore C Iturbide1012Japan2024-06-07
Jennifer F Flosi1013Italy2024-06-01
Jennifer M Perin1014Italy2024-05-27
Kadeem S Figeroa1015Argentina2024-06-11
Adams H Whobrey1016Japan2024-06-09
Mujtaba C Saylors1017Australia2024-06-15
Aika G Perin1018Canada2024-06-09
Ricardo C Dilliard1019Canada2024-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie H GillianItalyIvan Magalhaes RENEWAL
Claire B FollerCanadaAmy Elsner PROPOSAL
Johnson Y ChuiGermanyIoni Bowcher RENEWAL
Clifford L OldroydUnited KingdomIoni Bowcher QUALIFIED
Ashley Q MacleadUnited KingdomStephen Shaw NEGOTIATION
Costa R FollerJapanAmy Elsner UNQUALIFIED
Juan A SlusarskiArgentinaIvan Magalhaes NEGOTIATION
Jennifer S GlickCanadaElwin Sharvill UNQUALIFIED
Salvatore J VenereAustraliaElwin Sharvill RENEWAL
Leja B NestleArgentinaIvan Magalhaes PROPOSAL
Kadeem F DilliardUnited KingdomBernardo Dominic NEGOTIATION
Salvatore U MaletCanadaAsiya Javayant RENEWAL
Adams Q BowleyItalyElwin Sharvill PROPOSAL
Aditya B MacleadAustraliaElwin Sharvill NEW
Juan A AmigonRussiaIvan Magalhaes RENEWAL
Faith B SergiGermanyStephen Shaw NEW
Claire C RimAustraliaAmy Elsner UNQUALIFIED
Rodrigues V NickaUnited KingdomStephen Shaw QUALIFIED
Smith K VocelkaItalyAnna Fali NEW
Maria X CaldareraRussiaAnna Fali NEW
Wickens I InouyeCanadaXuxue Feng RENEWAL
Emily U StockhamGermanyAmy Elsner NEGOTIATION
Rodrigues M IturbideBrazilIvan Magalhaes RENEWAL
Johnson P PaprockiAustraliaOnyama Limba NEW
Maisha I SchemmerIndiaIvan Magalhaes PROPOSAL
Munro H BologniaFranceElwin Sharvill NEGOTIATION
Jeanfrancois R SchemmerBrazilXuxue Feng NEGOTIATION
Maisha G SlusarskiJapanXuxue Feng RENEWAL
Smith Q TollnerFranceIvan Magalhaes PROPOSAL
Julie U IturbideItalyIvan Magalhaes NEW
Ivar W WieserBrazilAnna Fali PROPOSAL
Cody O DilliardJapanIvan Magalhaes RENEWAL
Ashley V NestleAustraliaElwin Sharvill RENEWAL
Jones L FollerRussiaOnyama Limba RENEWAL
Ashley Y PoquetteIndiaIvan Magalhaes PROPOSAL
Izzy J VenereAustraliaAmy Elsner NEGOTIATION
Aditya K RutaIndiaElwin Sharvill PROPOSAL
Arvin F FlosiBrazilBernardo Dominic UNQUALIFIED
Jefferson N CaldareraGermanyXuxue Feng UNQUALIFIED
Misaki K TollnerGermanyAmy 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>