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
Clifford H VocelkaJapanIoni Bowcher NEW
Leon J WaycottAustraliaElwin Sharvill PROPOSAL
Claire G MorascaJapanIoni Bowcher NEGOTIATION
Alejandro W BologniaSpainElwin Sharvill NEGOTIATION
Juan O GarufiFranceAmy Elsner QUALIFIED
Sinclair H ShinkoGermanyOnyama Limba NEW
Leja J AmigonFranceElwin Sharvill PROPOSAL
Leja T ChuiItalyXuxue Feng NEGOTIATION
Tony H RoysterCanadaIvan Magalhaes RENEWAL
Jeanfrancois Z AmigonRussiaIvan Magalhaes NEW
Julie Q ShinkoUnited KingdomAmy Elsner RENEWAL
Kaitlin E FigeroaBrazilIoni Bowcher RENEWAL
Leon D KuskoCanadaOnyama Limba NEGOTIATION
Greenwood N WhobreyCanadaElwin Sharvill UNQUALIFIED
Sinclair G SchemmerSpainXuxue Feng QUALIFIED
Leon F KolmetzArgentinaAsiya Javayant PROPOSAL
Ivar I DilliardAustraliaAsiya Javayant RENEWAL
Ricardo N ButtJapanAmy Elsner NEGOTIATION
Isabel E TollnerGermanyElwin Sharvill QUALIFIED
Ivar F RulapaughBrazilElwin Sharvill NEGOTIATION
Munro O GlickItalyStephen Shaw PROPOSAL
Isabel B FerenczRussiaXuxue Feng RENEWAL
Adams W WaycottItalyIvan Magalhaes UNQUALIFIED
Tony M MacleadFranceIoni Bowcher PROPOSAL
Salvatore U FerenczSpainBernardo Dominic QUALIFIED
Maisha P GauchoFranceElwin Sharvill QUALIFIED
Julie T AlbaresIndiaBernardo Dominic UNQUALIFIED
Ivar H BriddickItalyXuxue Feng UNQUALIFIED
Jeanfrancois I MaletRussiaElwin Sharvill NEW
Sinclair O NickaRussiaAsiya Javayant PROPOSAL
Julie Z RulapaughJapanElwin Sharvill NEW
Chavez G MaletUnited KingdomBernardo Dominic PROPOSAL
Alejandro R WieserArgentinaStephen Shaw UNQUALIFIED
Izzy H FigeroaRussiaOnyama Limba NEW
Morrow I AlbaresAustraliaIvan Magalhaes QUALIFIED
Nicolas F GarufiFranceIvan Magalhaes QUALIFIED
Emily K RimItalyBernardo Dominic UNQUALIFIED
Aditya N OstroskyIndiaXuxue Feng PROPOSAL
Jefferson W RimArgentinaIvan Magalhaes PROPOSAL
Maisha A GarufiUnited KingdomIoni Bowcher RENEWAL
Deepesh D KolmetzItalyStephen Shaw UNQUALIFIED
Smith G CampainIndiaElwin Sharvill UNQUALIFIED
Leon U RulapaughArgentinaOnyama Limba PROPOSAL
Silvio X GauchoJapanAmy Elsner UNQUALIFIED
Chavez N ButtJapanOnyama Limba NEGOTIATION
Jefferson D FlosiItalyXuxue Feng NEGOTIATION
Maisha B MacleadRussiaAsiya Javayant UNQUALIFIED
Nicolas A MaletItalyBernardo Dominic RENEWAL
Greenwood H DilliardFranceElwin Sharvill PROPOSAL
Leja I SaylorsSpainIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Jennifer J FerenczIndiaIoni Bowcher UNQUALIFIED
Sinclair G GlickJapanElwin Sharvill UNQUALIFIED
Isabel L ChuiSpainIoni Bowcher RENEWAL
Chavez B CaudyJapanElwin Sharvill QUALIFIED
Aditya L ShinkoAustraliaAmy Elsner PROPOSAL
Silvio J GauchoFranceBernardo Dominic RENEWAL
Morrow A CampainAustraliaAsiya Javayant UNQUALIFIED
Isabel E WieserUnited KingdomAsiya Javayant UNQUALIFIED
Misaki B BowleyBrazilAnna Fali RENEWAL
Jefferson B KuskoRussiaIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer B KolmetzIndia2024-06-05Truhlar And Truhlar Attys NEW38Ioni Bowcher
1001Munro M GauchoFrance2024-05-29Truhlar And Truhlar Attys RENEWAL2Anna Fali
1002Munro K VenereArgentina2024-06-01Rousseaux, Michael Esq NEW86Anna Fali
1003Izzy E WaycottAustralia2024-06-18Dorl, James J Esq QUALIFIED41Elwin Sharvill
1004Silvio F RutaRussia2024-06-13Commercial Press RENEWAL24Stephen Shaw
1005Aditya O CampainCanada2024-06-19Chapman, Ross E Esq RENEWAL74Bernardo Dominic
1006Sinclair Q AmigonArgentina2024-06-20Rangoni Of Florence PROPOSAL11Xuxue Feng
1007Jones J BriddickUnited Kingdom2024-06-13Truhlar And Truhlar Attys QUALIFIED14Ivan Magalhaes
1008Faith E SergiRussia2024-06-16Benton, John B Jr UNQUALIFIED19Amy Elsner
1009Izzy U WhobreyUnited Kingdom2024-05-30King, Christopher A Esq QUALIFIED92Asiya Javayant
1010Clifford K CampainArgentina2024-05-31Buckley Miller Wright PROPOSAL91Stephen Shaw
1011Cody P AmigonFrance2024-06-03Feiner Bros RENEWAL99Stephen Shaw
1012Silvio M NestleUnited Kingdom2024-06-15Truhlar And Truhlar Attys NEW28Stephen Shaw
1013Rodrigues J SergiFrance2024-06-06Rousseaux, Michael Esq QUALIFIED81Ivan Magalhaes
1014Aditya K SchemmerSpain2024-06-13Commercial Press RENEWAL19Ioni Bowcher
1015Isabel X MaletAustralia2024-05-26King, Christopher A Esq PROPOSAL13Elwin Sharvill
1016Leja Z KolmetzCanada2024-06-15Benton, John B Jr QUALIFIED53Anna Fali
1017Rodrigues D FerenczUnited Kingdom2024-06-07Chapman, Ross E Esq PROPOSAL3Stephen Shaw
1018Aditya W AmigonCanada2024-06-03Dorl, James J Esq RENEWAL89Ioni Bowcher
1019Ashley E RutaFrance2024-05-31Benton, John B Jr PROPOSAL91Asiya Javayant
1020Stacey R CaudyUnited Kingdom2024-06-12Rousseaux, Michael Esq UNQUALIFIED42Elwin Sharvill
1021Emily H GillianGermany2024-06-10Feltz Printing Service NEGOTIATION30Stephen Shaw
1022Costa M FlosiArgentina2024-06-15Buckley Miller Wright NEGOTIATION80Bernardo Dominic
1023Julie Z MaletAustralia2024-06-10Chemel, James L Cpa PROPOSAL31Stephen Shaw
1024Juan E SlusarskiItaly2024-06-15Chanay, Jeffrey A Esq NEGOTIATION14Bernardo Dominic
1025Maisha F FollerBrazil2024-06-12Truhlar And Truhlar Attys NEGOTIATION40Ioni Bowcher
1026Arvin Z MaletSpain2024-06-08Buckley Miller Wright RENEWAL21Ivan Magalhaes
1027Aditya A DarakjyIndia2024-05-29Rousseaux, Michael Esq NEW26Anna Fali
1028Morrow M OstroskyFrance2024-06-18Benton, John B Jr RENEWAL79Onyama Limba
1029Isabel Z PaprockiUnited Kingdom2024-06-17Buckley Miller Wright UNQUALIFIED76Amy Elsner
1030Stacey W FigeroaCanada2024-06-20Chemel, James L Cpa RENEWAL47Stephen Shaw
1031Darci U SlusarskiIndia2024-06-11Rousseaux, Michael Esq QUALIFIED93Xuxue Feng
1032Kadeem U PerinItaly2024-06-24Printing Dimensions NEGOTIATION95Bernardo Dominic
1033Greenwood G RoysterAustralia2024-06-22Dorl, James J Esq NEGOTIATION0Ivan Magalhaes
1034Alejandro K RutaSpain2024-06-19Commercial Press RENEWAL58Xuxue Feng
1035Smith I OldroydFrance2024-05-30Buckley Miller Wright UNQUALIFIED6Elwin Sharvill
1036Francesco Y TollnerAustralia2024-05-31Chemel, James L Cpa UNQUALIFIED33Bernardo Dominic
1037Kaitlin Y PaprockiBrazil2024-05-28Morlong Associates UNQUALIFIED7Onyama Limba
1038Tony E SlusarskiFrance2024-06-01Feiner Bros NEGOTIATION97Asiya Javayant
1039Antonio A GarufiItaly2024-05-28King, Christopher A Esq NEGOTIATION63Ivan Magalhaes
1040Jennifer A AmigonJapan2024-06-04Morlong Associates UNQUALIFIED69Ivan Magalhaes
1041Ashley A AlbaresSpain2024-06-17Commercial Press PROPOSAL10Onyama Limba
1042Leon C SchemmerIndia2024-06-23Rousseaux, Michael Esq NEGOTIATION37Anna Fali
1043Wickens A DarakjyRussia2024-05-26Buckley Miller Wright RENEWAL46Amy Elsner
1044Julie U WhobreySpain2024-06-22King, Christopher A Esq PROPOSAL74Xuxue Feng
1045Murillo X RutaArgentina2024-06-17Commercial Press PROPOSAL66Anna Fali
1046Salvatore D MorascaSpain2024-06-03King, Christopher A Esq NEW93Elwin Sharvill
1047Sinclair B FollerAustralia2024-06-22Printing Dimensions UNQUALIFIED86Elwin Sharvill
1048Misaki F NickaBrazil2024-06-18Rangoni Of Florence PROPOSAL92Elwin Sharvill
1049Tony D SaylorsJapan2024-06-18Rousseaux, Michael Esq NEGOTIATION92Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Ashley L DarakjyArgentinaXuxue Feng UNQUALIFIED
James S MaletBrazilIvan Magalhaes RENEWAL
Mayumi D MacleadJapanXuxue Feng PROPOSAL
Octavia O VenereSpainOnyama Limba NEGOTIATION
Alejandro W MorascaSpainXuxue Feng UNQUALIFIED
Leja J RoysterItalyBernardo Dominic PROPOSAL
Arvin X VocelkaFranceIvan Magalhaes NEW
Alejandro L PerinBrazilXuxue Feng RENEWAL
Clifford F CampainCanadaOnyama Limba UNQUALIFIED
Arvin N RimArgentinaOnyama Limba RENEWAL
Ricardo P NestleBrazilXuxue Feng RENEWAL
Claire M BowleyIndiaOnyama Limba UNQUALIFIED
Aruna W PoquetteCanadaStephen Shaw QUALIFIED
Maisha L MaletJapanStephen Shaw UNQUALIFIED
Octavia F ChuiArgentinaIoni Bowcher NEGOTIATION
Wickens B GarufiRussiaStephen Shaw RENEWAL
Aika J MacleadBrazilAmy Elsner UNQUALIFIED
Claire S StockhamRussiaAmy Elsner UNQUALIFIED
Antonio V InouyeArgentinaStephen Shaw UNQUALIFIED
Munro U OldroydCanadaAnna Fali NEGOTIATION
Sinclair T SaylorsSpainStephen Shaw NEGOTIATION
Claire Q CaldareraArgentinaIoni Bowcher PROPOSAL
Maria R DilliardUnited KingdomBernardo Dominic NEW
Clifford V FerenczBrazilElwin Sharvill RENEWAL
Morrow C InouyeIndiaOnyama Limba RENEWAL
Ricardo N FerenczFranceXuxue Feng PROPOSAL
Chavez W DoeRussiaAmy Elsner UNQUALIFIED
Morrow Q BologniaArgentinaBernardo Dominic PROPOSAL
Cody J MacleadJapanElwin Sharvill QUALIFIED
Izzy O KuskoBrazilStephen Shaw NEW
Aika A GlickBrazilIvan Magalhaes NEGOTIATION
Wickens L ButtUnited KingdomBernardo Dominic QUALIFIED
Aruna I PaprockiFranceBernardo Dominic UNQUALIFIED
Alejandro F VenereIndiaIvan Magalhaes UNQUALIFIED
Faith Q KuskoJapanIvan Magalhaes NEW
Jeanfrancois J OldroydCanadaAnna Fali NEGOTIATION
Smith A RimFranceIoni Bowcher PROPOSAL
Jeanfrancois W OstroskySpainIvan Magalhaes PROPOSAL
Deepesh X MacleadItalyIvan Magalhaes RENEWAL
Claire O ChuiJapanXuxue Feng PROPOSAL
Alejandro J ChuiRussiaIvan Magalhaes NEGOTIATION
Costa Q ButtItalyElwin Sharvill NEGOTIATION
Izzy M KuskoGermanyBernardo Dominic NEW
Rodrigues O WieserGermanyBernardo Dominic UNQUALIFIED
Jeanfrancois Y MaletBrazilAnna Fali PROPOSAL
Maisha S VenereBrazilIvan Magalhaes UNQUALIFIED
Aruna P ChuiFranceStephen Shaw RENEWAL
Darci U VocelkaItalyAnna Fali UNQUALIFIED
Juan D CampainArgentinaAnna Fali NEW
Julie S FlosiFranceElwin Sharvill QUALIFIED
Frozen Columns
Name
James L Maclead
Murillo D Whobrey
Cody W Doe
Darci L Figeroa
Jefferson O Whobrey
Wickens H Morasca
Aditya A Ruta
Smith Y Royster
Julie A Chui
Deepesh I Briddick
Faith F Bolognia
Jeanfrancois X Chui
Greenwood S Morasca
Kaitlin Q Briddick
Nicolas T Ostrosky
Murillo J Glick
Deepesh S Kolmetz
Julie C Gillian
Munro H Nicka
Emily W Rulapaugh
Faith H Garufi
Maria C Caudy
Salvatore D Poquette
Tony H Ostrosky
Adams E Nestle
Stacey U Marrier
Aditya M Chui
James H Shinko
Stacey J Kolmetz
Salvatore S Ostrosky
Jennifer I Ostrosky
David H Glick
Emily K Gaucho
Isabel W Flosi
Leon Y Bolognia
Octavia N Caldarera
Costa Y Stenseth
Alejandro R Caudy
Aika C Schemmer
Munro N Briddick
Antonio V Oldroyd
David D Ruta
Misaki U Ostrosky
Claire U Amigon
Aditya I Ferencz
Jefferson K Stenseth
Costa O Bolognia
James K Sergi
Nicolas J Slusarski
Clifford Q Doe
IdCountryDate
1000Canada2024-06-24
1001Russia2024-06-02
1002Spain2024-06-03
1003Germany2024-06-07
1004Argentina2024-06-13
1005Italy2024-06-09
1006United Kingdom2024-06-09
1007Spain2024-06-09
1008India2024-06-22
1009France2024-06-03
1010Australia2024-06-04
1011Germany2024-06-05
1012France2024-06-18
1013Italy2024-06-03
1014Germany2024-05-31
1015Brazil2024-05-30
1016Argentina2024-06-24
1017Australia2024-06-03
1018Australia2024-06-13
1019Canada2024-06-17
1020Australia2024-05-27
1021Australia2024-06-11
1022United Kingdom2024-06-15
1023Canada2024-06-16
1024Italy2024-06-08
1025Italy2024-06-20
1026United Kingdom2024-06-24
1027Japan2024-06-01
1028Spain2024-06-23
1029France2024-05-31
1030Japan2024-05-28
1031Spain2024-06-21
1032United Kingdom2024-05-29
1033Japan2024-06-21
1034Germany2024-06-08
1035Brazil2024-06-07
1036Argentina2024-06-03
1037Brazil2024-06-01
1038France2024-06-04
1039Brazil2024-06-16
1040France2024-06-01
1041United Kingdom2024-06-04
1042Argentina2024-05-30
1043Italy2024-06-03
1044Italy2024-06-18
1045United Kingdom2024-06-20
1046Germany2024-06-04
1047France2024-06-19
1048Australia2024-05-27
1049India2024-05-28

On-Demand Data

NameIdCountryDate
Murillo T Campain1000Spain2024-06-07
Murillo L Dilliard1001Italy2024-06-21
Sinclair F Figeroa1002Brazil2024-06-16
Deepesh P Poquette1003India2024-05-28
Aruna G Shinko1004Italy2024-06-12
Maisha R Sergi1005Argentina2024-05-29
Clifford I Campain1006France2024-06-18
Francesco N Nestle1007Brazil2024-06-10
Chavez R Bolognia1008Germany2024-06-21
Murillo N Perin1009Australia2024-06-11
Alejandro T Malet1010Italy2024-05-31
Emily K Stockham1011Canada2024-06-10
Maisha M Malet1012Canada2024-06-12
Silvio W Chui1013Australia2024-06-07
Stacey K Ruta1014Germany2024-06-02
Juan R Garufi1015Japan2024-06-11
Murillo C Rulapaugh1016Argentina2024-06-16
Greenwood O Shinko1017Germany2024-06-17
Ricardo O Butt1018Japan2024-06-21
Nicolas P Garufi1019Spain2024-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Adams S MaletItalyStephen Shaw NEW
Jefferson Q MaletJapanAmy Elsner NEW
Claire P IturbideUnited KingdomElwin Sharvill PROPOSAL
Ivar I ShinkoIndiaXuxue Feng QUALIFIED
Stacey J WaycottGermanyAnna Fali RENEWAL
Leon J WieserFranceIoni Bowcher PROPOSAL
Maisha I RoysterJapanIoni Bowcher NEW
Ricardo E GlickItalyXuxue Feng QUALIFIED
Ricardo P DilliardAustraliaIoni Bowcher QUALIFIED
Greenwood L BologniaUnited KingdomXuxue Feng PROPOSAL
Morrow Y SlusarskiSpainElwin Sharvill UNQUALIFIED
Izzy C BriddickItalyBernardo Dominic NEGOTIATION
Rodrigues Y FerenczItalyOnyama Limba NEW
Maria G RulapaughArgentinaOnyama Limba QUALIFIED
Leon O MarrierIndiaAmy Elsner PROPOSAL
Isabel V DarakjyArgentinaIvan Magalhaes NEGOTIATION
Francesco Y StensethRussiaOnyama Limba PROPOSAL
Francesco X MaletAustraliaAmy Elsner NEGOTIATION
Maria X SlusarskiUnited KingdomIoni Bowcher UNQUALIFIED
Antonio O DoeItalyOnyama Limba PROPOSAL
Arvin C CampainItalyBernardo Dominic NEGOTIATION
Izzy T StockhamCanadaAnna Fali RENEWAL
Aditya J KolmetzFranceAmy Elsner RENEWAL
Aruna B PoquetteBrazilElwin Sharvill UNQUALIFIED
Adams R CampainItalyBernardo Dominic RENEWAL
Clifford E CampainUnited KingdomXuxue Feng PROPOSAL
Johnson R MarrierBrazilStephen Shaw QUALIFIED
Ivar Q RutaArgentinaBernardo Dominic PROPOSAL
Greenwood C KolmetzArgentinaBernardo Dominic NEW
Deepesh S NickaUnited KingdomOnyama Limba QUALIFIED
Maisha R DilliardRussiaIoni Bowcher UNQUALIFIED
Emily O WieserSpainIvan Magalhaes QUALIFIED
Ricardo R KolmetzJapanBernardo Dominic NEW
Greenwood D MaletItalyElwin Sharvill RENEWAL
Leon O RutaItalyElwin Sharvill UNQUALIFIED
Sinclair X IturbideCanadaOnyama Limba RENEWAL
Deepesh X NestleFranceAmy Elsner QUALIFIED
Chavez I WaycottArgentinaStephen Shaw NEGOTIATION
Leon B ChuiArgentinaXuxue Feng RENEWAL
Ivar D FigeroaSpainAsiya Javayant 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>