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
Claire Y GauchoIndiaElwin Sharvill PROPOSAL
Jeanfrancois R BologniaFranceAnna Fali QUALIFIED
Munro S OldroydSpainAnna Fali NEW
Smith S AmigonBrazilIvan Magalhaes PROPOSAL
Mujtaba T OldroydAustraliaIvan Magalhaes NEW
Adams T ChuiFranceOnyama Limba RENEWAL
James N BowleyArgentinaBernardo Dominic UNQUALIFIED
Cody H GlickSpainXuxue Feng NEW
Costa G DilliardItalyIvan Magalhaes QUALIFIED
Costa T DoeUnited KingdomAsiya Javayant UNQUALIFIED
Misaki U AmigonItalyAnna Fali UNQUALIFIED
Jennifer H SaylorsSpainIvan Magalhaes UNQUALIFIED
Faith D RulapaughRussiaOnyama Limba PROPOSAL
Misaki F AmigonCanadaIvan Magalhaes QUALIFIED
Cody S MorascaBrazilAnna Fali RENEWAL
Octavia B IturbideItalyOnyama Limba NEGOTIATION
Alejandro C OldroydItalyOnyama Limba PROPOSAL
Sinclair R OstroskyArgentinaStephen Shaw NEW
Nicolas D NickaArgentinaXuxue Feng RENEWAL
Francesco P InouyeItalyIoni Bowcher RENEWAL
Ricardo G MaletItalyAnna Fali RENEWAL
Alejandro G PaprockiGermanyAnna Fali QUALIFIED
Jones K MorascaBrazilAmy Elsner NEGOTIATION
Francesco O DarakjyItalyStephen Shaw NEW
Morrow H MacleadSpainOnyama Limba UNQUALIFIED
Munro K GillianCanadaIvan Magalhaes QUALIFIED
Cody C SergiRussiaElwin Sharvill PROPOSAL
Jennifer K ChuiUnited KingdomXuxue Feng NEGOTIATION
Salvatore E KuskoIndiaIvan Magalhaes RENEWAL
Faith O MaletJapanBernardo Dominic UNQUALIFIED
Antonio F MaletJapanElwin Sharvill QUALIFIED
Claire M SaylorsFranceAsiya Javayant RENEWAL
Claire M GillianIndiaOnyama Limba QUALIFIED
Ashley W OstroskyArgentinaAnna Fali RENEWAL
Isabel T NickaUnited KingdomAnna Fali RENEWAL
Jeanfrancois X SchemmerUnited KingdomOnyama Limba NEW
Munro Q BriddickJapanIoni Bowcher PROPOSAL
Leon X RulapaughAustraliaIoni Bowcher NEW
Silvio D InouyeItalyAmy Elsner QUALIFIED
Tony P FlosiAustraliaIoni Bowcher NEGOTIATION
Aditya E SaylorsGermanyBernardo Dominic NEGOTIATION
Johnson F ShinkoBrazilOnyama Limba QUALIFIED
Deepesh Z DilliardIndiaAmy Elsner RENEWAL
Juan A BriddickItalyXuxue Feng PROPOSAL
Antonio D ShinkoItalyElwin Sharvill QUALIFIED
Clifford C PoquetteRussiaAnna Fali QUALIFIED
Juan X VocelkaJapanOnyama Limba UNQUALIFIED
Mujtaba D PoquetteCanadaAmy Elsner QUALIFIED
Maria X PerinBrazilElwin Sharvill UNQUALIFIED
Johnson B BriddickSpainIvan Magalhaes NEW
Horizontal
NameCountryRepresentativeStatus
Nicolas Q MaletJapanXuxue Feng NEW
Stacey P SergiSpainElwin Sharvill UNQUALIFIED
Misaki K VocelkaItalyAmy Elsner NEW
Adams L KuskoIndiaIoni Bowcher PROPOSAL
Kadeem O NickaCanadaStephen Shaw UNQUALIFIED
Johnson D KolmetzJapanIvan Magalhaes PROPOSAL
Faith E MorascaUnited KingdomXuxue Feng NEGOTIATION
Salvatore X SlusarskiItalyIoni Bowcher NEW
Smith W WhobreyAustraliaBernardo Dominic PROPOSAL
Adams J GlickArgentinaOnyama Limba NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Darci P ShinkoAustralia2025-04-24Truhlar And Truhlar Attys NEGOTIATION24Ioni Bowcher
1001Julie M MorascaCanada2025-04-16Commercial Press UNQUALIFIED86Bernardo Dominic
1002Arvin D FerenczFrance2025-04-10Buckley Miller Wright NEGOTIATION70Ivan Magalhaes
1003Ricardo P MaletIndia2025-04-13Chapman, Ross E Esq NEGOTIATION63Amy Elsner
1004Izzy B AlbaresCanada2025-04-27Feiner Bros PROPOSAL19Bernardo Dominic
1005Misaki W WaycottSpain2025-04-12Rousseaux, Michael Esq NEGOTIATION39Ioni Bowcher
1006Arvin U WieserFrance2025-04-20Rousseaux, Michael Esq UNQUALIFIED47Asiya Javayant
1007Murillo B FlosiBrazil2025-04-19Feltz Printing Service PROPOSAL63Xuxue Feng
1008Wickens G PoquetteRussia2025-04-24Buckley Miller Wright NEW2Onyama Limba
1009Kadeem U NestleJapan2025-04-03Chemel, James L Cpa NEW54Amy Elsner
1010Johnson J BriddickBrazil2025-04-28Truhlar And Truhlar Attys NEW60Ioni Bowcher
1011Maria C GlickUnited Kingdom2025-04-18Commercial Press NEW3Xuxue Feng
1012Misaki C WaycottRussia2025-04-01Printing Dimensions RENEWAL95Bernardo Dominic
1013Leon C MaletIndia2025-04-17King, Christopher A Esq UNQUALIFIED58Ioni Bowcher
1014Aruna B KuskoBrazil2025-04-14Rangoni Of Florence NEGOTIATION94Bernardo Dominic
1015Jeanfrancois X MaletCanada2025-04-17Benton, John B Jr UNQUALIFIED65Bernardo Dominic
1016Mujtaba M FlosiBrazil2025-04-21Feiner Bros NEGOTIATION57Ioni Bowcher
1017Aika E GarufiSpain2025-04-25Printing Dimensions NEGOTIATION2Asiya Javayant
1018Aruna I RutaArgentina2025-04-26Rousseaux, Michael Esq PROPOSAL25Stephen Shaw
1019Maria P DoeBrazil2025-04-04Buckley Miller Wright RENEWAL10Stephen Shaw
1020Deepesh S MorascaSpain2025-04-17Chapman, Ross E Esq RENEWAL39Ivan Magalhaes
1021Emily U NestleIndia2025-04-20Chanay, Jeffrey A Esq NEGOTIATION4Elwin Sharvill
1022Morrow L CampainJapan2025-04-26Truhlar And Truhlar Attys UNQUALIFIED62Elwin Sharvill
1023Aika Y MaletUnited Kingdom2025-04-18Feiner Bros QUALIFIED95Elwin Sharvill
1024Murillo N SchemmerGermany2025-04-16Morlong Associates RENEWAL53Ioni Bowcher
1025Kadeem M BriddickBrazil2025-04-28Feiner Bros UNQUALIFIED47Ioni Bowcher
1026Leja R FigeroaGermany2025-04-29Truhlar And Truhlar Attys NEW4Stephen Shaw
1027Mujtaba D ChuiBrazil2025-04-16Chemel, James L Cpa NEGOTIATION16Onyama Limba
1028Smith H PaprockiUnited Kingdom2025-04-09Benton, John B Jr PROPOSAL56Elwin Sharvill
1029Ivar O VenereRussia2025-04-19Commercial Press PROPOSAL10Asiya Javayant
1030Mujtaba H SlusarskiGermany2025-04-07Commercial Press PROPOSAL98Bernardo Dominic
1031Morrow A CaldareraBrazil2025-04-18Buckley Miller Wright PROPOSAL71Elwin Sharvill
1032Emily Q FollerArgentina2025-04-05Feiner Bros NEGOTIATION59Asiya Javayant
1033Ricardo N VenereAustralia2025-04-14Feiner Bros RENEWAL84Amy Elsner
1034Greenwood V VenereItaly2025-04-26Buckley Miller Wright QUALIFIED3Stephen Shaw
1035Salvatore G PerinSpain2025-04-17Chemel, James L Cpa QUALIFIED37Elwin Sharvill
1036Ashley F RulapaughIndia2025-04-20Benton, John B Jr UNQUALIFIED67Stephen Shaw
1037Kadeem S WieserArgentina2025-04-04Benton, John B Jr UNQUALIFIED34Bernardo Dominic
1038Stacey B DilliardArgentina2025-04-10Rousseaux, Michael Esq RENEWAL83Ioni Bowcher
1039Smith H IturbideAustralia2025-04-23Feiner Bros RENEWAL38Xuxue Feng
1040Smith W WaycottFrance2025-04-18Chapman, Ross E Esq UNQUALIFIED12Bernardo Dominic
1041Kaitlin C InouyeRussia2025-03-31Chapman, Ross E Esq QUALIFIED38Bernardo Dominic
1042Maisha M GauchoSpain2025-04-09Chemel, James L Cpa RENEWAL12Ioni Bowcher
1043Kadeem N ButtBrazil2025-04-06Feltz Printing Service NEGOTIATION20Bernardo Dominic
1044David I FigeroaAustralia2025-04-28Dorl, James J Esq UNQUALIFIED69Amy Elsner
1045Wickens Y MaletSpain2025-04-09Commercial Press RENEWAL14Anna Fali
1046Johnson S ShinkoArgentina2025-04-14Chanay, Jeffrey A Esq NEGOTIATION20Stephen Shaw
1047Maisha L MaletJapan2025-04-17Feiner Bros QUALIFIED44Onyama Limba
1048Nicolas N ShinkoGermany2025-04-11Truhlar And Truhlar Attys QUALIFIED69Asiya Javayant
1049Costa Z NickaUnited Kingdom2025-04-07Feltz Printing Service NEGOTIATION84Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Leja W SlusarskiGermanyXuxue Feng NEW
Kaitlin T WhobreyCanadaOnyama Limba UNQUALIFIED
Leja O SergiBrazilIvan Magalhaes RENEWAL
Ricardo S PerinIndiaOnyama Limba NEGOTIATION
Chavez I CampainIndiaIoni Bowcher NEW
Greenwood I VenereFranceElwin Sharvill QUALIFIED
Mayumi E MorascaUnited KingdomIoni Bowcher NEGOTIATION
Rodrigues Y PoquetteSpainAmy Elsner QUALIFIED
Johnson V AlbaresIndiaElwin Sharvill NEGOTIATION
Jeanfrancois B CaudySpainStephen Shaw QUALIFIED
Salvatore L SlusarskiFranceElwin Sharvill RENEWAL
Jefferson I OstroskyFranceBernardo Dominic NEGOTIATION
Juan L MorascaGermanyAsiya Javayant PROPOSAL
Julie Q PaprockiJapanXuxue Feng QUALIFIED
Greenwood G GillianItalyAsiya Javayant PROPOSAL
Wickens P GarufiIndiaAsiya Javayant RENEWAL
Kaitlin Q ShinkoArgentinaXuxue Feng PROPOSAL
Nicolas O RimFranceBernardo Dominic QUALIFIED
Octavia R SlusarskiJapanXuxue Feng QUALIFIED
Salvatore M InouyeJapanXuxue Feng UNQUALIFIED
Jefferson Q GillianJapanOnyama Limba RENEWAL
Stacey U FerenczBrazilStephen Shaw NEW
Arvin Z StockhamAustraliaElwin Sharvill UNQUALIFIED
Ivar H RimFranceAnna Fali NEW
Kadeem S MaletAustraliaXuxue Feng NEW
Salvatore K SchemmerGermanyAnna Fali RENEWAL
Murillo P KolmetzAustraliaElwin Sharvill NEGOTIATION
Nicolas N WhobreyCanadaAmy Elsner QUALIFIED
Jennifer C CaldareraFranceAnna Fali RENEWAL
Nicolas H PaprockiJapanBernardo Dominic PROPOSAL
Misaki K MorascaSpainIvan Magalhaes PROPOSAL
Ivar A StensethAustraliaAnna Fali RENEWAL
Leon K DarakjyAustraliaIoni Bowcher UNQUALIFIED
Smith O MaletItalyIoni Bowcher NEW
Adams J StockhamAustraliaIvan Magalhaes NEW
Tony B PerinBrazilAmy Elsner UNQUALIFIED
Stacey G PerinBrazilBernardo Dominic PROPOSAL
Mujtaba G DoeAustraliaAnna Fali PROPOSAL
Stacey I FigeroaUnited KingdomAnna Fali QUALIFIED
Mayumi R FlosiRussiaStephen Shaw RENEWAL
Maria W MaletFranceIvan Magalhaes UNQUALIFIED
Rodrigues Q FigeroaIndiaXuxue Feng NEGOTIATION
Ricardo T RulapaughAustraliaAmy Elsner UNQUALIFIED
Jefferson F CampainCanadaIvan Magalhaes RENEWAL
Rodrigues S DarakjyUnited KingdomIvan Magalhaes NEW
Nicolas I RimAustraliaAnna Fali NEW
Deepesh L AmigonArgentinaOnyama Limba NEW
Aika C MacleadArgentinaIoni Bowcher NEW
Jones E WaycottGermanyAmy Elsner RENEWAL
Nicolas Y MacleadIndiaAmy Elsner QUALIFIED
Frozen Columns
Name
Morrow N Venere
Costa E Bowley
Leja X Briddick
Costa F Stenseth
Munro G Campain
Wickens Q Glick
Ricardo Q Inouye
Juan O Briddick
Aruna B Malet
Aika V Garufi
Silvio M Sergi
Adams W Oldroyd
Johnson X Saylors
Jones S Chui
Jeanfrancois T Stenseth
Leon M Malet
Sinclair M Royster
Ricardo C Maclead
Salvatore F Glick
Aika F Paprocki
Murillo P Glick
Emily S Ruta
Clifford Q Oldroyd
Johnson A Royster
James I Nicka
Sinclair B Stockham
Ricardo D Venere
Stacey X Garufi
Aditya L Darakjy
Salvatore E Vocelka
Misaki I Foller
Ivar E Sergi
Aika L Ferencz
Aika C Marrier
Claire L Perin
Greenwood U Glick
Greenwood S Nestle
Arvin U Malet
Chavez G Figeroa
Rodrigues N Chui
Deepesh B Stockham
Silvio C Sergi
Maria D Kusko
Munro E Foller
Julie Y Rim
Jennifer D Saylors
Wickens A Amigon
Ashley Q Flosi
Salvatore D Garufi
Maria R Waycott
IdCountryDate
1000Germany2025-04-20
1001Italy2025-03-31
1002Argentina2025-04-21
1003Brazil2025-04-28
1004United Kingdom2025-04-23
1005India2025-04-23
1006Australia2025-04-27
1007Spain2025-04-03
1008Russia2025-04-27
1009Australia2025-04-08
1010Canada2025-04-12
1011Spain2025-03-31
1012Argentina2025-04-15
1013Italy2025-04-29
1014Argentina2025-04-09
1015Canada2025-04-12
1016Australia2025-04-17
1017Brazil2025-04-07
1018Argentina2025-04-20
1019India2025-04-25
1020Germany2025-04-20
1021Australia2025-04-22
1022Australia2025-04-17
1023Brazil2025-04-06
1024Italy2025-04-25
1025Canada2025-04-21
1026United Kingdom2025-04-27
1027France2025-04-14
1028India2025-04-18
1029Canada2025-04-03
1030Canada2025-04-28
1031Japan2025-04-11
1032Brazil2025-04-07
1033France2025-04-04
1034Brazil2025-04-28
1035Italy2025-04-13
1036United Kingdom2025-04-06
1037United Kingdom2025-04-22
1038Brazil2025-04-07
1039United Kingdom2025-04-09
1040Brazil2025-04-16
1041Brazil2025-04-11
1042Australia2025-04-06
1043Brazil2025-04-05
1044Canada2025-04-02
1045France2025-04-26
1046Russia2025-04-01
1047Germany2025-04-06
1048Germany2025-04-18
1049Australia2025-04-11

On-Demand Data

NameIdCountryDate
Jones W Marrier1000Germany2025-04-08
Wickens J Nicka1001Japan2025-04-02
Mayumi C Tollner1002Japan2025-04-09
Ricardo C Garufi1003Russia2025-04-22
Salvatore L Malet1004Canada2025-04-20
Deepesh C Nicka1005Russia2025-04-17
Tony L Gaucho1006Brazil2025-04-02
Tony Q Ruta1007Argentina2025-04-14
Mayumi A Ferencz1008Italy2025-04-05
Faith T Kolmetz1009Australia2025-04-06
Silvio T Maclead1010Australia2025-04-19
Arvin C Ruta1011Russia2025-04-14
Mujtaba C Foller1012Brazil2025-04-06
Clifford H Chui1013Brazil2025-04-10
Antonio D Kusko1014Brazil2025-04-23
Munro K Waycott1015India2025-04-24
Ashley D Sergi1016Russia2025-04-13
Johnson P Doe1017Japan2025-04-19
Morrow G Chui1018France2025-04-13
Mujtaba R Iturbide1019Spain2025-04-23
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maria Q RutaSpainAmy Elsner QUALIFIED
Claire F CaudyIndiaAsiya Javayant NEGOTIATION
Maisha Q StensethIndiaXuxue Feng RENEWAL
Costa G SergiCanadaStephen Shaw RENEWAL
Silvio J RoysterRussiaXuxue Feng NEGOTIATION
Adams E ButtFranceElwin Sharvill NEW
Darci O CaudyItalyIoni Bowcher NEGOTIATION
Silvio O AlbaresGermanyStephen Shaw PROPOSAL
Maria C MacleadArgentinaAsiya Javayant NEW
Salvatore Z KolmetzIndiaElwin Sharvill RENEWAL
Aditya A DarakjyRussiaAnna Fali PROPOSAL
Faith Z DarakjyArgentinaIvan Magalhaes PROPOSAL
Ricardo Q VocelkaCanadaAnna Fali PROPOSAL
David V DilliardAustraliaAmy Elsner QUALIFIED
Mayumi I AmigonUnited KingdomIvan Magalhaes NEGOTIATION
Arvin V MorascaSpainAsiya Javayant UNQUALIFIED
Stacey K FerenczUnited KingdomAsiya Javayant UNQUALIFIED
Rodrigues I StensethRussiaBernardo Dominic QUALIFIED
Munro G BriddickAustraliaOnyama Limba PROPOSAL
Maria Q WieserUnited KingdomBernardo Dominic RENEWAL
Leon S CampainArgentinaAmy Elsner NEW
Salvatore B RutaUnited KingdomElwin Sharvill NEW
Darci W StensethBrazilBernardo Dominic NEGOTIATION
Emily O RimRussiaAsiya Javayant PROPOSAL
Octavia J PoquetteArgentinaAnna Fali QUALIFIED
Arvin U RulapaughJapanStephen Shaw UNQUALIFIED
Faith J SlusarskiJapanElwin Sharvill NEGOTIATION
Cody G RoysterRussiaAsiya Javayant NEW
Munro Q ButtFranceAnna Fali UNQUALIFIED
Jefferson E InouyeArgentinaElwin Sharvill RENEWAL
Kadeem R WaycottFranceBernardo Dominic UNQUALIFIED
Aditya A KolmetzItalyIvan Magalhaes QUALIFIED
Cody Q GlickCanadaOnyama Limba QUALIFIED
Mujtaba B GlickJapanAmy Elsner UNQUALIFIED
Faith V TollnerGermanyElwin Sharvill PROPOSAL
Kadeem G BologniaGermanyStephen Shaw NEGOTIATION
Kaitlin R RulapaughArgentinaAnna Fali QUALIFIED
Jefferson G GillianUnited KingdomXuxue Feng NEGOTIATION
Clifford T DoeSpainBernardo Dominic NEW
Greenwood O BriddickCanadaIoni Bowcher 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">
            <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>