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
Isabel N GillianItalyAsiya Javayant NEW
Ashley O PoquetteGermanyOnyama Limba NEGOTIATION
James R GauchoItalyStephen Shaw UNQUALIFIED
Jeanfrancois Z OldroydBrazilXuxue Feng UNQUALIFIED
Morrow Z StensethCanadaXuxue Feng RENEWAL
Jefferson R KuskoFranceAmy Elsner NEGOTIATION
Clifford N BologniaItalyElwin Sharvill QUALIFIED
Jones D DarakjyAustraliaIoni Bowcher PROPOSAL
Kadeem L DoeGermanyIvan Magalhaes RENEWAL
Jefferson H CaudyAustraliaAmy Elsner UNQUALIFIED
Maisha O AmigonSpainAsiya Javayant NEW
Kadeem G WieserGermanyIvan Magalhaes RENEWAL
Munro O AmigonGermanyBernardo Dominic RENEWAL
Mayumi T PerinCanadaXuxue Feng PROPOSAL
James P SchemmerArgentinaAnna Fali RENEWAL
Julie U ChuiIndiaStephen Shaw NEW
Misaki X DilliardUnited KingdomBernardo Dominic UNQUALIFIED
Octavia E CaudyJapanStephen Shaw QUALIFIED
Jefferson J BowleyGermanyAnna Fali UNQUALIFIED
Silvio E DoeFranceBernardo Dominic NEW
Jones S SergiUnited KingdomOnyama Limba QUALIFIED
Mayumi Y AlbaresRussiaXuxue Feng QUALIFIED
Silvio I FigeroaJapanBernardo Dominic NEW
Emily T CampainAustraliaIoni Bowcher QUALIFIED
Izzy W SergiJapanXuxue Feng QUALIFIED
Wickens W RulapaughCanadaIoni Bowcher RENEWAL
Costa B VocelkaArgentinaStephen Shaw UNQUALIFIED
Kaitlin B GauchoFranceBernardo Dominic PROPOSAL
Munro M BriddickUnited KingdomElwin Sharvill PROPOSAL
Costa Q MacleadBrazilStephen Shaw RENEWAL
Arvin R PaprockiGermanyBernardo Dominic NEW
Wickens J ChuiSpainAmy Elsner PROPOSAL
Johnson K RoysterSpainAmy Elsner UNQUALIFIED
Alejandro W SchemmerFranceIoni Bowcher QUALIFIED
Antonio B SaylorsCanadaElwin Sharvill PROPOSAL
Misaki G KolmetzGermanyOnyama Limba RENEWAL
Deepesh Y PoquetteGermanyStephen Shaw RENEWAL
Jones T SchemmerGermanyIoni Bowcher PROPOSAL
Chavez X SaylorsSpainIvan Magalhaes NEW
Antonio Z VenereArgentinaAmy Elsner NEW
Mayumi U GillianUnited KingdomStephen Shaw QUALIFIED
Stacey C GarufiIndiaAsiya Javayant QUALIFIED
Octavia V MaletAustraliaAsiya Javayant NEGOTIATION
Francesco G InouyeFranceStephen Shaw PROPOSAL
Darci H RulapaughSpainIoni Bowcher RENEWAL
Emily P RoysterSpainAsiya Javayant PROPOSAL
Nicolas T DilliardIndiaStephen Shaw UNQUALIFIED
Deepesh R MacleadIndiaAsiya Javayant NEW
Claire G OldroydArgentinaXuxue Feng NEW
Stacey J DoeUnited KingdomAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Nicolas C PerinGermanyBernardo Dominic PROPOSAL
Jennifer O MarrierBrazilAmy Elsner QUALIFIED
Claire G MaletGermanyIoni Bowcher UNQUALIFIED
Clifford H PoquetteCanadaIoni Bowcher QUALIFIED
Jones R RulapaughIndiaAmy Elsner UNQUALIFIED
Cody Q KuskoUnited KingdomStephen Shaw NEGOTIATION
Munro J NickaItalyStephen Shaw QUALIFIED
Leja C FlosiUnited KingdomOnyama Limba UNQUALIFIED
Greenwood N DilliardRussiaAsiya Javayant UNQUALIFIED
Alejandro P GlickBrazilAsiya Javayant QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley I TollnerCanada2024-06-22Truhlar And Truhlar Attys NEGOTIATION74Ioni Bowcher
1001Adams H MorascaBrazil2024-06-01Printing Dimensions UNQUALIFIED10Asiya Javayant
1002Jones Y CaldareraRussia2024-05-25Benton, John B Jr RENEWAL66Ioni Bowcher
1003Wickens O StensethUnited Kingdom2024-05-30Commercial Press UNQUALIFIED63Elwin Sharvill
1004Ivar Y AlbaresBrazil2024-05-26Benton, John B Jr RENEWAL48Amy Elsner
1005Jeanfrancois O MarrierUnited Kingdom2024-06-13Truhlar And Truhlar Attys NEW65Stephen Shaw
1006Munro Z RulapaughUnited Kingdom2024-06-10Chemel, James L Cpa NEW62Onyama Limba
1007Munro B FigeroaGermany2024-06-02Buckley Miller Wright RENEWAL77Amy Elsner
1008Silvio Z WaycottIndia2024-05-26Chemel, James L Cpa NEGOTIATION6Ivan Magalhaes
1009Maisha B PaprockiJapan2024-05-31Printing Dimensions QUALIFIED92Ivan Magalhaes
1010Nicolas H RimRussia2024-06-07Morlong Associates NEW40Ioni Bowcher
1011Clifford M PerinFrance2024-06-09Feltz Printing Service NEW19Amy Elsner
1012Francesco Y GauchoItaly2024-06-02Printing Dimensions PROPOSAL62Ivan Magalhaes
1013Deepesh C DoeGermany2024-06-15Feltz Printing Service PROPOSAL24Xuxue Feng
1014Cody J RulapaughFrance2024-06-09Buckley Miller Wright RENEWAL51Bernardo Dominic
1015Sinclair M MaletCanada2024-06-05Chapman, Ross E Esq NEGOTIATION19Elwin Sharvill
1016Salvatore W OldroydItaly2024-06-02Truhlar And Truhlar Attys UNQUALIFIED54Stephen Shaw
1017Ashley M WhobreyFrance2024-06-09Benton, John B Jr PROPOSAL83Bernardo Dominic
1018Murillo Q IturbideArgentina2024-06-14Rousseaux, Michael Esq UNQUALIFIED87Onyama Limba
1019Deepesh O DarakjyBrazil2024-06-08Truhlar And Truhlar Attys NEGOTIATION38Asiya Javayant
1020Jeanfrancois W WaycottJapan2024-05-31Buckley Miller Wright NEGOTIATION92Stephen Shaw
1021Francesco N MacleadIndia2024-06-10Benton, John B Jr NEW59Anna Fali
1022Izzy Q FollerArgentina2024-06-02Benton, John B Jr QUALIFIED27Amy Elsner
1023Jones C ButtGermany2024-06-17Dorl, James J Esq PROPOSAL65Stephen Shaw
1024Silvio K SchemmerBrazil2024-06-08Buckley Miller Wright QUALIFIED51Stephen Shaw
1025Alejandro G GlickGermany2024-06-08Benton, John B Jr UNQUALIFIED0Amy Elsner
1026Francesco U SaylorsJapan2024-05-30Truhlar And Truhlar Attys UNQUALIFIED51Stephen Shaw
1027Johnson Z FlosiBrazil2024-05-28Rousseaux, Michael Esq RENEWAL87Stephen Shaw
1028Faith S RoysterBrazil2024-06-15Truhlar And Truhlar Attys NEGOTIATION96Anna Fali
1029Cody T BriddickIndia2024-05-26Buckley Miller Wright NEGOTIATION38Xuxue Feng
1030James W RimUnited Kingdom2024-06-12Printing Dimensions UNQUALIFIED10Stephen Shaw
1031Francesco G BowleyUnited Kingdom2024-05-29Commercial Press NEW0Asiya Javayant
1032Aruna S AlbaresCanada2024-06-13Rangoni Of Florence NEGOTIATION17Stephen Shaw
1033Izzy Q WieserGermany2024-06-19Feiner Bros UNQUALIFIED18Onyama Limba
1034Sinclair D CampainArgentina2024-05-28Printing Dimensions NEW41Bernardo Dominic
1035Munro V SlusarskiRussia2024-06-13Rousseaux, Michael Esq NEW2Elwin Sharvill
1036Ashley J FollerArgentina2024-05-27King, Christopher A Esq RENEWAL58Bernardo Dominic
1037Mayumi W DilliardArgentina2024-05-27Morlong Associates PROPOSAL66Ivan Magalhaes
1038Darci E MacleadRussia2024-06-13Benton, John B Jr PROPOSAL18Ioni Bowcher
1039Ivar P WaycottSpain2024-05-25Feiner Bros UNQUALIFIED97Onyama Limba
1040Mujtaba L SergiItaly2024-05-26Morlong Associates PROPOSAL89Ioni Bowcher
1041Salvatore L AmigonJapan2024-06-06Chemel, James L Cpa PROPOSAL30Bernardo Dominic
1042Sinclair B FerenczArgentina2024-06-14Feiner Bros NEW98Elwin Sharvill
1043Ashley L WieserIndia2024-06-13Buckley Miller Wright NEW22Amy Elsner
1044Maria A WhobreySpain2024-06-19Commercial Press UNQUALIFIED26Elwin Sharvill
1045Stacey Y FlosiGermany2024-05-31Truhlar And Truhlar Attys RENEWAL62Stephen Shaw
1046Faith U FollerArgentina2024-06-19Truhlar And Truhlar Attys PROPOSAL23Elwin Sharvill
1047Smith J CaldareraGermany2024-06-07Morlong Associates NEW47Xuxue Feng
1048Aditya M CampainBrazil2024-06-08King, Christopher A Esq NEW52Bernardo Dominic
1049Tony A BriddickJapan2024-06-11Truhlar And Truhlar Attys NEW37Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba T ChuiCanadaIoni Bowcher UNQUALIFIED
Rodrigues H MarrierJapanAnna Fali NEGOTIATION
Jones F CaldareraUnited KingdomBernardo Dominic UNQUALIFIED
Cody K SlusarskiGermanyAmy Elsner NEW
Juan U GlickFranceAsiya Javayant QUALIFIED
Aditya A IturbideAustraliaIvan Magalhaes RENEWAL
Adams L WieserAustraliaXuxue Feng PROPOSAL
Deepesh M ShinkoGermanyAnna Fali NEW
Leon U FigeroaAustraliaStephen Shaw NEGOTIATION
Alejandro M SaylorsUnited KingdomElwin Sharvill QUALIFIED
Ashley V DilliardArgentinaAnna Fali UNQUALIFIED
Julie W RimJapanIoni Bowcher UNQUALIFIED
Alejandro L RulapaughIndiaStephen Shaw NEW
Julie M MaletRussiaAsiya Javayant NEW
Izzy I DilliardArgentinaAnna Fali PROPOSAL
Emily H RutaArgentinaXuxue Feng RENEWAL
Aruna H WieserUnited KingdomXuxue Feng NEGOTIATION
Mayumi N SlusarskiArgentinaAsiya Javayant NEW
Kaitlin O StockhamUnited KingdomOnyama Limba RENEWAL
Darci A GlickUnited KingdomAnna Fali PROPOSAL
Adams E StensethCanadaIvan Magalhaes RENEWAL
Adams O MacleadIndiaBernardo Dominic NEGOTIATION
Isabel I RutaFranceIvan Magalhaes UNQUALIFIED
Jefferson W OldroydIndiaIoni Bowcher UNQUALIFIED
Silvio L BowleyJapanStephen Shaw NEW
Alejandro Q SaylorsRussiaOnyama Limba NEW
Leja Y MarrierAustraliaIvan Magalhaes NEW
Stacey Y ShinkoAustraliaAsiya Javayant QUALIFIED
Julie A WhobreyGermanyAnna Fali NEGOTIATION
Juan D CaldareraJapanIvan Magalhaes UNQUALIFIED
Costa U GillianFranceIoni Bowcher NEGOTIATION
Jones P FerenczAustraliaIoni Bowcher QUALIFIED
Stacey H FollerSpainAnna Fali UNQUALIFIED
Adams H ShinkoSpainIoni Bowcher NEW
Aditya M RoysterItalyStephen Shaw QUALIFIED
Mayumi C WieserFranceAnna Fali RENEWAL
Mayumi X SchemmerCanadaOnyama Limba PROPOSAL
Aika D GillianRussiaAnna Fali UNQUALIFIED
Maisha Z CaudyBrazilStephen Shaw UNQUALIFIED
Leja Z DarakjyJapanIvan Magalhaes PROPOSAL
Ivar N PerinAustraliaIvan Magalhaes NEW
Octavia A FollerBrazilAsiya Javayant RENEWAL
Misaki P FlosiGermanyIvan Magalhaes NEGOTIATION
Ricardo V WieserGermanyAnna Fali NEW
Aruna M PoquetteAustraliaXuxue Feng RENEWAL
Antonio Y TollnerAustraliaAmy Elsner PROPOSAL
Adams X WhobreyBrazilIvan Magalhaes NEW
Ashley I BologniaRussiaStephen Shaw RENEWAL
Silvio M SaylorsFranceStephen Shaw PROPOSAL
Nicolas F GarufiArgentinaAsiya Javayant QUALIFIED
Frozen Columns
Name
Smith G Albares
Mayumi Y Stenseth
Kadeem J Vocelka
James X Marrier
Jefferson F Iturbide
Kaitlin A Dilliard
Salvatore E Wieser
Smith B Morasca
Chavez M Paprocki
Antonio V Perin
Aika X Caudy
Aruna X Slusarski
Ashley W Bolognia
Cody K Malet
Rodrigues N Marrier
Greenwood R Ferencz
James T Oldroyd
Kadeem C Nestle
Misaki W Doe
Francesco X Doe
Murillo J Malet
Jeanfrancois G Iturbide
Octavia D Gaucho
Jeanfrancois U Darakjy
Kadeem B Rim
Salvatore N Gaucho
Claire G Chui
Cody P Sergi
Jennifer I Royster
Leon Z Schemmer
Leon Z Chui
Antonio O Schemmer
Kaitlin M Amigon
Arvin K Nestle
Ivar E Gaucho
Jeanfrancois A Dilliard
Antonio X Shinko
Mayumi I Nestle
Ricardo F Garufi
Antonio R Tollner
Morrow M Wieser
Darci I Inouye
Jeanfrancois L Morasca
Johnson M Kolmetz
Claire T Glick
Jennifer D Maclead
Faith L Flosi
Rodrigues G Paprocki
Ashley P Bowley
Stacey I Chui
IdCountryDate
1000Argentina2024-06-04
1001India2024-05-31
1002Canada2024-06-21
1003Germany2024-06-05
1004France2024-06-07
1005Spain2024-06-17
1006Italy2024-06-07
1007Brazil2024-05-24
1008Brazil2024-06-17
1009Spain2024-05-31
1010United Kingdom2024-06-07
1011Japan2024-06-10
1012Italy2024-05-24
1013Canada2024-06-12
1014France2024-06-20
1015Brazil2024-06-06
1016Brazil2024-06-08
1017Russia2024-06-18
1018Japan2024-05-29
1019Japan2024-06-13
1020Italy2024-06-09
1021Australia2024-06-12
1022Russia2024-06-11
1023Argentina2024-06-07
1024Argentina2024-06-20
1025Argentina2024-05-28
1026Italy2024-06-16
1027Brazil2024-06-17
1028Brazil2024-06-15
1029Australia2024-06-13
1030Australia2024-06-10
1031Argentina2024-06-05
1032Spain2024-06-12
1033France2024-06-06
1034Russia2024-05-31
1035Germany2024-06-09
1036India2024-05-25
1037India2024-06-08
1038Australia2024-06-09
1039Australia2024-06-08
1040India2024-05-31
1041Brazil2024-06-10
1042Spain2024-06-02
1043Russia2024-05-30
1044Russia2024-06-21
1045United Kingdom2024-06-04
1046Japan2024-05-29
1047Japan2024-06-05
1048Japan2024-06-19
1049Australia2024-06-09

On-Demand Data

NameIdCountryDate
Julie W Rulapaugh1000Canada2024-06-09
Octavia B Gillian1001Japan2024-06-22
Nicolas L Doe1002India2024-06-10
Claire E Butt1003Spain2024-05-24
Jefferson S Briddick1004Argentina2024-06-13
Munro S Bowley1005Brazil2024-06-04
Izzy O Briddick1006Spain2024-05-24
Clifford Y Paprocki1007India2024-06-01
James Q Oldroyd1008Canada2024-05-27
Jones L Dilliard1009Argentina2024-06-21
Deepesh X Sergi1010Argentina2024-06-22
Wickens Z Morasca1011Germany2024-06-09
Juan P Flosi1012France2024-06-01
Clifford N Glick1013India2024-06-05
Mujtaba L Ostrosky1014Argentina2024-06-04
Salvatore F Doe1015France2024-06-07
David U Shinko1016Australia2024-06-09
Emily T Wieser1017Germany2024-06-21
Morrow V Marrier1018Brazil2024-06-03
Smith F Shinko1019Italy2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily V SaylorsUnited KingdomElwin Sharvill RENEWAL
Aruna X VenereGermanyAmy Elsner UNQUALIFIED
Faith F ButtCanadaAsiya Javayant PROPOSAL
Misaki Y CampainSpainAmy Elsner RENEWAL
Faith D CaudyRussiaIoni Bowcher QUALIFIED
Wickens D CaldareraAustraliaIvan Magalhaes NEGOTIATION
Aika J OldroydFranceIvan Magalhaes PROPOSAL
Misaki A SlusarskiSpainIoni Bowcher NEW
Misaki C GlickSpainElwin Sharvill NEGOTIATION
Arvin M TollnerCanadaOnyama Limba RENEWAL
Alejandro V RoysterUnited KingdomAmy Elsner QUALIFIED
Murillo Z ButtCanadaAmy Elsner NEGOTIATION
Ivar I MarrierSpainIoni Bowcher UNQUALIFIED
Clifford Q GauchoIndiaBernardo Dominic QUALIFIED
Ricardo D AlbaresJapanElwin Sharvill UNQUALIFIED
Ricardo E GlickItalyBernardo Dominic NEW
Aditya C ButtJapanOnyama Limba RENEWAL
Juan D BologniaBrazilOnyama Limba RENEWAL
Ashley N WaycottCanadaXuxue Feng NEGOTIATION
Maria T GillianFranceOnyama Limba NEW
Francesco M ShinkoJapanAmy Elsner NEGOTIATION
Smith R WhobreyRussiaBernardo Dominic PROPOSAL
Ivar C TollnerBrazilIoni Bowcher RENEWAL
Silvio K CaldareraRussiaIvan Magalhaes NEGOTIATION
Johnson G RutaRussiaIvan Magalhaes UNQUALIFIED
Salvatore R WaycottItalyAnna Fali RENEWAL
Faith L DoeIndiaAnna Fali NEW
Greenwood Q StensethGermanyStephen Shaw NEW
Wickens X SaylorsAustraliaOnyama Limba QUALIFIED
Deepesh L VocelkaBrazilAmy Elsner QUALIFIED
Jones J BriddickAustraliaIvan Magalhaes RENEWAL
Ivar D MacleadArgentinaIvan Magalhaes UNQUALIFIED
Cody E AlbaresAustraliaBernardo Dominic NEGOTIATION
Mujtaba T TollnerItalyAnna Fali NEW
Arvin X CampainAustraliaAsiya Javayant PROPOSAL
Ashley U NestleItalyIoni Bowcher RENEWAL
David T CaldareraSpainElwin Sharvill PROPOSAL
Leja T NestleItalyElwin Sharvill NEW
Leon H RulapaughFranceAsiya Javayant QUALIFIED
David X StensethRussiaIvan Magalhaes 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>