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
Morrow H ShinkoFranceIvan Magalhaes QUALIFIED
Nicolas Y FigeroaItalyAnna Fali NEW
Arvin E GillianJapanStephen Shaw QUALIFIED
Leon T ChuiFranceXuxue Feng RENEWAL
Darci X FollerCanadaXuxue Feng PROPOSAL
Darci G StensethArgentinaIvan Magalhaes UNQUALIFIED
Morrow W RutaUnited KingdomAnna Fali QUALIFIED
Morrow V CaudyFranceXuxue Feng NEW
Arvin Q CaudyAustraliaIvan Magalhaes QUALIFIED
Maria Q CaldareraItalyOnyama Limba RENEWAL
Wickens V FigeroaRussiaIoni Bowcher QUALIFIED
Morrow L StensethIndiaAnna Fali NEW
Isabel E DarakjyUnited KingdomOnyama Limba RENEWAL
Adams U FollerItalyAsiya Javayant QUALIFIED
Leja R PerinGermanyAsiya Javayant UNQUALIFIED
Johnson T FigeroaGermanyIvan Magalhaes RENEWAL
Murillo P DilliardAustraliaIvan Magalhaes NEW
Francesco S SaylorsFranceElwin Sharvill NEGOTIATION
Antonio I ChuiCanadaAnna Fali PROPOSAL
Silvio C VocelkaSpainStephen Shaw NEGOTIATION
Alejandro D FigeroaIndiaStephen Shaw QUALIFIED
Darci J InouyeIndiaOnyama Limba NEGOTIATION
Jefferson L GauchoIndiaAsiya Javayant PROPOSAL
Ashley B RulapaughUnited KingdomElwin Sharvill QUALIFIED
Jones D FerenczSpainOnyama Limba UNQUALIFIED
Silvio G RoysterRussiaAsiya Javayant NEGOTIATION
Murillo U FerenczAustraliaAmy Elsner NEW
Deepesh U GauchoAustraliaAnna Fali NEW
Cody I PoquetteFranceOnyama Limba PROPOSAL
Leja I ShinkoCanadaStephen Shaw UNQUALIFIED
Ivar I BowleyGermanyIvan Magalhaes NEGOTIATION
Ashley K GarufiRussiaAmy Elsner NEGOTIATION
Jones L GarufiUnited KingdomBernardo Dominic NEGOTIATION
Maria I ButtCanadaElwin Sharvill NEGOTIATION
Juan B AlbaresIndiaAmy Elsner NEW
Rodrigues M KuskoFranceIvan Magalhaes QUALIFIED
Aika O RutaRussiaElwin Sharvill QUALIFIED
Nicolas I RimIndiaXuxue Feng QUALIFIED
Leon Q MarrierJapanOnyama Limba NEGOTIATION
Faith E VenereArgentinaOnyama Limba PROPOSAL
Smith Z DarakjyGermanyAmy Elsner NEW
Jefferson R KolmetzAustraliaAsiya Javayant NEW
Aditya Q RimAustraliaBernardo Dominic QUALIFIED
Sinclair H ChuiBrazilAnna Fali NEGOTIATION
Stacey M RutaIndiaAsiya Javayant UNQUALIFIED
Silvio N WaycottJapanOnyama Limba UNQUALIFIED
Jefferson S StensethItalyAnna Fali UNQUALIFIED
Chavez S MorascaFranceXuxue Feng PROPOSAL
Kaitlin T RutaArgentinaXuxue Feng UNQUALIFIED
Aditya W CampainIndiaBernardo Dominic UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Kadeem V AlbaresUnited KingdomElwin Sharvill UNQUALIFIED
Silvio Z SchemmerItalyAmy Elsner NEGOTIATION
Deepesh W MarrierAustraliaXuxue Feng PROPOSAL
Leon K FerenczSpainAnna Fali NEGOTIATION
Kadeem C IturbideFranceBernardo Dominic UNQUALIFIED
Juan J InouyeBrazilAmy Elsner RENEWAL
Jennifer S StensethArgentinaXuxue Feng RENEWAL
Maisha W SchemmerUnited KingdomOnyama Limba QUALIFIED
Rodrigues C PerinItalyXuxue Feng QUALIFIED
Claire I MorascaRussiaXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika G FlosiItaly2025-09-21Chapman, Ross E Esq QUALIFIED29Xuxue Feng
1001Maria T GarufiItaly2025-10-09Morlong Associates QUALIFIED5Ioni Bowcher
1002Tony A DilliardUnited Kingdom2025-09-23Dorl, James J Esq PROPOSAL56Ioni Bowcher
1003Adams A FerenczRussia2025-10-08Printing Dimensions RENEWAL86Ivan Magalhaes
1004Greenwood Y MacleadJapan2025-09-26Morlong Associates PROPOSAL48Ivan Magalhaes
1005Mujtaba J PoquetteFrance2025-10-08Chemel, James L Cpa QUALIFIED4Ivan Magalhaes
1006Jeanfrancois V IturbideJapan2025-10-04Chanay, Jeffrey A Esq QUALIFIED47Amy Elsner
1007Juan O SchemmerArgentina2025-10-05Printing Dimensions UNQUALIFIED48Stephen Shaw
1008Claire L NestleArgentina2025-09-21Truhlar And Truhlar Attys NEGOTIATION15Asiya Javayant
1009Silvio C OstroskyRussia2025-10-09Feltz Printing Service NEGOTIATION32Anna Fali
1010Aika U ButtArgentina2025-10-03Benton, John B Jr NEGOTIATION71Asiya Javayant
1011Greenwood L BologniaGermany2025-09-24Feiner Bros NEW44Elwin Sharvill
1012Francesco F DoeIndia2025-09-28Dorl, James J Esq PROPOSAL70Bernardo Dominic
1013Francesco B RulapaughGermany2025-10-06Chapman, Ross E Esq QUALIFIED86Stephen Shaw
1014Tony I TollnerArgentina2025-10-10Commercial Press NEGOTIATION66Anna Fali
1015Ashley K CaldareraJapan2025-10-05Chanay, Jeffrey A Esq PROPOSAL22Amy Elsner
1016Smith W CaldareraFrance2025-10-09Feiner Bros NEW46Amy Elsner
1017Jones H PoquetteItaly2025-10-05King, Christopher A Esq RENEWAL94Bernardo Dominic
1018Costa N WaycottAustralia2025-10-02King, Christopher A Esq RENEWAL31Bernardo Dominic
1019Faith G GarufiSpain2025-09-26Feiner Bros UNQUALIFIED3Ivan Magalhaes
1020Salvatore B BriddickUnited Kingdom2025-10-14Chapman, Ross E Esq NEGOTIATION16Asiya Javayant
1021Adams U WhobreyArgentina2025-09-29Morlong Associates QUALIFIED16Xuxue Feng
1022Munro J WaycottItaly2025-10-04Rangoni Of Florence NEW35Onyama Limba
1023Darci B CaudyRussia2025-09-27Feiner Bros RENEWAL11Ioni Bowcher
1024Costa O ButtAustralia2025-10-14Chapman, Ross E Esq NEW93Ioni Bowcher
1025Misaki S WaycottCanada2025-10-15Morlong Associates QUALIFIED1Asiya Javayant
1026Julie L GlickJapan2025-10-15Buckley Miller Wright QUALIFIED66Stephen Shaw
1027Ivar D AlbaresItaly2025-09-30Chapman, Ross E Esq QUALIFIED78Ivan Magalhaes
1028Maria F FlosiItaly2025-09-23Rangoni Of Florence PROPOSAL50Ioni Bowcher
1029Tony L RimGermany2025-10-06Buckley Miller Wright QUALIFIED70Elwin Sharvill
1030Claire J SlusarskiJapan2025-09-28Benton, John B Jr RENEWAL83Xuxue Feng
1031Maria L DoeGermany2025-10-04Feiner Bros NEGOTIATION34Elwin Sharvill
1032Antonio Z VocelkaJapan2025-09-26Commercial Press UNQUALIFIED71Anna Fali
1033Antonio L OstroskyArgentina2025-10-17Feiner Bros NEW12Asiya Javayant
1034Misaki L TollnerRussia2025-09-22Chemel, James L Cpa RENEWAL36Bernardo Dominic
1035Maisha P SaylorsAustralia2025-10-12Buckley Miller Wright UNQUALIFIED32Asiya Javayant
1036Nicolas I DilliardArgentina2025-10-07Feltz Printing Service PROPOSAL91Anna Fali
1037Wickens P OstroskyIndia2025-10-03Morlong Associates NEGOTIATION21Stephen Shaw
1038Nicolas L TollnerAustralia2025-09-24Commercial Press QUALIFIED77Xuxue Feng
1039Kadeem S MarrierUnited Kingdom2025-10-14Printing Dimensions NEW79Amy Elsner
1040Izzy B RoysterIndia2025-10-17Truhlar And Truhlar Attys PROPOSAL29Elwin Sharvill
1041Sinclair H InouyeBrazil2025-09-26King, Christopher A Esq UNQUALIFIED9Onyama Limba
1042Izzy W PoquetteCanada2025-09-21Buckley Miller Wright NEW29Stephen Shaw
1043Chavez E SlusarskiJapan2025-10-01Printing Dimensions RENEWAL78Xuxue Feng
1044Arvin R VocelkaIndia2025-10-05Truhlar And Truhlar Attys NEW59Amy Elsner
1045Darci B ShinkoItaly2025-10-05Rangoni Of Florence NEW50Elwin Sharvill
1046Emily X BologniaItaly2025-10-12Morlong Associates NEW8Ioni Bowcher
1047Leon S NickaCanada2025-10-03Feltz Printing Service QUALIFIED9Amy Elsner
1048Ashley J VocelkaRussia2025-10-02Feltz Printing Service NEW9Xuxue Feng
1049Adams Q PaprockiJapan2025-10-14Chanay, Jeffrey A Esq NEW94Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Darci T PerinGermanyIoni Bowcher PROPOSAL
Jennifer X DoeJapanAnna Fali UNQUALIFIED
Izzy G PoquetteAustraliaBernardo Dominic RENEWAL
Francesco S FigeroaUnited KingdomXuxue Feng NEGOTIATION
Octavia Q OldroydFranceIoni Bowcher NEW
James G RoysterCanadaOnyama Limba UNQUALIFIED
Aditya R KolmetzRussiaAnna Fali UNQUALIFIED
Claire S InouyeJapanStephen Shaw RENEWAL
Claire W DarakjyJapanXuxue Feng RENEWAL
Kaitlin P CaldareraGermanyAsiya Javayant QUALIFIED
Jefferson G ChuiArgentinaBernardo Dominic PROPOSAL
Kaitlin W MaletCanadaAmy Elsner PROPOSAL
Murillo U PaprockiItalyIvan Magalhaes NEGOTIATION
Deepesh K StockhamAustraliaBernardo Dominic QUALIFIED
Arvin K PerinBrazilAsiya Javayant NEGOTIATION
Leja M MacleadIndiaElwin Sharvill UNQUALIFIED
Mujtaba D AlbaresUnited KingdomOnyama Limba NEW
Stacey H DoeItalyIoni Bowcher PROPOSAL
Francesco E MarrierItalyAmy Elsner NEW
Kadeem Z FerenczItalyStephen Shaw PROPOSAL
Costa I RutaFranceAmy Elsner PROPOSAL
Nicolas O RulapaughIndiaIvan Magalhaes NEW
Jeanfrancois E MacleadJapanXuxue Feng NEW
Ivar N NickaCanadaAnna Fali QUALIFIED
Silvio C BowleySpainAmy Elsner QUALIFIED
Aika X ShinkoItalyAsiya Javayant PROPOSAL
Mayumi M FerenczUnited KingdomIvan Magalhaes NEW
Smith S CaldareraArgentinaOnyama Limba RENEWAL
Clifford I OldroydUnited KingdomAnna Fali RENEWAL
Silvio E SlusarskiRussiaStephen Shaw PROPOSAL
Antonio I DarakjyAustraliaAnna Fali QUALIFIED
Ricardo X TollnerJapanXuxue Feng UNQUALIFIED
Silvio T RimBrazilElwin Sharvill QUALIFIED
Leon T DilliardSpainXuxue Feng NEGOTIATION
Antonio O CaldareraUnited KingdomAmy Elsner RENEWAL
Costa A MorascaAustraliaIoni Bowcher PROPOSAL
David O VenereFranceOnyama Limba NEW
Wickens T PoquetteSpainOnyama Limba UNQUALIFIED
Faith M SaylorsSpainAmy Elsner RENEWAL
Clifford G SaylorsBrazilXuxue Feng RENEWAL
Aditya L FigeroaSpainOnyama Limba QUALIFIED
Darci F InouyeRussiaElwin Sharvill UNQUALIFIED
Jeanfrancois I StensethItalyBernardo Dominic NEGOTIATION
Juan J SergiAustraliaIoni Bowcher RENEWAL
Morrow G RutaRussiaBernardo Dominic NEGOTIATION
Leja Q SlusarskiBrazilOnyama Limba PROPOSAL
Antonio X GillianRussiaXuxue Feng UNQUALIFIED
Jeanfrancois G SergiGermanyIvan Magalhaes RENEWAL
Arvin G VocelkaBrazilIvan Magalhaes RENEWAL
Emily T KolmetzBrazilStephen Shaw PROPOSAL
Frozen Columns
Name
Juan O Stenseth
Maria E Gaucho
Wickens K Gillian
Isabel D Caldarera
Aika C Vocelka
Aika A Gaucho
Clifford O Foller
Ivar H Venere
Deepesh D Darakjy
Clifford Z Venere
Greenwood W Flosi
Clifford U Dilliard
Mujtaba Q Ruta
Deepesh M Ruta
Deepesh P Shinko
Aditya K Tollner
Maria C Venere
Stacey Q Oldroyd
Jennifer D Rim
Maisha J Butt
Clifford A Rulapaugh
Ivar W Vocelka
Antonio H Saylors
Silvio Q Dilliard
Rodrigues M Chui
Adams I Inouye
Leja D Malet
Julie J Perin
David Q Poquette
Octavia I Shinko
Morrow J Albares
Ivar G Tollner
Darci V Slusarski
Jeanfrancois A Bowley
James K Vocelka
Mujtaba F Amigon
Misaki G Wieser
Francesco Z Butt
Costa Q Slusarski
Salvatore Z Oldroyd
Ricardo R Whobrey
Claire T Perin
Faith E Kusko
Kadeem J Darakjy
Isabel Q Dilliard
Antonio F Marrier
Arvin M Inouye
Faith P Paprocki
Mayumi Q Ostrosky
Isabel M Garufi
IdCountryDate
1000Russia2025-10-17
1001Japan2025-10-13
1002Japan2025-10-13
1003Canada2025-10-14
1004Spain2025-10-03
1005Italy2025-10-14
1006Japan2025-10-03
1007Japan2025-10-09
1008Australia2025-09-24
1009Russia2025-10-02
1010India2025-10-16
1011Australia2025-09-25
1012Argentina2025-09-26
1013Canada2025-09-29
1014United Kingdom2025-10-02
1015Russia2025-10-18
1016Australia2025-09-27
1017Brazil2025-10-09
1018Germany2025-10-04
1019Japan2025-10-18
1020Australia2025-10-05
1021Italy2025-10-05
1022Italy2025-09-24
1023India2025-10-14
1024Australia2025-09-25
1025Argentina2025-09-24
1026Italy2025-09-22
1027Australia2025-09-25
1028Italy2025-10-13
1029France2025-09-28
1030Japan2025-10-15
1031Italy2025-10-11
1032Italy2025-10-17
1033United Kingdom2025-10-16
1034Russia2025-10-15
1035Australia2025-10-02
1036Japan2025-10-19
1037Brazil2025-10-18
1038Italy2025-10-03
1039Japan2025-10-09
1040India2025-10-11
1041Spain2025-10-19
1042France2025-10-18
1043India2025-10-18
1044Australia2025-09-25
1045United Kingdom2025-10-15
1046Canada2025-10-13
1047Spain2025-10-12
1048Australia2025-10-02
1049India2025-09-22

On-Demand Data

NameIdCountryDate
Izzy D Saylors1000India2025-09-24
Johnson O Royster1001Italy2025-10-08
Leon J Dilliard1002France2025-09-23
Emily Q Ferencz1003Japan2025-10-04
Leon O Darakjy1004Spain2025-10-11
Aruna E Malet1005Argentina2025-09-28
Adams Z Malet1006France2025-10-09
Francesco C Paprocki1007Brazil2025-09-26
Arvin Z Flosi1008India2025-10-10
Johnson M Foller1009France2025-10-10
James H Campain1010Australia2025-10-15
Ricardo Y Shinko1011India2025-09-29
Ashley W Rim1012Italy2025-10-10
Salvatore J Briddick1013Germany2025-10-16
Darci Z Dilliard1014India2025-10-20
Jefferson H Gillian1015Argentina2025-09-24
Octavia A Doe1016Spain2025-09-28
Morrow Q Kusko1017Australia2025-10-05
Tony H Poquette1018Spain2025-09-22
Clifford N Morasca1019Germany2025-10-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya I DarakjyIndiaAsiya Javayant UNQUALIFIED
Silvio J ChuiSpainXuxue Feng UNQUALIFIED
Stacey J FigeroaIndiaXuxue Feng RENEWAL
Clifford Z FlosiFranceIoni Bowcher UNQUALIFIED
Kadeem D TollnerIndiaOnyama Limba PROPOSAL
Ashley B PerinFranceIoni Bowcher RENEWAL
Maisha H PaprockiSpainAmy Elsner QUALIFIED
Adams V VenereItalyAmy Elsner NEW
Misaki G BowleyArgentinaAsiya Javayant UNQUALIFIED
Wickens S AmigonUnited KingdomElwin Sharvill PROPOSAL
Nicolas O MorascaRussiaOnyama Limba UNQUALIFIED
Jennifer E AmigonRussiaAsiya Javayant PROPOSAL
Sinclair U InouyeAustraliaOnyama Limba PROPOSAL
David O IturbideBrazilBernardo Dominic NEGOTIATION
Jeanfrancois G IturbideUnited KingdomBernardo Dominic UNQUALIFIED
Munro U PerinIndiaElwin Sharvill PROPOSAL
Mayumi H DilliardFranceAsiya Javayant PROPOSAL
Cody G OldroydIndiaOnyama Limba PROPOSAL
Cody F MacleadUnited KingdomElwin Sharvill UNQUALIFIED
Claire J CaudyItalyIvan Magalhaes RENEWAL
Stacey Y RutaAustraliaAsiya Javayant NEW
Faith Y WieserArgentinaAmy Elsner RENEWAL
Smith E CaldareraIndiaXuxue Feng PROPOSAL
Tony O MaletGermanyStephen Shaw NEGOTIATION
Murillo T DilliardItalyAmy Elsner UNQUALIFIED
Antonio X KuskoJapanBernardo Dominic QUALIFIED
Isabel D NestleUnited KingdomElwin Sharvill NEW
Emily N PoquetteItalyIvan Magalhaes UNQUALIFIED
Leja Y BowleyUnited KingdomBernardo Dominic PROPOSAL
Aditya C OstroskyBrazilIvan Magalhaes NEGOTIATION
Alejandro N StensethBrazilXuxue Feng PROPOSAL
Antonio H BologniaFranceAmy Elsner RENEWAL
Stacey B TollnerBrazilOnyama Limba PROPOSAL
Nicolas N FigeroaRussiaStephen Shaw NEGOTIATION
Jefferson I PaprockiSpainIoni Bowcher PROPOSAL
Adams E KuskoGermanyStephen Shaw RENEWAL
Leja V InouyeRussiaBernardo Dominic PROPOSAL
Jefferson N CampainArgentinaXuxue Feng RENEWAL
Ashley A WaycottJapanXuxue Feng PROPOSAL
Silvio N IturbideAustraliaAsiya Javayant NEW

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