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
Mayumi B PoquetteBrazilOnyama Limba NEW
Antonio O SchemmerUnited KingdomAnna Fali UNQUALIFIED
Maria U VocelkaCanadaAmy Elsner QUALIFIED
Faith D InouyeSpainBernardo Dominic RENEWAL
Smith B WhobreyArgentinaElwin Sharvill NEW
Jefferson X GlickItalyIvan Magalhaes PROPOSAL
Cody X OstroskyRussiaAsiya Javayant UNQUALIFIED
Alejandro E PerinFranceAmy Elsner RENEWAL
Cody J BologniaFranceOnyama Limba UNQUALIFIED
Silvio N MorascaFranceOnyama Limba PROPOSAL
Deepesh F RutaBrazilAnna Fali QUALIFIED
Mayumi T ChuiGermanyOnyama Limba PROPOSAL
David V OldroydFranceAmy Elsner QUALIFIED
Sinclair B VenereCanadaElwin Sharvill PROPOSAL
Maria B BologniaRussiaAmy Elsner PROPOSAL
Deepesh E MarrierUnited KingdomIvan Magalhaes PROPOSAL
Antonio P WaycottGermanyAmy Elsner NEW
Ashley N SchemmerIndiaBernardo Dominic QUALIFIED
Jennifer R WaycottRussiaOnyama Limba NEW
Leja L DoeSpainAsiya Javayant QUALIFIED
Costa L GillianIndiaAsiya Javayant UNQUALIFIED
Emily I WhobreyArgentinaIvan Magalhaes NEGOTIATION
David G RoysterSpainIvan Magalhaes RENEWAL
Smith U DarakjyIndiaAsiya Javayant PROPOSAL
Faith K CaldareraArgentinaIoni Bowcher QUALIFIED
Costa H BologniaFranceIoni Bowcher PROPOSAL
Jennifer P RulapaughCanadaAsiya Javayant NEW
David E TollnerSpainIoni Bowcher PROPOSAL
Rodrigues K VocelkaArgentinaAmy Elsner QUALIFIED
Johnson L BowleyIndiaOnyama Limba RENEWAL
Morrow H PaprockiBrazilIoni Bowcher NEW
Aditya K ShinkoJapanOnyama Limba NEGOTIATION
Adams E RutaJapanXuxue Feng RENEWAL
Antonio P StensethGermanyAmy Elsner PROPOSAL
Ivar D RoysterIndiaStephen Shaw UNQUALIFIED
Francesco K TollnerFranceAmy Elsner UNQUALIFIED
Jeanfrancois D InouyeIndiaAsiya Javayant NEGOTIATION
Johnson Z BriddickSpainIvan Magalhaes QUALIFIED
Nicolas A SchemmerSpainOnyama Limba UNQUALIFIED
Silvio Y KolmetzItalyStephen Shaw UNQUALIFIED
Izzy Q VenereSpainAsiya Javayant QUALIFIED
Izzy H VenereSpainBernardo Dominic NEGOTIATION
Maria J AlbaresGermanyAmy Elsner PROPOSAL
Smith D AlbaresArgentinaStephen Shaw QUALIFIED
Jefferson I MaletGermanyStephen Shaw QUALIFIED
Murillo K GauchoJapanIoni Bowcher RENEWAL
Chavez I RoysterItalyIvan Magalhaes UNQUALIFIED
Darci Z OstroskyCanadaOnyama Limba QUALIFIED
Claire R RulapaughItalyXuxue Feng NEGOTIATION
Leon W FigeroaSpainIvan Magalhaes NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Misaki A BowleyJapanBernardo Dominic PROPOSAL
Clifford B ButtItalyElwin Sharvill QUALIFIED
Chavez O MarrierFranceAmy Elsner UNQUALIFIED
Leja Z KolmetzCanadaAsiya Javayant QUALIFIED
David X MaletArgentinaBernardo Dominic RENEWAL
Rodrigues G KuskoItalyIoni Bowcher NEW
Cody D WhobreyJapanAnna Fali NEW
Izzy A SaylorsAustraliaAmy Elsner QUALIFIED
Deepesh W CaudyGermanyXuxue Feng QUALIFIED
Tony S NestleIndiaAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Munro X GillianRussia2024-06-04King, Christopher A Esq NEGOTIATION15Stephen Shaw
1001Izzy I MaletJapan2024-05-28Morlong Associates PROPOSAL98Ivan Magalhaes
1002Ivar Z NestleItaly2024-06-17Morlong Associates UNQUALIFIED54Bernardo Dominic
1003Silvio E NickaItaly2024-06-15Chanay, Jeffrey A Esq RENEWAL79Asiya Javayant
1004Silvio M NestleRussia2024-05-24Feiner Bros UNQUALIFIED59Anna Fali
1005Francesco I OldroydAustralia2024-06-04Chapman, Ross E Esq PROPOSAL38Amy Elsner
1006Sinclair Q KuskoAustralia2024-06-18Dorl, James J Esq NEGOTIATION40Ivan Magalhaes
1007Faith V PaprockiBrazil2024-06-22Dorl, James J Esq NEGOTIATION52Stephen Shaw
1008Rodrigues Q BriddickBrazil2024-06-15Morlong Associates UNQUALIFIED95Elwin Sharvill
1009Kadeem F PerinGermany2024-05-26Buckley Miller Wright QUALIFIED28Amy Elsner
1010Salvatore J ChuiBrazil2024-06-15Printing Dimensions NEW58Xuxue Feng
1011Claire U MacleadUnited Kingdom2024-06-12Chemel, James L Cpa PROPOSAL41Asiya Javayant
1012James X RoysterSpain2024-06-08Dorl, James J Esq NEW6Xuxue Feng
1013Smith Z AlbaresUnited Kingdom2024-06-22Chemel, James L Cpa PROPOSAL3Amy Elsner
1014Aika I MaletFrance2024-06-05Morlong Associates RENEWAL5Asiya Javayant
1015Munro Y GarufiGermany2024-06-15Feiner Bros PROPOSAL51Anna Fali
1016Isabel Z TollnerIndia2024-05-26Rangoni Of Florence QUALIFIED37Bernardo Dominic
1017David V MacleadIndia2024-06-05Rousseaux, Michael Esq NEGOTIATION99Ioni Bowcher
1018Clifford U CaudyUnited Kingdom2024-05-28King, Christopher A Esq UNQUALIFIED95Bernardo Dominic
1019Mayumi L ButtItaly2024-06-08Benton, John B Jr NEW20Anna Fali
1020Smith R KolmetzRussia2024-06-20Truhlar And Truhlar Attys RENEWAL71Onyama Limba
1021Octavia B FigeroaItaly2024-05-27Chapman, Ross E Esq NEW43Stephen Shaw
1022David G RimBrazil2024-06-15Benton, John B Jr QUALIFIED95Ivan Magalhaes
1023Stacey D BologniaFrance2024-06-14Benton, John B Jr QUALIFIED90Elwin Sharvill
1024Mayumi P BowleyFrance2024-06-18Buckley Miller Wright NEGOTIATION70Onyama Limba
1025Leon W PoquetteBrazil2024-06-03Rousseaux, Michael Esq NEGOTIATION6Ivan Magalhaes
1026Johnson E SchemmerCanada2024-06-10Feiner Bros PROPOSAL85Ivan Magalhaes
1027Kaitlin F BriddickGermany2024-06-08Benton, John B Jr RENEWAL46Stephen Shaw
1028Tony T CaldareraArgentina2024-05-25Truhlar And Truhlar Attys RENEWAL70Amy Elsner
1029Rodrigues U DoeArgentina2024-06-09Rangoni Of Florence UNQUALIFIED24Amy Elsner
1030Sinclair I SlusarskiCanada2024-06-20Benton, John B Jr NEGOTIATION54Onyama Limba
1031Alejandro I GillianArgentina2024-06-09Buckley Miller Wright NEGOTIATION99Stephen Shaw
1032Stacey G BriddickJapan2024-06-06Commercial Press QUALIFIED38Onyama Limba
1033Sinclair K AmigonIndia2024-06-13Chemel, James L Cpa UNQUALIFIED30Elwin Sharvill
1034Ivar W FlosiArgentina2024-05-29Commercial Press UNQUALIFIED92Anna Fali
1035Jones X AmigonCanada2024-06-01Morlong Associates NEGOTIATION10Anna Fali
1036Deepesh G VocelkaGermany2024-05-28Chemel, James L Cpa QUALIFIED7Ivan Magalhaes
1037Claire S PaprockiFrance2024-05-27Chanay, Jeffrey A Esq NEW11Asiya Javayant
1038Jennifer R FerenczBrazil2024-06-18Feltz Printing Service NEW98Anna Fali
1039Ivar Z PerinRussia2024-06-05Printing Dimensions UNQUALIFIED30Onyama Limba
1040Arvin T ShinkoRussia2024-06-02Rangoni Of Florence NEW40Bernardo Dominic
1041Aditya K MaletUnited Kingdom2024-06-02Commercial Press RENEWAL66Ivan Magalhaes
1042Mujtaba O AmigonRussia2024-06-04King, Christopher A Esq QUALIFIED44Anna Fali
1043Aruna P DarakjyArgentina2024-06-02Chanay, Jeffrey A Esq NEGOTIATION69Onyama Limba
1044Arvin R OstroskyFrance2024-06-19Printing Dimensions NEGOTIATION80Ioni Bowcher
1045Arvin Q ButtArgentina2024-06-02Feiner Bros NEGOTIATION29Onyama Limba
1046Emily Z PaprockiSpain2024-06-17Buckley Miller Wright RENEWAL54Anna Fali
1047Cody D NestleCanada2024-06-03Feltz Printing Service RENEWAL48Bernardo Dominic
1048Emily O DoeGermany2024-05-30Rangoni Of Florence PROPOSAL16Xuxue Feng
1049Cody I CaudyArgentina2024-06-19Chanay, Jeffrey A Esq NEGOTIATION99Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Jefferson X FerenczItalyBernardo Dominic QUALIFIED
Cody U MarrierJapanIvan Magalhaes NEGOTIATION
David J GauchoFranceIvan Magalhaes NEGOTIATION
Wickens V DilliardFranceElwin Sharvill PROPOSAL
Alejandro S RoysterGermanyOnyama Limba RENEWAL
Octavia E GlickCanadaElwin Sharvill NEGOTIATION
Nicolas D SchemmerGermanyAsiya Javayant PROPOSAL
Costa R PaprockiIndiaStephen Shaw RENEWAL
Misaki Q RulapaughAustraliaIoni Bowcher NEGOTIATION
Adams D GarufiFranceAsiya Javayant QUALIFIED
Costa H MorascaIndiaStephen Shaw QUALIFIED
Munro Y RulapaughJapanBernardo Dominic NEW
Maria D SaylorsBrazilStephen Shaw UNQUALIFIED
Cody C OldroydItalyAmy Elsner UNQUALIFIED
Antonio S NickaAustraliaAsiya Javayant RENEWAL
James B MaletSpainXuxue Feng QUALIFIED
Munro H AlbaresArgentinaIoni Bowcher NEGOTIATION
Ashley I PerinRussiaStephen Shaw PROPOSAL
Adams F SaylorsIndiaIvan Magalhaes RENEWAL
Claire E RoysterRussiaAsiya Javayant QUALIFIED
Tony K DarakjyGermanyAsiya Javayant NEGOTIATION
Clifford D MaletJapanIvan Magalhaes PROPOSAL
Ivar G DilliardGermanyIoni Bowcher UNQUALIFIED
Arvin I CaudyJapanOnyama Limba QUALIFIED
Ashley N PerinGermanyOnyama Limba PROPOSAL
Aditya V FlosiItalyIvan Magalhaes RENEWAL
Francesco C RutaGermanyAmy Elsner QUALIFIED
Adams Q CaudyBrazilXuxue Feng NEGOTIATION
Munro D FlosiUnited KingdomIvan Magalhaes NEW
James C GarufiBrazilIvan Magalhaes RENEWAL
Smith R GarufiAustraliaAnna Fali UNQUALIFIED
Tony Z GauchoSpainElwin Sharvill RENEWAL
Jeanfrancois U MorascaAustraliaIvan Magalhaes PROPOSAL
Costa R InouyeFranceIoni Bowcher NEW
Julie O GarufiArgentinaBernardo Dominic NEGOTIATION
Cody H RoysterArgentinaElwin Sharvill NEGOTIATION
Izzy T SaylorsArgentinaStephen Shaw QUALIFIED
Jennifer W FerenczSpainElwin Sharvill NEW
Ivar E MorascaBrazilBernardo Dominic NEGOTIATION
Ricardo H FollerUnited KingdomElwin Sharvill UNQUALIFIED
Faith N VocelkaCanadaAnna Fali PROPOSAL
Misaki A GlickGermanyIoni Bowcher QUALIFIED
James G FigeroaSpainOnyama Limba PROPOSAL
Adams T StensethItalyAnna Fali UNQUALIFIED
Chavez Q NickaGermanyOnyama Limba UNQUALIFIED
Stacey O CaldareraIndiaIvan Magalhaes RENEWAL
Juan I KuskoUnited KingdomStephen Shaw PROPOSAL
Alejandro U MarrierFranceBernardo Dominic NEW
Munro C WieserAustraliaAsiya Javayant PROPOSAL
Munro Q DoeRussiaAsiya Javayant UNQUALIFIED
Frozen Columns
Name
Mayumi L Caudy
Julie R Gaucho
Deepesh A Stockham
Antonio Y Morasca
Silvio U Garufi
Darci R Paprocki
Silvio N Bolognia
Mujtaba F Saylors
Ivar L Darakjy
Tony O Flosi
Munro K Stockham
Morrow C Malet
Aruna Z Waycott
Jones O Schemmer
Leon J Whobrey
Silvio R Gillian
Claire U Sergi
Kaitlin F Rulapaugh
David L Butt
Salvatore C Figeroa
Ricardo Z Wieser
Wickens W Campain
Chavez P Rulapaugh
Izzy D Shinko
Arvin R Gillian
Chavez Y Malet
Leon K Stockham
Jennifer Q Doe
Misaki U Waycott
Jeanfrancois R Kusko
Juan Q Rim
Nicolas O Butt
Leja N Chui
Emily U Doe
Alejandro Q Gillian
Smith D Gaucho
James Y Glick
Stacey W Poquette
Jennifer M Ruta
Emily T Venere
Claire L Slusarski
Octavia E Venere
Mujtaba H Campain
Tony T Nestle
Kaitlin H Stockham
Izzy W Albares
Chavez C Whobrey
Cody G Poquette
Maisha F Paprocki
Kadeem S Sergi
IdCountryDate
1000Spain2024-06-12
1001Italy2024-06-15
1002Brazil2024-05-31
1003Argentina2024-06-02
1004Japan2024-05-29
1005Australia2024-06-22
1006Brazil2024-06-02
1007Spain2024-05-24
1008India2024-05-26
1009United Kingdom2024-06-10
1010Argentina2024-06-03
1011Russia2024-06-19
1012Russia2024-05-24
1013India2024-06-19
1014Australia2024-05-29
1015United Kingdom2024-06-04
1016Russia2024-05-27
1017Canada2024-06-02
1018Canada2024-06-05
1019Spain2024-06-02
1020Argentina2024-06-04
1021France2024-06-02
1022Russia2024-05-24
1023India2024-06-20
1024Japan2024-06-04
1025Russia2024-06-04
1026United Kingdom2024-06-04
1027Australia2024-06-14
1028Argentina2024-06-14
1029Germany2024-06-06
1030Germany2024-06-12
1031Japan2024-06-05
1032Argentina2024-06-20
1033Russia2024-05-24
1034Germany2024-06-08
1035France2024-06-08
1036France2024-05-26
1037United Kingdom2024-06-16
1038Brazil2024-06-19
1039Italy2024-06-11
1040Argentina2024-06-19
1041United Kingdom2024-06-01
1042Brazil2024-06-03
1043Australia2024-06-08
1044Japan2024-06-02
1045India2024-06-22
1046Argentina2024-06-10
1047Argentina2024-06-12
1048Canada2024-06-09
1049Germany2024-06-11

On-Demand Data

NameIdCountryDate
Francesco L Wieser1000Argentina2024-06-13
Johnson P Malet1001Japan2024-06-20
Jefferson V Bolognia1002France2024-05-31
Costa G Malet1003Brazil2024-06-20
Nicolas T Ruta1004France2024-06-05
Misaki T Figeroa1005Italy2024-06-20
Jeanfrancois B Stockham1006Germany2024-06-06
Aika J Garufi1007Canada2024-06-12
Rodrigues B Caldarera1008Japan2024-06-11
David U Flosi1009France2024-06-12
Silvio E Gaucho1010Japan2024-06-15
Jennifer Z Tollner1011India2024-05-25
Francesco V Paprocki1012Australia2024-06-14
Francesco H Ferencz1013Germany2024-06-07
Jeanfrancois L Whobrey1014Canada2024-06-08
David Y Marrier1015Japan2024-06-12
Izzy O Whobrey1016Argentina2024-06-01
Aika R Stenseth1017Brazil2024-06-20
Kadeem A Iturbide1018Spain2024-06-01
Sinclair Z Morasca1019United Kingdom2024-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya Y MacleadAustraliaXuxue Feng PROPOSAL
Alejandro X KuskoJapanOnyama Limba NEGOTIATION
Salvatore G KolmetzItalyAnna Fali RENEWAL
Juan N FlosiJapanBernardo Dominic RENEWAL
Murillo A PerinBrazilIoni Bowcher NEGOTIATION
Deepesh G DilliardJapanOnyama Limba NEW
Cody U FigeroaJapanXuxue Feng UNQUALIFIED
Greenwood S MaletBrazilStephen Shaw QUALIFIED
Maisha M SaylorsIndiaStephen Shaw NEW
Nicolas E TollnerFranceXuxue Feng UNQUALIFIED
Izzy Y IturbideItalyIvan Magalhaes PROPOSAL
Nicolas P AmigonFranceElwin Sharvill RENEWAL
Wickens A RutaCanadaBernardo Dominic RENEWAL
Octavia H MarrierFranceAsiya Javayant PROPOSAL
Salvatore U AmigonRussiaAmy Elsner QUALIFIED
Alejandro H DoeAustraliaBernardo Dominic NEW
Faith Z DarakjyCanadaAnna Fali PROPOSAL
Johnson D ShinkoSpainAsiya Javayant NEGOTIATION
Rodrigues S BriddickUnited KingdomIoni Bowcher QUALIFIED
Johnson Q PerinUnited KingdomIoni Bowcher RENEWAL
Faith Y GarufiArgentinaAnna Fali RENEWAL
Adams R OldroydGermanyOnyama Limba UNQUALIFIED
Cody T VenereSpainAnna Fali PROPOSAL
Ashley A GauchoSpainOnyama Limba QUALIFIED
Ricardo R MorascaUnited KingdomAnna Fali QUALIFIED
Morrow N CaldareraAustraliaBernardo Dominic NEW
Alejandro Y GlickSpainAnna Fali QUALIFIED
Deepesh D SlusarskiFranceBernardo Dominic QUALIFIED
Aika X FlosiArgentinaStephen Shaw RENEWAL
Alejandro Q FigeroaCanadaXuxue Feng RENEWAL
Wickens Z DilliardAustraliaElwin Sharvill NEGOTIATION
James D GarufiFranceAnna Fali UNQUALIFIED
Aika Z OstroskyRussiaIvan Magalhaes NEGOTIATION
Munro X SaylorsBrazilIoni Bowcher PROPOSAL
Wickens M VocelkaGermanyStephen Shaw RENEWAL
Aika L WieserCanadaOnyama Limba RENEWAL
Silvio P InouyeGermanyIvan Magalhaes PROPOSAL
Antonio Q MarrierAustraliaStephen Shaw NEGOTIATION
Kadeem Q SergiFranceIoni Bowcher QUALIFIED
Octavia B NickaUnited KingdomAnna Fali UNQUALIFIED

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