Summer Sale is here 🏖️ Get 50% off with code PRSM25 Learn More

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
Francesco U NestleArgentinaOnyama Limba PROPOSAL
Salvatore G MaletJapanAnna Fali UNQUALIFIED
Johnson B WieserIndiaXuxue Feng RENEWAL
Mayumi E AmigonBrazilElwin Sharvill QUALIFIED
Arvin R FollerGermanyXuxue Feng UNQUALIFIED
Munro I StockhamUnited KingdomXuxue Feng NEW
Aika I PaprockiCanadaStephen Shaw PROPOSAL
Aika N WieserGermanyStephen Shaw PROPOSAL
Morrow S TollnerRussiaAmy Elsner NEGOTIATION
Costa K StockhamFranceOnyama Limba UNQUALIFIED
Wickens H VenereUnited KingdomIoni Bowcher NEGOTIATION
Sinclair G InouyeArgentinaIoni Bowcher PROPOSAL
Kaitlin I IturbideJapanBernardo Dominic PROPOSAL
Rodrigues F MarrierGermanyBernardo Dominic NEW
Jefferson M BriddickItalyAnna Fali NEGOTIATION
Maisha D GlickUnited KingdomIoni Bowcher RENEWAL
James J MaletIndiaIvan Magalhaes RENEWAL
Maria Y BriddickGermanyElwin Sharvill UNQUALIFIED
Greenwood F OstroskyCanadaAmy Elsner RENEWAL
Adams O RimCanadaElwin Sharvill PROPOSAL
Ashley M SergiJapanIvan Magalhaes RENEWAL
Chavez G DilliardGermanyBernardo Dominic PROPOSAL
Aditya J IturbideSpainAnna Fali UNQUALIFIED
Ivar I StockhamFranceXuxue Feng NEW
Maria M WieserBrazilElwin Sharvill RENEWAL
Izzy H CampainUnited KingdomBernardo Dominic NEW
Faith O DoeSpainOnyama Limba NEGOTIATION
Faith T SlusarskiItalyAmy Elsner NEGOTIATION
Kadeem D WieserAustraliaAsiya Javayant QUALIFIED
James E AlbaresCanadaBernardo Dominic QUALIFIED
Tony O RimFranceElwin Sharvill PROPOSAL
Claire S TollnerIndiaIvan Magalhaes PROPOSAL
Deepesh R FollerItalyOnyama Limba QUALIFIED
Nicolas F SchemmerAustraliaStephen Shaw NEGOTIATION
Salvatore K DarakjyItalyIoni Bowcher NEW
Murillo E FigeroaCanadaXuxue Feng UNQUALIFIED
Faith H DilliardJapanAsiya Javayant NEGOTIATION
Adams X SlusarskiItalyIoni Bowcher UNQUALIFIED
Juan U PaprockiAustraliaStephen Shaw UNQUALIFIED
David O SlusarskiSpainElwin Sharvill RENEWAL
Misaki E GlickSpainIvan Magalhaes NEGOTIATION
Chavez S MaletRussiaXuxue Feng PROPOSAL
Aika Z PoquetteAustraliaIoni Bowcher RENEWAL
Silvio Y VenereFranceBernardo Dominic QUALIFIED
Maria T SlusarskiCanadaBernardo Dominic NEW
Greenwood R OstroskyArgentinaOnyama Limba NEW
Leon C NickaIndiaElwin Sharvill UNQUALIFIED
Greenwood B FlosiJapanElwin Sharvill PROPOSAL
Kadeem N SergiFranceIvan Magalhaes NEGOTIATION
Arvin O PaprockiCanadaStephen Shaw UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
David G PaprockiAustraliaAmy Elsner UNQUALIFIED
Izzy O PerinSpainOnyama Limba NEGOTIATION
Ricardo O SergiSpainXuxue Feng NEGOTIATION
Aditya A RoysterFranceOnyama Limba NEW
Claire M WieserCanadaStephen Shaw NEW
Misaki W StensethSpainBernardo Dominic PROPOSAL
Clifford A WaycottItalyAsiya Javayant NEW
Alejandro J GarufiFranceAnna Fali QUALIFIED
Salvatore F MarrierFranceIvan Magalhaes QUALIFIED
Nicolas C GlickGermanyOnyama Limba UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily C DilliardJapan2025-07-25Commercial Press NEW57Onyama Limba
1001Octavia M MaletSpain2025-08-05Truhlar And Truhlar Attys UNQUALIFIED54Stephen Shaw
1002Deepesh W SlusarskiIndia2025-07-30Rangoni Of Florence NEW17Ioni Bowcher
1003Ivar N FigeroaGermany2025-07-22Benton, John B Jr QUALIFIED74Anna Fali
1004Morrow F WaycottBrazil2025-07-18King, Christopher A Esq PROPOSAL97Anna Fali
1005Francesco W InouyeBrazil2025-08-06Feltz Printing Service QUALIFIED38Anna Fali
1006Jeanfrancois G AlbaresIndia2025-07-23Printing Dimensions QUALIFIED70Ivan Magalhaes
1007Costa A CaldareraGermany2025-07-25Printing Dimensions UNQUALIFIED32Anna Fali
1008Deepesh M BologniaIndia2025-07-26Printing Dimensions RENEWAL32Elwin Sharvill
1009Munro B SergiGermany2025-07-21Chemel, James L Cpa RENEWAL80Onyama Limba
1010Jennifer D FigeroaCanada2025-07-21Feiner Bros UNQUALIFIED34Ioni Bowcher
1011Darci K SaylorsRussia2025-07-19Rousseaux, Michael Esq UNQUALIFIED25Anna Fali
1012Aruna V PerinJapan2025-07-17Benton, John B Jr QUALIFIED83Bernardo Dominic
1013Murillo P DilliardFrance2025-08-01Feiner Bros NEW10Stephen Shaw
1014Maisha T AmigonBrazil2025-08-13Feiner Bros NEW49Stephen Shaw
1015Maria W RulapaughAustralia2025-07-29Chapman, Ross E Esq PROPOSAL46Xuxue Feng
1016Ivar A BologniaBrazil2025-07-17Benton, John B Jr QUALIFIED86Stephen Shaw
1017Jefferson S BologniaUnited Kingdom2025-07-24Chanay, Jeffrey A Esq NEW27Ivan Magalhaes
1018Aditya X OldroydRussia2025-07-30Chanay, Jeffrey A Esq PROPOSAL93Asiya Javayant
1019Morrow F BriddickAustralia2025-08-08Dorl, James J Esq PROPOSAL53Anna Fali
1020Maria W GillianAustralia2025-08-09Feiner Bros RENEWAL86Ioni Bowcher
1021Francesco A PoquetteItaly2025-08-09Rousseaux, Michael Esq RENEWAL89Asiya Javayant
1022Darci P SergiCanada2025-07-24Commercial Press UNQUALIFIED80Onyama Limba
1023Munro D RoysterJapan2025-07-22Benton, John B Jr RENEWAL90Asiya Javayant
1024Izzy Y MaletGermany2025-08-03Chapman, Ross E Esq NEGOTIATION93Anna Fali
1025Arvin T NickaItaly2025-08-04King, Christopher A Esq UNQUALIFIED44Xuxue Feng
1026James Q CaudyBrazil2025-08-12Feltz Printing Service NEW64Anna Fali
1027Jeanfrancois Y VenereGermany2025-07-22Commercial Press PROPOSAL59Onyama Limba
1028Francesco T DilliardSpain2025-07-18Feltz Printing Service PROPOSAL93Anna Fali
1029Tony O SaylorsItaly2025-07-18Chapman, Ross E Esq NEGOTIATION72Bernardo Dominic
1030Alejandro X MaletArgentina2025-08-10Rangoni Of Florence NEW57Xuxue Feng
1031Wickens Q KuskoCanada2025-07-21Chapman, Ross E Esq NEGOTIATION59Xuxue Feng
1032Aruna A GauchoJapan2025-08-01Feiner Bros RENEWAL81Stephen Shaw
1033Maria H KolmetzFrance2025-07-24Benton, John B Jr QUALIFIED3Ivan Magalhaes
1034Salvatore Y FlosiIndia2025-08-02Chemel, James L Cpa UNQUALIFIED29Onyama Limba
1035Jones X DarakjyRussia2025-08-01Feltz Printing Service RENEWAL23Stephen Shaw
1036Julie K ButtItaly2025-07-24Morlong Associates NEW20Ivan Magalhaes
1037Darci L GlickSpain2025-07-27Chemel, James L Cpa PROPOSAL31Amy Elsner
1038Adams B CaldareraGermany2025-07-26Chapman, Ross E Esq PROPOSAL32Xuxue Feng
1039Aruna T AlbaresRussia2025-08-10King, Christopher A Esq QUALIFIED86Ivan Magalhaes
1040Alejandro Q RutaJapan2025-07-15Rangoni Of Florence UNQUALIFIED73Ivan Magalhaes
1041Darci W KolmetzUnited Kingdom2025-08-01Feltz Printing Service NEGOTIATION87Anna Fali
1042Ricardo X FollerSpain2025-07-23King, Christopher A Esq RENEWAL66Bernardo Dominic
1043David I TollnerGermany2025-08-06Commercial Press QUALIFIED73Asiya Javayant
1044Juan R AmigonCanada2025-07-18Chemel, James L Cpa UNQUALIFIED33Ivan Magalhaes
1045Mujtaba M CampainUnited Kingdom2025-08-11Rangoni Of Florence PROPOSAL99Elwin Sharvill
1046Silvio H OldroydSpain2025-08-13Truhlar And Truhlar Attys PROPOSAL20Stephen Shaw
1047James H PaprockiIndia2025-08-12Feltz Printing Service RENEWAL78Asiya Javayant
1048Cody X FollerJapan2025-08-03Chanay, Jeffrey A Esq RENEWAL12Amy Elsner
1049Smith B RoysterBrazil2025-07-15Chapman, Ross E Esq RENEWAL69Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Cody N KuskoJapanXuxue Feng UNQUALIFIED
Aruna U PaprockiIndiaBernardo Dominic PROPOSAL
Stacey Z CampainIndiaAsiya Javayant QUALIFIED
Clifford V VenereBrazilAmy Elsner NEGOTIATION
Aruna H GillianRussiaStephen Shaw PROPOSAL
Murillo F BologniaCanadaIvan Magalhaes RENEWAL
Misaki U SergiBrazilStephen Shaw QUALIFIED
Mayumi P MaletAustraliaIvan Magalhaes UNQUALIFIED
Munro P PerinIndiaAnna Fali UNQUALIFIED
Jeanfrancois D CaudyUnited KingdomAmy Elsner RENEWAL
Octavia G SchemmerSpainStephen Shaw UNQUALIFIED
Jennifer R FerenczAustraliaIvan Magalhaes QUALIFIED
Isabel C ShinkoUnited KingdomXuxue Feng QUALIFIED
Antonio V WieserUnited KingdomAsiya Javayant UNQUALIFIED
Jefferson C MaletSpainXuxue Feng QUALIFIED
Clifford U VocelkaSpainStephen Shaw NEW
Morrow Q RimGermanyOnyama Limba UNQUALIFIED
Stacey S FollerFranceIvan Magalhaes RENEWAL
Aruna P GlickIndiaElwin Sharvill PROPOSAL
Clifford G ShinkoGermanyOnyama Limba NEGOTIATION
Mujtaba S DilliardFranceIoni Bowcher PROPOSAL
Mayumi X DoeArgentinaXuxue Feng PROPOSAL
Jeanfrancois T SergiSpainStephen Shaw NEGOTIATION
Aruna R WhobreySpainAsiya Javayant NEW
Isabel E MacleadSpainOnyama Limba NEW
Greenwood R WaycottArgentinaIvan Magalhaes NEGOTIATION
Kadeem T SchemmerSpainElwin Sharvill RENEWAL
Wickens I SlusarskiArgentinaBernardo Dominic PROPOSAL
Francesco K AmigonUnited KingdomAsiya Javayant UNQUALIFIED
Leja G TollnerSpainStephen Shaw NEGOTIATION
Murillo X DilliardGermanyIvan Magalhaes NEW
Isabel D RoysterJapanBernardo Dominic PROPOSAL
Jeanfrancois S PerinUnited KingdomIoni Bowcher UNQUALIFIED
Alejandro F RoysterJapanIvan Magalhaes QUALIFIED
Francesco F InouyeSpainStephen Shaw UNQUALIFIED
Deepesh P StensethCanadaIoni Bowcher NEGOTIATION
Maria A SlusarskiAustraliaElwin Sharvill UNQUALIFIED
Rodrigues H BriddickArgentinaOnyama Limba PROPOSAL
Munro D ChuiArgentinaOnyama Limba QUALIFIED
Maisha C SchemmerArgentinaXuxue Feng RENEWAL
Alejandro J SchemmerJapanAmy Elsner NEGOTIATION
Deepesh C NickaFranceIoni Bowcher UNQUALIFIED
Adams N MarrierSpainXuxue Feng NEGOTIATION
Antonio W BriddickItalyAnna Fali RENEWAL
Smith G RimArgentinaIvan Magalhaes PROPOSAL
Jefferson O CaudySpainElwin Sharvill QUALIFIED
Julie A OstroskyRussiaElwin Sharvill NEW
Isabel H GarufiAustraliaElwin Sharvill UNQUALIFIED
Jones G MaletItalyAmy Elsner UNQUALIFIED
Smith C NickaArgentinaXuxue Feng UNQUALIFIED
Frozen Columns
Name
Jennifer A Rulapaugh
Arvin T Schemmer
Izzy U Garufi
Jeanfrancois R Nestle
David N Gaucho
James O Iturbide
Juan S Wieser
Smith S Rim
Emily Z Kusko
Emily B Malet
Leja E Vocelka
Adams P Inouye
Alejandro J Caldarera
Izzy V Wieser
Clifford L Figeroa
Octavia W Dilliard
Deepesh K Marrier
Jeanfrancois O Chui
Ricardo C Royster
James K Schemmer
Izzy V Morasca
Jeanfrancois X Briddick
Aika B Chui
Leon B Doe
Morrow D Wieser
Johnson C Kolmetz
Kaitlin H Poquette
Jeanfrancois M Darakjy
Clifford U Bowley
David Q Bowley
Maria I Oldroyd
Maisha R Whobrey
Aika M Paprocki
Aika V Slusarski
Costa C Gillian
Francesco K Dilliard
Kaitlin T Wieser
Morrow D Nestle
Smith Z Ostrosky
Munro H Caldarera
Salvatore U Paprocki
Chavez T Albares
Misaki J Ruta
Jeanfrancois N Whobrey
Misaki X Figeroa
Leon K Waycott
Kaitlin I Slusarski
Claire Z Oldroyd
Deepesh W Bowley
Morrow J Rim
IdCountryDate
1000Japan2025-07-22
1001Spain2025-08-08
1002Brazil2025-07-22
1003Spain2025-07-16
1004United Kingdom2025-07-23
1005Germany2025-07-19
1006India2025-07-17
1007Spain2025-07-29
1008Spain2025-08-11
1009India2025-08-06
1010Japan2025-07-23
1011Argentina2025-07-31
1012Spain2025-07-23
1013Russia2025-07-29
1014Spain2025-07-16
1015Spain2025-07-21
1016United Kingdom2025-08-11
1017Italy2025-08-04
1018France2025-07-25
1019Italy2025-07-19
1020Canada2025-07-24
1021Argentina2025-08-05
1022Italy2025-07-22
1023Germany2025-07-25
1024Spain2025-07-27
1025India2025-08-04
1026Argentina2025-07-21
1027Argentina2025-08-06
1028United Kingdom2025-08-06
1029France2025-08-11
1030Japan2025-07-27
1031Italy2025-08-12
1032Australia2025-08-07
1033Spain2025-08-03
1034India2025-07-24
1035India2025-08-08
1036Japan2025-07-21
1037Germany2025-08-07
1038Russia2025-07-15
1039Germany2025-08-08
1040Germany2025-08-03
1041Spain2025-08-06
1042Russia2025-07-23
1043Argentina2025-08-02
1044Russia2025-07-29
1045Spain2025-08-09
1046France2025-08-08
1047Italy2025-08-13
1048France2025-07-21
1049France2025-07-27

On-Demand Data

NameIdCountryDate
Chavez E Gillian1000Russia2025-08-02
Francesco G Kusko1001Japan2025-08-10
Darci M Sergi1002Japan2025-08-04
Emily H Iturbide1003Germany2025-08-04
Tony U Albares1004India2025-08-06
Maisha K Briddick1005Argentina2025-07-20
Darci G Bowley1006Italy2025-07-30
Sinclair D Wieser1007Japan2025-08-11
James F Whobrey1008Argentina2025-07-21
Wickens P Poquette1009Brazil2025-08-08
Arvin Y Tollner1010Argentina2025-07-20
Clifford C Poquette1011Japan2025-08-04
Faith F Royster1012Spain2025-07-21
Jefferson U Ferencz1013Spain2025-08-10
Munro S Kolmetz1014Italy2025-07-26
Morrow T Stockham1015Brazil2025-07-26
Alejandro H Briddick1016Spain2025-07-29
Stacey C Shinko1017France2025-08-03
Deepesh X Inouye1018United Kingdom2025-08-07
Cody D Schemmer1019Germany2025-08-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika N MaletAustraliaAsiya Javayant NEGOTIATION
Mayumi Z GarufiItalyAmy Elsner UNQUALIFIED
Morrow S InouyeItalyStephen Shaw UNQUALIFIED
Izzy I TollnerUnited KingdomAnna Fali NEGOTIATION
Jones Q RoysterBrazilXuxue Feng QUALIFIED
Deepesh D BowleyUnited KingdomIvan Magalhaes PROPOSAL
Jones Z TollnerUnited KingdomStephen Shaw QUALIFIED
Jeanfrancois G PoquetteGermanyIvan Magalhaes PROPOSAL
Leon S SergiRussiaIvan Magalhaes UNQUALIFIED
Costa X RutaCanadaStephen Shaw NEGOTIATION
Leja V FollerUnited KingdomAnna Fali UNQUALIFIED
Wickens L MacleadFranceBernardo Dominic QUALIFIED
Emily S DarakjyArgentinaOnyama Limba NEGOTIATION
Faith X KolmetzGermanyOnyama Limba UNQUALIFIED
Maria R MorascaArgentinaXuxue Feng UNQUALIFIED
Mayumi Q VocelkaArgentinaAnna Fali NEW
Octavia H FollerCanadaElwin Sharvill RENEWAL
Wickens O RutaIndiaAsiya Javayant PROPOSAL
Johnson U WaycottArgentinaAsiya Javayant NEGOTIATION
Mujtaba K GillianRussiaAsiya Javayant UNQUALIFIED
Clifford T KolmetzAustraliaAmy Elsner NEGOTIATION
Jones K WaycottItalyAnna Fali PROPOSAL
Jeanfrancois M FigeroaJapanElwin Sharvill QUALIFIED
Isabel K AmigonGermanyOnyama Limba UNQUALIFIED
Mujtaba E FigeroaGermanyIoni Bowcher NEGOTIATION
Adams G WhobreyFranceAmy Elsner RENEWAL
Maria Z NickaUnited KingdomXuxue Feng UNQUALIFIED
Wickens M StockhamGermanyOnyama Limba PROPOSAL
Johnson X RutaArgentinaOnyama Limba UNQUALIFIED
Smith K MorascaCanadaBernardo Dominic NEW
Murillo J BowleyFranceAnna Fali QUALIFIED
Greenwood T TollnerCanadaIvan Magalhaes UNQUALIFIED
Nicolas K BowleyItalyAsiya Javayant NEW
Julie T MaletBrazilOnyama Limba PROPOSAL
Maria I VenereJapanAnna Fali NEW
Sinclair K CaldareraAustraliaIvan Magalhaes RENEWAL
Francesco C BriddickUnited KingdomBernardo Dominic PROPOSAL
Mujtaba Z FerenczSpainIoni Bowcher RENEWAL
Leja V FigeroaRussiaXuxue Feng QUALIFIED
Antonio B MarrierSpainAnna Fali QUALIFIED

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