November Deals: Limited Coupons Available! 🎁 Claim Your Coupon

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
Bangla
Bosnian
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
Uzbek
Vietnamese
Chinese
Chinese

Input Style

Themes

PrimeOne
Saga Blue Saga Blue
Vela Blue Vela Blue
Arya Blue Arya Blue
Bootstrap
Bootstrap Blue Light Bootstrap Blue Light
Bootstrap Purple Light Bootstrap Purple Light
Bootstrap Blue Dark Bootstrap Blue Dark
Bootstrap Purple Dark Bootstrap Purple Dark
Material Design
Material Indigo Light Material Indigo Light
Material Deep Purple Light Material Deep Purple Light
Material Indigo Dark Material Indigo Dark
Material Deep Purple Dark Material Deep Purple Dark
Material Design Compact
Material Compact Indigo Light Material Compact Indigo Light
Material Compact Deep Purple Light Material Compact Deep Purple Light
Material Compact Indigo Dark Material Compact Indigo Dark
Material Compact Deep Purple Dark Material Compact Deep Purple Dark
Legacy
Nova Light Nova Light
Nova Dark Nova Dark
Nova Colored Nova Colored
Luna Amber Luna Amber
Luna Blue Luna Blue
Luna Green Luna Green
Luna Pink Luna Pink

DataTable Scroll

Both vertical and horizontal scrolling of the data is supported with optional frozen rows-columns and on-demand loading features.

Vertical
NameCountryRepresentativeStatus
Maria F PerinItalyBernardo Dominic QUALIFIED
Maria F AmigonArgentinaIoni Bowcher QUALIFIED
Faith J ChuiJapanAmy Elsner PROPOSAL
Jefferson N DilliardArgentinaAsiya Javayant UNQUALIFIED
Kadeem V GillianGermanyBernardo Dominic QUALIFIED
Jones J DoeSpainAsiya Javayant UNQUALIFIED
Costa S DilliardItalyIoni Bowcher PROPOSAL
Leon V PerinAustraliaAnna Fali NEGOTIATION
Aika L DarakjyFranceOnyama Limba UNQUALIFIED
Maisha P RutaGermanyOnyama Limba RENEWAL
Kaitlin V InouyeSpainStephen Shaw RENEWAL
Octavia L PoquetteUnited KingdomBernardo Dominic RENEWAL
David R MacleadRussiaAnna Fali PROPOSAL
Deepesh E MaletGermanyAmy Elsner QUALIFIED
Smith T NickaUnited KingdomIvan Magalhaes NEW
Izzy C GlickSpainOnyama Limba NEW
Clifford I PoquetteGermanyXuxue Feng PROPOSAL
Isabel J DoeAustraliaBernardo Dominic UNQUALIFIED
Alejandro G RoysterGermanyAnna Fali RENEWAL
Murillo P FollerGermanyAmy Elsner QUALIFIED
David H KolmetzItalyIoni Bowcher UNQUALIFIED
Deepesh I FerenczUnited KingdomAnna Fali UNQUALIFIED
Julie R KuskoFranceXuxue Feng QUALIFIED
Leja G NickaGermanyAnna Fali PROPOSAL
Greenwood R BriddickRussiaAmy Elsner NEW
Emily C GillianItalyXuxue Feng RENEWAL
Jennifer J CampainArgentinaIvan Magalhaes PROPOSAL
Maria X PoquetteRussiaAmy Elsner RENEWAL
Isabel M MacleadFranceStephen Shaw QUALIFIED
Murillo U StensethItalyStephen Shaw NEW
Murillo Y MaletCanadaIvan Magalhaes RENEWAL
Munro U PerinAustraliaAnna Fali PROPOSAL
Alejandro L PerinRussiaAsiya Javayant NEGOTIATION
Emily X KuskoUnited KingdomOnyama Limba NEGOTIATION
Izzy H VenereIndiaAnna Fali UNQUALIFIED
Alejandro G DoeRussiaIvan Magalhaes UNQUALIFIED
Ivar F VenereSpainIvan Magalhaes RENEWAL
Ashley I InouyeGermanyBernardo Dominic NEW
Adams K MacleadSpainOnyama Limba RENEWAL
Aditya N PerinUnited KingdomStephen Shaw QUALIFIED
Arvin G WaycottBrazilAnna Fali QUALIFIED
Alejandro Y RimBrazilBernardo Dominic NEW
Chavez S MorascaArgentinaOnyama Limba NEGOTIATION
Chavez S PaprockiUnited KingdomBernardo Dominic NEW
Maria T ShinkoJapanXuxue Feng QUALIFIED
Murillo W BowleyUnited KingdomElwin Sharvill PROPOSAL
Julie X PaprockiItalyElwin Sharvill PROPOSAL
Antonio B RimJapanStephen Shaw QUALIFIED
Misaki Z GauchoIndiaXuxue Feng NEW
Mayumi D IturbideAustraliaAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Darci L FigeroaIndiaOnyama Limba PROPOSAL
Maria L BologniaIndiaElwin Sharvill QUALIFIED
Stacey T MorascaAustraliaElwin Sharvill PROPOSAL
Smith M PerinSpainAnna Fali NEGOTIATION
Ricardo X CampainArgentinaStephen Shaw RENEWAL
Claire O DilliardIndiaAmy Elsner UNQUALIFIED
Antonio T DarakjyUnited KingdomOnyama Limba PROPOSAL
Ashley G AmigonArgentinaOnyama Limba QUALIFIED
Francesco J ButtRussiaXuxue Feng RENEWAL
Jennifer I DilliardSpainIoni Bowcher NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000James Z IturbideGermany2026-10-11Feiner Bros UNQUALIFIED20Elwin Sharvill
1001Leon N NickaBrazil2026-09-27Commercial Press RENEWAL58Asiya Javayant
1002Kaitlin P FigeroaGermany2026-10-18Morlong Associates RENEWAL95Xuxue Feng
1003Cody X AmigonItaly2026-10-11Chanay, Jeffrey A Esq NEW21Amy Elsner
1004Alejandro M StockhamAustralia2026-10-10Printing Dimensions UNQUALIFIED28Onyama Limba
1005Deepesh R RoysterAustralia2026-10-17Rousseaux, Michael Esq QUALIFIED16Onyama Limba
1006Faith D DilliardArgentina2026-10-01Chanay, Jeffrey A Esq UNQUALIFIED90Anna Fali
1007Octavia N ButtAustralia2026-10-14Commercial Press RENEWAL86Bernardo Dominic
1008Isabel T WieserBrazil2026-10-18Chapman, Ross E Esq NEW9Amy Elsner
1009Clifford G CaldareraIndia2026-10-03King, Christopher A Esq PROPOSAL40Anna Fali
1010Julie S SchemmerSpain2026-10-20Benton, John B Jr NEGOTIATION50Xuxue Feng
1011Sinclair U MacleadUnited Kingdom2026-10-12Feltz Printing Service NEGOTIATION35Ioni Bowcher
1012Chavez A SergiJapan2026-10-16Commercial Press NEGOTIATION0Elwin Sharvill
1013Maria M CaudyJapan2026-10-19Buckley Miller Wright PROPOSAL27Bernardo Dominic
1014Mayumi B FerenczUnited Kingdom2026-09-28King, Christopher A Esq UNQUALIFIED95Anna Fali
1015Octavia W StockhamUnited Kingdom2026-10-11Chemel, James L Cpa NEW94Stephen Shaw
1016Sinclair Z WhobreyBrazil2026-10-04Morlong Associates RENEWAL80Ioni Bowcher
1017Emily C WieserJapan2026-09-27Morlong Associates NEW31Bernardo Dominic
1018Clifford U TollnerBrazil2026-09-29Benton, John B Jr QUALIFIED94Bernardo Dominic
1019Cody G PoquetteSpain2026-10-18Morlong Associates PROPOSAL48Bernardo Dominic
1020Silvio P RulapaughUnited Kingdom2026-10-11Dorl, James J Esq QUALIFIED72Ioni Bowcher
1021Deepesh I ButtIndia2026-10-05Rousseaux, Michael Esq PROPOSAL46Amy Elsner
1022Leja T MaletJapan2026-10-25Chemel, James L Cpa UNQUALIFIED12Ioni Bowcher
1023Antonio N KolmetzUnited Kingdom2026-10-13Dorl, James J Esq RENEWAL15Onyama Limba
1024Aditya N AmigonCanada2026-10-16Rousseaux, Michael Esq NEW66Bernardo Dominic
1025Maisha Y GarufiSpain2026-10-23Chapman, Ross E Esq QUALIFIED98Asiya Javayant
1026Aika J MaletFrance2026-10-14Truhlar And Truhlar Attys QUALIFIED46Asiya Javayant
1027Arvin O WaycottSpain2026-10-06Feiner Bros UNQUALIFIED73Ivan Magalhaes
1028Alejandro L StockhamUnited Kingdom2026-10-03Commercial Press NEW72Ioni Bowcher
1029Nicolas U CampainSpain2026-10-19Benton, John B Jr PROPOSAL14Anna Fali
1030Kaitlin V WhobreyGermany2026-09-28Dorl, James J Esq NEW51Bernardo Dominic
1031Aika F MaletIndia2026-10-05Benton, John B Jr UNQUALIFIED3Anna Fali
1032Maria S DoeRussia2026-09-27Commercial Press QUALIFIED88Elwin Sharvill
1033Antonio W MarrierBrazil2026-10-04Chapman, Ross E Esq PROPOSAL24Elwin Sharvill
1034Rodrigues O KolmetzAustralia2026-10-01Feiner Bros UNQUALIFIED16Ioni Bowcher
1035Kaitlin F OldroydArgentina2026-10-23Truhlar And Truhlar Attys UNQUALIFIED79Elwin Sharvill
1036Juan P FlosiIndia2026-10-02Chanay, Jeffrey A Esq UNQUALIFIED35Elwin Sharvill
1037Emily A GarufiArgentina2026-10-12Truhlar And Truhlar Attys RENEWAL87Xuxue Feng
1038Cody Y CampainArgentina2026-10-17Truhlar And Truhlar Attys NEW51Onyama Limba
1039Antonio B AlbaresIndia2026-10-15Feiner Bros PROPOSAL85Bernardo Dominic
1040Leon U WaycottCanada2026-10-14Feltz Printing Service PROPOSAL32Ioni Bowcher
1041Isabel S BowleyBrazil2026-10-15Truhlar And Truhlar Attys NEW54Bernardo Dominic
1042Cody A GauchoArgentina2026-10-26Truhlar And Truhlar Attys UNQUALIFIED27Anna Fali
1043Aditya S RoysterIndia2026-10-02Buckley Miller Wright QUALIFIED8Anna Fali
1044Maisha I DarakjySpain2026-10-14Truhlar And Truhlar Attys NEW29Xuxue Feng
1045Ashley W DoeBrazil2026-10-24Rousseaux, Michael Esq QUALIFIED61Stephen Shaw
1046Aditya Z FollerFrance2026-10-13Dorl, James J Esq RENEWAL39Onyama Limba
1047Wickens I RulapaughAustralia2026-10-11Benton, John B Jr RENEWAL82Stephen Shaw
1048Morrow H KolmetzArgentina2026-09-29Commercial Press NEW52Stephen Shaw
1049Maisha V BriddickGermany2026-10-23Chemel, James L Cpa QUALIFIED49Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Jennifer W FigeroaItalyAnna Fali UNQUALIFIED
Kadeem G ButtArgentinaOnyama Limba PROPOSAL
Chavez Z DilliardBrazilOnyama Limba NEW
Maisha Q InouyeJapanOnyama Limba UNQUALIFIED
Greenwood A SergiIndiaAnna Fali RENEWAL
Mayumi E RutaItalyStephen Shaw QUALIFIED
Morrow P InouyeCanadaXuxue Feng UNQUALIFIED
Adams D FlosiArgentinaIvan Magalhaes NEGOTIATION
Mayumi B RoysterRussiaStephen Shaw NEGOTIATION
Darci P OstroskyArgentinaAnna Fali QUALIFIED
Ashley B CampainItalyXuxue Feng NEW
Leon L GlickArgentinaAmy Elsner QUALIFIED
Stacey J RoysterFranceOnyama Limba RENEWAL
Claire N PaprockiItalyBernardo Dominic RENEWAL
Aruna M GauchoGermanyAnna Fali RENEWAL
James R MacleadBrazilStephen Shaw PROPOSAL
Octavia W PaprockiSpainXuxue Feng NEGOTIATION
Jeanfrancois V DoeItalyIvan Magalhaes QUALIFIED
Ricardo C TollnerItalyAmy Elsner NEW
Ivar V WaycottAustraliaOnyama Limba UNQUALIFIED
Adams N WieserJapanElwin Sharvill UNQUALIFIED
Jeanfrancois Q ButtArgentinaIoni Bowcher RENEWAL
Jefferson C RoysterSpainBernardo Dominic UNQUALIFIED
Murillo W AlbaresArgentinaOnyama Limba NEW
Jeanfrancois J KuskoRussiaAnna Fali RENEWAL
Greenwood D SaylorsIndiaStephen Shaw NEGOTIATION
Juan Y AlbaresFranceAmy Elsner NEW
James K MaletBrazilAsiya Javayant NEW
Kaitlin H ShinkoRussiaXuxue Feng RENEWAL
Misaki L WaycottUnited KingdomBernardo Dominic QUALIFIED
Chavez I PoquetteArgentinaBernardo Dominic PROPOSAL
Darci J WaycottCanadaElwin Sharvill PROPOSAL
Mujtaba C CaudyAustraliaAnna Fali NEGOTIATION
Alejandro Q GlickItalyIoni Bowcher RENEWAL
Ivar K GlickSpainAsiya Javayant NEW
Adams V CaudyJapanStephen Shaw QUALIFIED
Izzy Q SaylorsRussiaIvan Magalhaes QUALIFIED
Jefferson F PerinAustraliaXuxue Feng QUALIFIED
Sinclair X CaudyFranceXuxue Feng NEGOTIATION
Ivar Q DarakjyIndiaStephen Shaw UNQUALIFIED
Aditya H GauchoJapanOnyama Limba RENEWAL
Cody T MorascaIndiaOnyama Limba PROPOSAL
Octavia Y TollnerIndiaElwin Sharvill RENEWAL
Chavez O WieserUnited KingdomAmy Elsner UNQUALIFIED
Isabel I ShinkoSpainBernardo Dominic UNQUALIFIED
Jeanfrancois I RutaAustraliaOnyama Limba UNQUALIFIED
Darci X OldroydSpainIoni Bowcher NEW
Deepesh V GarufiGermanyElwin Sharvill NEW
Adams C TollnerCanadaAnna Fali PROPOSAL
Alejandro N SergiUnited KingdomAmy Elsner RENEWAL
Frozen Columns
Name
Clifford N Bolognia
Greenwood Y Poquette
Deepesh R Schemmer
Ashley I Gillian
Ricardo I Nicka
Octavia W Nestle
Aditya P Tollner
Faith D Gaucho
Morrow D Stockham
Antonio N Inouye
Juan R Caldarera
Izzy M Malet
Julie A Kolmetz
Mayumi K Poquette
Darci U Nicka
Murillo C Poquette
Rodrigues S Poquette
Deepesh F Stenseth
Julie X Royster
Mujtaba A Darakjy
Cody V Caudy
Maisha F Chui
Leja T Oldroyd
Emily A Sergi
Kadeem L Maclead
Julie S Figeroa
Silvio P Stenseth
Smith X Slusarski
Isabel T Inouye
Maria U Malet
Jeanfrancois O Caldarera
Maisha M Dilliard
Silvio I Gillian
Adams A Butt
Jones P Marrier
Ivar B Malet
Greenwood C Caldarera
Cody U Albares
Cody X Gillian
Smith S Nicka
Emily S Rulapaugh
Ricardo G Stenseth
Octavia Y Whobrey
Maisha P Maclead
Johnson T Perin
Claire B Saylors
Alejandro M Schemmer
Octavia U Waycott
Greenwood I Rulapaugh
Ricardo P Shinko
IdCountryDate
1000United Kingdom2026-10-14
1001Brazil2026-09-28
1002India2026-10-05
1003Japan2026-10-11
1004Italy2026-10-18
1005United Kingdom2026-10-22
1006Italy2026-10-25
1007Argentina2026-10-07
1008Brazil2026-10-10
1009Spain2026-10-13
1010India2026-10-05
1011India2026-10-22
1012France2026-10-02
1013Argentina2026-10-13
1014Russia2026-10-18
1015Italy2026-10-19
1016Argentina2026-10-26
1017Australia2026-10-01
1018Argentina2026-10-21
1019Brazil2026-10-03
1020Germany2026-09-28
1021Argentina2026-10-10
1022India2026-10-20
1023Russia2026-10-14
1024Australia2026-10-07
1025Brazil2026-10-13
1026Italy2026-10-19
1027India2026-10-19
1028Germany2026-09-30
1029Australia2026-10-09
1030Australia2026-10-05
1031India2026-10-21
1032Argentina2026-10-07
1033Russia2026-10-07
1034Brazil2026-10-11
1035France2026-10-25
1036France2026-10-12
1037Spain2026-10-07
1038Australia2026-10-14
1039Italy2026-09-30
1040Italy2026-10-13
1041United Kingdom2026-10-23
1042Canada2026-10-09
1043Germany2026-09-29
1044Australia2026-09-27
1045Japan2026-10-06
1046Italy2026-10-09
1047India2026-10-18
1048Italy2026-10-13
1049Japan2026-10-15

On-Demand Data

NameIdCountryDate
Izzy G Shinko1000Canada2026-10-21
Munro E Dilliard1001Japan2026-10-17
Deepesh K Caldarera1002Argentina2026-10-10
Isabel L Flosi1003Argentina2026-10-21
Mayumi W Nestle1004Japan2026-10-08
Ivar T Caldarera1005Italy2026-10-04
Isabel W Gaucho1006Argentina2026-10-10
Johnson Z Bowley1007Germany2026-10-09
Deepesh G Bolognia1008United Kingdom2026-10-14
Murillo M Ostrosky1009France2026-10-18
Jennifer W Bowley1010Brazil2026-10-17
Isabel W Dilliard1011United Kingdom2026-09-27
Maria R Waycott1012Japan2026-10-13
James J Oldroyd1013United Kingdom2026-09-30
Claire T Bowley1014Australia2026-10-26
Tony N Waycott1015Russia2026-10-18
Silvio W Poquette1016France2026-10-22
Faith E Briddick1017Canada2026-10-12
Darci I Nestle1018Japan2026-10-19
Jeanfrancois F Wieser1019France2026-10-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha Z SaylorsBrazilAsiya Javayant PROPOSAL
Johnson Q KolmetzItalyAsiya Javayant NEW
Smith Z MorascaCanadaAmy Elsner UNQUALIFIED
Ricardo T MarrierBrazilAmy Elsner PROPOSAL
Julie P DoeSpainAnna Fali QUALIFIED
Misaki U FigeroaRussiaAsiya Javayant QUALIFIED
Silvio Y GarufiBrazilBernardo Dominic NEW
Octavia H SergiAustraliaBernardo Dominic PROPOSAL
Clifford M PerinArgentinaAnna Fali RENEWAL
Jefferson A KuskoJapanAsiya Javayant NEGOTIATION
Jefferson H StockhamJapanAnna Fali QUALIFIED
Kadeem W IturbideBrazilAnna Fali RENEWAL
Kadeem K VocelkaGermanyBernardo Dominic PROPOSAL
Salvatore T MarrierBrazilAmy Elsner PROPOSAL
Ricardo N MaletCanadaStephen Shaw PROPOSAL
Jones Z StensethAustraliaIoni Bowcher NEW
Adams W RimJapanBernardo Dominic RENEWAL
Izzy F InouyeJapanAsiya Javayant PROPOSAL
Ivar U PaprockiItalyElwin Sharvill NEGOTIATION
Aika V RutaFranceIoni Bowcher NEGOTIATION
Clifford Q RimSpainOnyama Limba NEW
Antonio P VenereUnited KingdomIvan Magalhaes NEGOTIATION
Cody B ChuiCanadaIoni Bowcher RENEWAL
Silvio P AmigonItalyBernardo Dominic QUALIFIED
Juan F RutaRussiaElwin Sharvill NEW
Smith T DoeBrazilStephen Shaw UNQUALIFIED
Isabel M VenereItalyAnna Fali PROPOSAL
Johnson V KolmetzItalyStephen Shaw PROPOSAL
Maria W GauchoCanadaStephen Shaw NEW
James K NickaGermanyBernardo Dominic RENEWAL
Leon O ButtRussiaXuxue Feng RENEWAL
Julie J BowleyFranceAnna Fali QUALIFIED
Maisha K PoquetteItalyOnyama Limba QUALIFIED
Smith F AlbaresUnited KingdomBernardo Dominic NEGOTIATION
Aika C RimBrazilAmy Elsner RENEWAL
Leon W FollerJapanElwin Sharvill NEGOTIATION
Rodrigues O ButtIndiaAnna Fali UNQUALIFIED
Kaitlin D AlbaresUnited KingdomStephen Shaw PROPOSAL
Clifford C DilliardFranceStephen Shaw UNQUALIFIED
Sinclair V RulapaughGermanyStephen 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" frozenColumnsAlignment="left">
            <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>