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
Jones H IturbideArgentinaElwin Sharvill QUALIFIED
Cody Y GlickIndiaOnyama Limba NEW
Kadeem O InouyeCanadaBernardo Dominic PROPOSAL
Maria A ShinkoIndiaAsiya Javayant NEW
Jefferson I VenereJapanAnna Fali NEW
Aika Q MaletIndiaAsiya Javayant NEGOTIATION
Alejandro Y BriddickItalyStephen Shaw RENEWAL
Isabel D CampainIndiaElwin Sharvill RENEWAL
Munro O PaprockiJapanStephen Shaw NEGOTIATION
Maisha X OstroskyUnited KingdomBernardo Dominic QUALIFIED
Silvio O GauchoRussiaXuxue Feng RENEWAL
Johnson I PaprockiRussiaIoni Bowcher PROPOSAL
Aika U MacleadRussiaIoni Bowcher NEGOTIATION
Emily H PerinIndiaAsiya Javayant RENEWAL
Munro A OldroydIndiaAsiya Javayant QUALIFIED
Jefferson Q KuskoIndiaOnyama Limba QUALIFIED
Juan Y RimBrazilIvan Magalhaes NEGOTIATION
Aruna Y StensethGermanyAsiya Javayant QUALIFIED
Rodrigues A KolmetzArgentinaOnyama Limba NEGOTIATION
Alejandro B ChuiIndiaBernardo Dominic UNQUALIFIED
Stacey B GlickBrazilIvan Magalhaes NEGOTIATION
Isabel X WaycottSpainIoni Bowcher PROPOSAL
Jeanfrancois L FlosiUnited KingdomStephen Shaw RENEWAL
Francesco U CampainRussiaAsiya Javayant NEW
Aika W StockhamIndiaXuxue Feng NEW
Chavez Y DoeGermanyAnna Fali NEGOTIATION
Octavia T RimItalyIoni Bowcher UNQUALIFIED
Stacey X MaletGermanyIvan Magalhaes PROPOSAL
Mayumi E SlusarskiRussiaAsiya Javayant RENEWAL
Leon K NestleGermanyStephen Shaw UNQUALIFIED
Maisha X KolmetzItalyAsiya Javayant RENEWAL
Munro V BologniaSpainBernardo Dominic PROPOSAL
Kaitlin K MaletRussiaAsiya Javayant UNQUALIFIED
Greenwood G DilliardFranceOnyama Limba NEGOTIATION
Alejandro R CaldareraUnited KingdomIoni Bowcher UNQUALIFIED
Jennifer F GillianGermanyIvan Magalhaes PROPOSAL
Silvio B DoeRussiaAnna Fali NEGOTIATION
Smith E MacleadCanadaElwin Sharvill PROPOSAL
Juan H MaletUnited KingdomAmy Elsner QUALIFIED
Mujtaba E FerenczSpainAmy Elsner NEGOTIATION
Costa D DarakjyJapanElwin Sharvill NEGOTIATION
Arvin R FigeroaAustraliaXuxue Feng NEGOTIATION
Aika Q BriddickAustraliaIoni Bowcher PROPOSAL
Julie W CaudyIndiaIvan Magalhaes NEW
Francesco I DoeJapanElwin Sharvill QUALIFIED
Francesco W ShinkoIndiaIvan Magalhaes NEW
Kadeem T PoquetteSpainOnyama Limba NEGOTIATION
Jones B MorascaRussiaXuxue Feng PROPOSAL
Faith P MarrierFranceAnna Fali RENEWAL
Leja A OstroskyCanadaXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Nicolas I RoysterJapanBernardo Dominic QUALIFIED
Misaki D StockhamGermanyOnyama Limba PROPOSAL
Leja H InouyeBrazilAsiya Javayant QUALIFIED
Aruna F MorascaArgentinaXuxue Feng QUALIFIED
Misaki M KolmetzGermanyAsiya Javayant PROPOSAL
Leon Q ButtAustraliaOnyama Limba RENEWAL
Aika W RutaIndiaOnyama Limba PROPOSAL
Chavez A ShinkoCanadaElwin Sharvill UNQUALIFIED
Juan B WhobreyItalyAsiya Javayant UNQUALIFIED
James L RimFranceIoni Bowcher PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro Q SergiJapan2026-09-25Rangoni Of Florence RENEWAL77Ivan Magalhaes
1001Jennifer H WaycottUnited Kingdom2026-09-21Chanay, Jeffrey A Esq QUALIFIED16Onyama Limba
1002Emily Y VenereFrance2026-10-09Chanay, Jeffrey A Esq UNQUALIFIED69Ioni Bowcher
1003Chavez T WhobreyArgentina2026-10-02King, Christopher A Esq UNQUALIFIED35Amy Elsner
1004Aika Y GauchoUnited Kingdom2026-10-04Chapman, Ross E Esq UNQUALIFIED38Amy Elsner
1005James Y NickaItaly2026-09-22Dorl, James J Esq PROPOSAL10Onyama Limba
1006Francesco X MarrierSpain2026-10-14Chanay, Jeffrey A Esq RENEWAL75Asiya Javayant
1007Greenwood Q KuskoFrance2026-10-18Chemel, James L Cpa PROPOSAL59Ivan Magalhaes
1008Costa L MorascaRussia2026-09-22Buckley Miller Wright PROPOSAL50Ioni Bowcher
1009Clifford U FigeroaArgentina2026-09-21Chanay, Jeffrey A Esq RENEWAL78Asiya Javayant
1010Izzy Q MorascaIndia2026-09-28Rousseaux, Michael Esq NEGOTIATION62Stephen Shaw
1011Smith W StensethArgentina2026-09-20Benton, John B Jr RENEWAL11Amy Elsner
1012Mujtaba L FlosiFrance2026-10-02Feiner Bros NEW7Xuxue Feng
1013Greenwood D CampainFrance2026-10-02Morlong Associates NEW5Amy Elsner
1014David G WaycottItaly2026-10-02Benton, John B Jr RENEWAL27Ioni Bowcher
1015James S VocelkaAustralia2026-09-24Chapman, Ross E Esq RENEWAL62Bernardo Dominic
1016Jeanfrancois F RoysterBrazil2026-10-12Benton, John B Jr QUALIFIED92Elwin Sharvill
1017Murillo P ChuiBrazil2026-10-15Morlong Associates RENEWAL89Asiya Javayant
1018Rodrigues B InouyeUnited Kingdom2026-09-29Chanay, Jeffrey A Esq NEW69Onyama Limba
1019Silvio R ChuiBrazil2026-10-05Commercial Press UNQUALIFIED11Onyama Limba
1020Misaki N DoeBrazil2026-09-23Chanay, Jeffrey A Esq QUALIFIED62Asiya Javayant
1021Deepesh B GauchoItaly2026-10-12Printing Dimensions NEW99Anna Fali
1022Rodrigues O WieserItaly2026-10-15Printing Dimensions PROPOSAL24Anna Fali
1023Munro T WaycottCanada2026-10-19Dorl, James J Esq UNQUALIFIED22Ivan Magalhaes
1024Costa T WieserJapan2026-09-24Dorl, James J Esq QUALIFIED9Ivan Magalhaes
1025Nicolas T GauchoBrazil2026-09-24Rousseaux, Michael Esq UNQUALIFIED77Anna Fali
1026Sinclair F FerenczJapan2026-10-03Rousseaux, Michael Esq PROPOSAL40Stephen Shaw
1027Jennifer J KolmetzFrance2026-10-18Dorl, James J Esq QUALIFIED29Xuxue Feng
1028Deepesh A MaletIndia2026-10-19Truhlar And Truhlar Attys QUALIFIED86Anna Fali
1029Leon F BriddickRussia2026-09-30Feltz Printing Service UNQUALIFIED65Xuxue Feng
1030Maisha P KolmetzAustralia2026-10-14Chapman, Ross E Esq NEGOTIATION11Asiya Javayant
1031Leja Z FollerCanada2026-09-29Rousseaux, Michael Esq UNQUALIFIED2Asiya Javayant
1032Kadeem J AlbaresJapan2026-10-16Benton, John B Jr RENEWAL60Stephen Shaw
1033Mayumi B RulapaughIndia2026-10-11Chapman, Ross E Esq NEGOTIATION47Elwin Sharvill
1034Francesco Q MaletIndia2026-10-01Feiner Bros NEGOTIATION86Onyama Limba
1035Tony S CaudyAustralia2026-10-05Feiner Bros NEW37Amy Elsner
1036Stacey T FigeroaAustralia2026-09-26King, Christopher A Esq NEGOTIATION41Ioni Bowcher
1037Kadeem M BologniaItaly2026-10-01Chanay, Jeffrey A Esq QUALIFIED97Ivan Magalhaes
1038Octavia L AmigonAustralia2026-10-16Benton, John B Jr UNQUALIFIED91Anna Fali
1039Sinclair X StensethArgentina2026-09-30Dorl, James J Esq PROPOSAL61Anna Fali
1040Isabel T StockhamRussia2026-10-05Morlong Associates PROPOSAL99Asiya Javayant
1041Claire P SchemmerItaly2026-10-12King, Christopher A Esq UNQUALIFIED64Ivan Magalhaes
1042Wickens R MaletBrazil2026-10-11King, Christopher A Esq PROPOSAL49Amy Elsner
1043Maisha F WaycottCanada2026-09-21Chemel, James L Cpa NEGOTIATION47Onyama Limba
1044Faith U VocelkaSpain2026-09-23Dorl, James J Esq NEGOTIATION66Ivan Magalhaes
1045Deepesh H AlbaresIndia2026-10-17Chanay, Jeffrey A Esq UNQUALIFIED84Amy Elsner
1046Jones N GarufiItaly2026-10-11Commercial Press NEGOTIATION3Stephen Shaw
1047Darci R PerinArgentina2026-09-29Feiner Bros QUALIFIED9Onyama Limba
1048Jones R StockhamGermany2026-09-22Chanay, Jeffrey A Esq QUALIFIED97Anna Fali
1049Wickens T BologniaItaly2026-09-25Dorl, James J Esq NEW8Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Adams E DarakjyArgentinaBernardo Dominic UNQUALIFIED
Arvin J GauchoAustraliaIvan Magalhaes RENEWAL
Cody O PoquetteFranceAsiya Javayant NEGOTIATION
Juan A PoquetteArgentinaOnyama Limba QUALIFIED
Munro Q ButtJapanAnna Fali NEGOTIATION
Antonio N NestleGermanyAnna Fali UNQUALIFIED
Isabel E SergiBrazilElwin Sharvill UNQUALIFIED
Leon U AlbaresBrazilElwin Sharvill QUALIFIED
Darci U KuskoFranceIvan Magalhaes NEW
Antonio Z BriddickGermanyElwin Sharvill RENEWAL
Jones L PaprockiRussiaStephen Shaw QUALIFIED
Emily Q AlbaresUnited KingdomAnna Fali PROPOSAL
Arvin E MaletUnited KingdomAnna Fali QUALIFIED
Rodrigues Q VenereGermanyBernardo Dominic UNQUALIFIED
Rodrigues S MorascaGermanyAsiya Javayant UNQUALIFIED
Jennifer E RoysterCanadaBernardo Dominic PROPOSAL
Isabel P RimUnited KingdomAnna Fali PROPOSAL
Jones P SaylorsBrazilStephen Shaw RENEWAL
Tony N DarakjyAustraliaBernardo Dominic PROPOSAL
Leja Z GauchoGermanyBernardo Dominic QUALIFIED
Emily F ButtBrazilStephen Shaw NEGOTIATION
Chavez W VocelkaRussiaXuxue Feng RENEWAL
Aika T AmigonArgentinaAmy Elsner RENEWAL
Johnson V SchemmerBrazilOnyama Limba NEW
Kadeem C MaletSpainAsiya Javayant PROPOSAL
Aika T NestleCanadaIvan Magalhaes NEGOTIATION
Jones A FlosiJapanIvan Magalhaes QUALIFIED
Morrow W NestleRussiaElwin Sharvill PROPOSAL
Emily D NickaCanadaXuxue Feng NEW
Francesco H GarufiFranceBernardo Dominic QUALIFIED
Maisha D NickaArgentinaElwin Sharvill UNQUALIFIED
Maria F GarufiItalyOnyama Limba PROPOSAL
James M SlusarskiAustraliaXuxue Feng NEGOTIATION
Francesco Z RulapaughSpainAmy Elsner NEW
Octavia L CaudyItalyOnyama Limba PROPOSAL
Isabel B NickaSpainOnyama Limba QUALIFIED
Maria P DilliardCanadaAsiya Javayant RENEWAL
Jones G WaycottBrazilAsiya Javayant RENEWAL
Clifford X CampainArgentinaAsiya Javayant NEGOTIATION
James G SchemmerBrazilAsiya Javayant NEGOTIATION
Izzy B DilliardRussiaStephen Shaw PROPOSAL
Claire F ChuiBrazilIoni Bowcher NEW
Murillo O PerinUnited KingdomIoni Bowcher NEW
Rodrigues D WaycottFranceAsiya Javayant NEGOTIATION
Darci B GarufiBrazilAsiya Javayant RENEWAL
Mujtaba N BriddickFranceIvan Magalhaes PROPOSAL
Claire E WhobreyBrazilElwin Sharvill UNQUALIFIED
James W NickaAustraliaIvan Magalhaes QUALIFIED
Deepesh Y RutaBrazilAmy Elsner UNQUALIFIED
Jefferson I StensethJapanOnyama Limba RENEWAL
Frozen Columns
Name
Mujtaba A Butt
Cody Z Schemmer
Mujtaba D Rulapaugh
Aditya O Shinko
Kadeem K Albares
Ashley H Doe
Maisha Q Albares
Leon E Slusarski
Adams V Schemmer
Wickens S Foller
Jefferson R Perin
Izzy G Marrier
Ashley Q Chui
Jefferson T Albares
Mujtaba Z Garufi
Izzy Z Stenseth
James O Stenseth
Wickens Q Ostrosky
Morrow L Albares
Juan Q Butt
Aditya B Marrier
Francesco U Shinko
Jeanfrancois Q Campain
Jones Y Caudy
Jennifer M Darakjy
Cody N Garufi
Arvin X Waycott
Cody S Rulapaugh
Nicolas U Inouye
Stacey D Glick
Clifford Y Stenseth
Izzy X Bowley
Octavia I Waycott
Ivar X Perin
Nicolas H Caldarera
Faith N Venere
Aditya D Briddick
David K Amigon
Cody D Caudy
Morrow I Doe
Aika R Stenseth
David O Slusarski
Jefferson A Nicka
Kadeem Q Whobrey
Cody A Nicka
Jeanfrancois B Wieser
Clifford A Perin
Leon J Malet
Izzy C Gillian
Sinclair A Malet
IdCountryDate
1000Japan2026-09-20
1001Japan2026-09-24
1002Japan2026-10-07
1003France2026-09-28
1004Australia2026-09-26
1005Russia2026-09-24
1006Italy2026-10-13
1007Canada2026-10-13
1008Italy2026-10-19
1009Brazil2026-10-13
1010Spain2026-09-26
1011Russia2026-10-10
1012France2026-09-24
1013Germany2026-10-08
1014France2026-10-10
1015Spain2026-09-24
1016Germany2026-09-20
1017United Kingdom2026-09-28
1018Japan2026-10-19
1019Russia2026-10-12
1020Canada2026-10-15
1021United Kingdom2026-10-15
1022Spain2026-09-25
1023Italy2026-10-13
1024Russia2026-10-14
1025Italy2026-09-24
1026Canada2026-09-26
1027Australia2026-10-15
1028Spain2026-10-19
1029Argentina2026-10-16
1030Japan2026-10-13
1031Spain2026-09-29
1032Argentina2026-10-14
1033Italy2026-09-26
1034Japan2026-10-16
1035Argentina2026-09-26
1036United Kingdom2026-09-28
1037Spain2026-10-04
1038India2026-09-22
1039United Kingdom2026-09-27
1040Russia2026-09-30
1041Australia2026-10-17
1042United Kingdom2026-09-29
1043Germany2026-10-16
1044India2026-10-17
1045India2026-09-20
1046Argentina2026-10-04
1047India2026-10-19
1048Germany2026-09-23
1049Argentina2026-10-11

On-Demand Data

NameIdCountryDate
Murillo C Paprocki1000Japan2026-10-06
Arvin P Amigon1001Spain2026-10-19
Leon L Paprocki1002Australia2026-10-16
Rodrigues T Bolognia1003France2026-10-04
Leon D Maclead1004Italy2026-09-21
Wickens K Poquette1005Spain2026-09-30
Jeanfrancois B Kolmetz1006India2026-10-10
Aika A Campain1007India2026-09-20
Alejandro F Shinko1008Canada2026-09-26
Nicolas C Whobrey1009India2026-09-20
Leja C Wieser1010Argentina2026-09-29
Costa B Chui1011Italy2026-10-17
Jefferson W Dilliard1012India2026-10-11
Misaki R Darakjy1013Japan2026-10-07
Jefferson K Sergi1014Australia2026-09-23
Kaitlin Z Amigon1015Italy2026-10-08
Cody D Stenseth1016Germany2026-10-03
Adams J Bowley1017Japan2026-10-19
Faith A Glick1018Brazil2026-10-11
Izzy I Stockham1019Germany2026-09-26
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha L RoysterSpainBernardo Dominic RENEWAL
Ivar E NestleRussiaIoni Bowcher NEGOTIATION
Alejandro Y BriddickAustraliaIoni Bowcher RENEWAL
Kadeem I TollnerIndiaAmy Elsner NEW
Costa U KolmetzIndiaOnyama Limba QUALIFIED
Octavia X BowleyIndiaBernardo Dominic QUALIFIED
Costa O CampainArgentinaBernardo Dominic QUALIFIED
Izzy W MaletJapanElwin Sharvill RENEWAL
Izzy K BowleyIndiaAmy Elsner NEW
Jeanfrancois E NickaGermanyBernardo Dominic NEW
Costa T ShinkoArgentinaAnna Fali PROPOSAL
Jones K CaudyGermanyAmy Elsner NEW
Ricardo P BriddickJapanIvan Magalhaes NEGOTIATION
Munro S RoysterRussiaBernardo Dominic QUALIFIED
Juan L MacleadFranceAsiya Javayant NEW
Cody Z CaudyArgentinaAnna Fali PROPOSAL
Salvatore C WaycottItalyAmy Elsner NEGOTIATION
Aika N KolmetzUnited KingdomIvan Magalhaes QUALIFIED
Deepesh Z PoquetteItalyOnyama Limba UNQUALIFIED
Deepesh O PoquetteUnited KingdomStephen Shaw NEGOTIATION
James Y MacleadRussiaXuxue Feng UNQUALIFIED
Deepesh A FigeroaFranceIoni Bowcher RENEWAL
Mujtaba K TollnerUnited KingdomBernardo Dominic NEW
Greenwood M TollnerIndiaIvan Magalhaes QUALIFIED
Darci Z BriddickItalyXuxue Feng PROPOSAL
Maisha P KuskoGermanyAsiya Javayant NEGOTIATION
Izzy B SchemmerFranceOnyama Limba UNQUALIFIED
Antonio S KolmetzBrazilAsiya Javayant RENEWAL
Mujtaba Y DilliardAustraliaOnyama Limba QUALIFIED
Faith S OldroydArgentinaBernardo Dominic NEW
Alejandro B OldroydGermanyIvan Magalhaes PROPOSAL
Sinclair A OldroydIndiaAsiya Javayant UNQUALIFIED
Smith Z BriddickJapanOnyama Limba UNQUALIFIED
Maisha L GillianArgentinaBernardo Dominic NEGOTIATION
Mayumi F NickaItalyElwin Sharvill RENEWAL
Claire A SergiBrazilAmy Elsner NEGOTIATION
Johnson L BriddickItalyAmy Elsner NEW
David Y ShinkoItalyElwin Sharvill UNQUALIFIED
Wickens C BologniaSpainOnyama Limba RENEWAL
Octavia O VocelkaCanadaElwin Sharvill 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>