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
Ivar S RulapaughRussiaOnyama Limba NEGOTIATION
Kadeem U AlbaresSpainAmy Elsner UNQUALIFIED
Sinclair K FigeroaFranceAmy Elsner NEW
Alejandro R PerinIndiaIoni Bowcher PROPOSAL
Aruna S DarakjySpainIoni Bowcher UNQUALIFIED
Jefferson V FollerBrazilIoni Bowcher UNQUALIFIED
Jeanfrancois L BowleyArgentinaAmy Elsner UNQUALIFIED
Izzy N CaldareraCanadaIoni Bowcher QUALIFIED
Chavez P SergiCanadaIoni Bowcher RENEWAL
Wickens X CaldareraFranceXuxue Feng PROPOSAL
Maria N KolmetzJapanBernardo Dominic QUALIFIED
Emily I InouyeBrazilIvan Magalhaes UNQUALIFIED
Jefferson G FigeroaRussiaOnyama Limba RENEWAL
Aditya W MarrierCanadaAmy Elsner PROPOSAL
Antonio B MorascaGermanyOnyama Limba PROPOSAL
Adams R SergiIndiaStephen Shaw NEGOTIATION
Silvio O OstroskyGermanyElwin Sharvill UNQUALIFIED
Chavez L PerinCanadaOnyama Limba QUALIFIED
Chavez W OstroskyArgentinaIvan Magalhaes QUALIFIED
Tony N MaletBrazilStephen Shaw QUALIFIED
Costa O KuskoFranceBernardo Dominic PROPOSAL
Claire J KuskoIndiaOnyama Limba RENEWAL
Arvin S MorascaBrazilElwin Sharvill RENEWAL
Chavez B DarakjyBrazilIvan Magalhaes PROPOSAL
Silvio E BriddickRussiaAmy Elsner UNQUALIFIED
Kadeem Q CaudyUnited KingdomAsiya Javayant PROPOSAL
Munro M StockhamGermanyOnyama Limba PROPOSAL
Maisha W WieserJapanIvan Magalhaes NEW
Wickens H OstroskyItalyIoni Bowcher NEGOTIATION
Mujtaba G StockhamGermanyAmy Elsner PROPOSAL
Arvin S DarakjyJapanIvan Magalhaes PROPOSAL
Mayumi Y MarrierFranceIoni Bowcher QUALIFIED
Mayumi F SaylorsBrazilAmy Elsner RENEWAL
Rodrigues O KolmetzFranceIvan Magalhaes UNQUALIFIED
Greenwood P DilliardJapanAmy Elsner PROPOSAL
Isabel Z NickaFranceStephen Shaw NEGOTIATION
Aditya L AlbaresArgentinaIvan Magalhaes NEGOTIATION
Greenwood N OldroydCanadaAmy Elsner UNQUALIFIED
Maisha I GarufiGermanyOnyama Limba NEGOTIATION
Juan F SchemmerJapanIvan Magalhaes UNQUALIFIED
Maria W StensethIndiaElwin Sharvill PROPOSAL
Jones Z FlosiRussiaOnyama Limba NEGOTIATION
Sinclair N GauchoFranceXuxue Feng RENEWAL
Mayumi L RulapaughJapanOnyama Limba UNQUALIFIED
Francesco V IturbideSpainBernardo Dominic NEW
Deepesh E WieserJapanXuxue Feng NEGOTIATION
Leja L NickaArgentinaXuxue Feng PROPOSAL
Silvio W IturbideRussiaXuxue Feng NEGOTIATION
Antonio N GlickGermanyStephen Shaw PROPOSAL
Antonio X StockhamIndiaAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Darci X CaldareraSpainAnna Fali PROPOSAL
Jeanfrancois G AlbaresRussiaAmy Elsner NEW
Maisha J CampainFranceStephen Shaw UNQUALIFIED
Jeanfrancois T BologniaSpainStephen Shaw NEW
Izzy C SergiFranceStephen Shaw QUALIFIED
Jefferson J GillianGermanyIvan Magalhaes NEW
Darci W NickaItalyElwin Sharvill NEW
Tony D NestleCanadaAmy Elsner RENEWAL
Costa V TollnerArgentinaElwin Sharvill NEW
Arvin K WhobreyJapanXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood P OldroydItaly2024-05-28Chemel, James L Cpa UNQUALIFIED23Anna Fali
1001Jones E IturbideGermany2024-06-09Feltz Printing Service NEGOTIATION47Anna Fali
1002Ivar R ShinkoAustralia2024-06-03Buckley Miller Wright UNQUALIFIED95Stephen Shaw
1003Faith H FigeroaBrazil2024-05-24Feltz Printing Service NEW63Stephen Shaw
1004Julie Y GarufiFrance2024-06-14Benton, John B Jr UNQUALIFIED79Anna Fali
1005Ashley L SchemmerSpain2024-06-17Buckley Miller Wright UNQUALIFIED4Bernardo Dominic
1006Munro T NestleSpain2024-05-23Feiner Bros QUALIFIED86Bernardo Dominic
1007Nicolas Z SchemmerGermany2024-06-13Benton, John B Jr NEW68Xuxue Feng
1008Kadeem E KolmetzItaly2024-06-07King, Christopher A Esq NEGOTIATION30Asiya Javayant
1009Greenwood D GillianJapan2024-06-05Chemel, James L Cpa NEGOTIATION26Elwin Sharvill
1010Leon M BowleyRussia2024-06-01Morlong Associates UNQUALIFIED49Stephen Shaw
1011Julie U VocelkaRussia2024-06-16Truhlar And Truhlar Attys UNQUALIFIED86Ivan Magalhaes
1012Morrow Q SchemmerCanada2024-06-07Printing Dimensions RENEWAL20Amy Elsner
1013Adams Z VocelkaUnited Kingdom2024-05-27King, Christopher A Esq QUALIFIED31Stephen Shaw
1014Salvatore M NestleUnited Kingdom2024-06-04Chanay, Jeffrey A Esq PROPOSAL58Onyama Limba
1015Alejandro D NestleGermany2024-06-02Chemel, James L Cpa PROPOSAL2Amy Elsner
1016Ashley D ShinkoArgentina2024-05-22Rangoni Of Florence NEW58Bernardo Dominic
1017Jones H WhobreyItaly2024-05-21Rangoni Of Florence NEW59Onyama Limba
1018Costa E CampainArgentina2024-06-01Buckley Miller Wright RENEWAL77Amy Elsner
1019Faith F SergiCanada2024-05-28Chapman, Ross E Esq NEGOTIATION12Elwin Sharvill
1020Julie U DoeJapan2024-05-31Feiner Bros UNQUALIFIED68Ioni Bowcher
1021Mayumi S SchemmerArgentina2024-06-18Rousseaux, Michael Esq NEW20Anna Fali
1022Wickens P MaletUnited Kingdom2024-06-11Buckley Miller Wright QUALIFIED55Anna Fali
1023Stacey K BologniaJapan2024-06-17Printing Dimensions NEW68Bernardo Dominic
1024Stacey K RimUnited Kingdom2024-06-04Morlong Associates UNQUALIFIED32Xuxue Feng
1025Juan M AmigonGermany2024-06-13Chemel, James L Cpa NEGOTIATION38Elwin Sharvill
1026Leja G WaycottJapan2024-05-29Commercial Press QUALIFIED47Stephen Shaw
1027Francesco I NestleAustralia2024-06-01Dorl, James J Esq PROPOSAL27Onyama Limba
1028Ivar F PoquetteAustralia2024-06-07King, Christopher A Esq NEW96Stephen Shaw
1029Izzy G WieserUnited Kingdom2024-06-10Dorl, James J Esq UNQUALIFIED34Elwin Sharvill
1030Rodrigues U WieserJapan2024-06-15Truhlar And Truhlar Attys UNQUALIFIED90Elwin Sharvill
1031Jennifer P MacleadIndia2024-06-02Morlong Associates PROPOSAL87Anna Fali
1032Sinclair G DoeFrance2024-06-09Rousseaux, Michael Esq PROPOSAL62Stephen Shaw
1033Nicolas P BologniaCanada2024-06-16Dorl, James J Esq UNQUALIFIED9Elwin Sharvill
1034Kadeem U MarrierSpain2024-06-01Feiner Bros RENEWAL87Amy Elsner
1035Jennifer H VocelkaIndia2024-06-04Feiner Bros QUALIFIED12Bernardo Dominic
1036Johnson H RulapaughArgentina2024-05-31Feiner Bros QUALIFIED79Onyama Limba
1037Aditya D BologniaJapan2024-05-20Buckley Miller Wright NEGOTIATION39Amy Elsner
1038Rodrigues D CampainCanada2024-06-06Printing Dimensions PROPOSAL7Xuxue Feng
1039Wickens M AmigonRussia2024-06-15Morlong Associates NEGOTIATION54Onyama Limba
1040Faith E CampainItaly2024-06-05Commercial Press QUALIFIED33Bernardo Dominic
1041Sinclair F FerenczBrazil2024-06-15Chanay, Jeffrey A Esq NEGOTIATION44Xuxue Feng
1042Aditya P MaletSpain2024-06-18Buckley Miller Wright UNQUALIFIED66Anna Fali
1043Sinclair A CaudyIndia2024-06-06King, Christopher A Esq UNQUALIFIED89Amy Elsner
1044Deepesh R InouyeUnited Kingdom2024-05-21Commercial Press RENEWAL66Bernardo Dominic
1045Ivar O ShinkoArgentina2024-06-14Commercial Press NEGOTIATION79Bernardo Dominic
1046Juan J WieserArgentina2024-06-01Chanay, Jeffrey A Esq UNQUALIFIED63Xuxue Feng
1047Deepesh R FollerUnited Kingdom2024-06-12Rangoni Of Florence RENEWAL39Ivan Magalhaes
1048Ashley A PaprockiAustralia2024-05-26Feltz Printing Service PROPOSAL12Anna Fali
1049Jennifer E MorascaCanada2024-06-04Benton, John B Jr QUALIFIED28Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Morrow R GauchoJapanAmy Elsner RENEWAL
David Q TollnerBrazilElwin Sharvill QUALIFIED
Wickens C PerinArgentinaBernardo Dominic NEW
Aruna G FigeroaSpainElwin Sharvill NEW
Aika F OstroskyFranceBernardo Dominic UNQUALIFIED
Rodrigues K DoeBrazilAmy Elsner NEW
Isabel F CampainBrazilElwin Sharvill QUALIFIED
Mayumi G GarufiBrazilBernardo Dominic RENEWAL
Arvin T GauchoGermanyIvan Magalhaes RENEWAL
Alejandro O SlusarskiIndiaStephen Shaw UNQUALIFIED
Izzy Z RulapaughBrazilAsiya Javayant QUALIFIED
Octavia Y DoeSpainXuxue Feng NEW
Jefferson D PaprockiAustraliaOnyama Limba NEGOTIATION
Ricardo Q WaycottJapanStephen Shaw RENEWAL
Jennifer C MarrierGermanyElwin Sharvill NEGOTIATION
Kaitlin K DoeRussiaXuxue Feng UNQUALIFIED
Aditya A MorascaItalyAsiya Javayant NEW
Costa E InouyeJapanAnna Fali QUALIFIED
Antonio F CaldareraRussiaXuxue Feng PROPOSAL
Octavia J WhobreySpainOnyama Limba QUALIFIED
David Q AmigonUnited KingdomAsiya Javayant UNQUALIFIED
Jefferson L SlusarskiJapanAnna Fali UNQUALIFIED
Ricardo E MarrierRussiaStephen Shaw PROPOSAL
Alejandro P RutaItalyXuxue Feng QUALIFIED
Mujtaba Q CaudyJapanIoni Bowcher RENEWAL
Jones Q VenereIndiaElwin Sharvill RENEWAL
Mayumi E ChuiSpainIvan Magalhaes PROPOSAL
Maisha H OldroydItalyStephen Shaw UNQUALIFIED
Izzy I AmigonGermanyXuxue Feng RENEWAL
Claire S MarrierArgentinaOnyama Limba NEGOTIATION
Arvin C PerinGermanyOnyama Limba NEW
Octavia K DarakjyCanadaStephen Shaw NEGOTIATION
Francesco E GillianSpainBernardo Dominic UNQUALIFIED
Ricardo M BologniaBrazilAmy Elsner RENEWAL
Aika P StockhamGermanyOnyama Limba NEW
Murillo W GarufiArgentinaElwin Sharvill PROPOSAL
Mayumi C DoeFranceIoni Bowcher NEW
Ricardo X CampainItalyAnna Fali UNQUALIFIED
Nicolas Y GarufiUnited KingdomAmy Elsner PROPOSAL
Nicolas U TollnerBrazilOnyama Limba QUALIFIED
Misaki C DarakjyJapanXuxue Feng RENEWAL
Antonio L OstroskyIndiaAsiya Javayant UNQUALIFIED
Silvio H ChuiUnited KingdomIoni Bowcher UNQUALIFIED
Aditya O ChuiArgentinaIoni Bowcher QUALIFIED
Nicolas V IturbideRussiaElwin Sharvill PROPOSAL
Alejandro H NickaRussiaElwin Sharvill RENEWAL
Jefferson T CampainFranceAnna Fali NEW
Ricardo K FollerItalyElwin Sharvill NEGOTIATION
Jeanfrancois B FollerBrazilIvan Magalhaes PROPOSAL
Claire R RutaFranceStephen Shaw PROPOSAL
Frozen Columns
Name
Arvin X Venere
Mayumi G Stockham
Leja G Paprocki
Julie O Nestle
Misaki L Ferencz
Rodrigues V Stockham
Maria B Vocelka
Octavia T Caudy
Chavez V Figeroa
Rodrigues T Garufi
Misaki P Garufi
Ivar H Dilliard
Adams S Figeroa
Isabel G Royster
Murillo L Schemmer
Leja K Whobrey
Clifford Q Venere
Mujtaba C Vocelka
Alejandro X Foller
Kaitlin G Schemmer
David M Perin
Mayumi S Amigon
Deepesh Y Stenseth
Murillo K Malet
Izzy K Venere
Julie S Tollner
Leja R Wieser
Maria D Glick
Emily C Chui
Izzy H Ruta
Jefferson P Ferencz
Octavia V Morasca
Jones H Darakjy
Misaki L Darakjy
Isabel J Nicka
Sinclair A Iturbide
Mujtaba Y Tollner
Jeanfrancois S Poquette
Rodrigues E Ruta
Costa F Wieser
Adams K Perin
Smith J Inouye
Jefferson O Paprocki
Silvio D Malet
Wickens B Venere
Nicolas W Butt
Murillo D Chui
Arvin N Ruta
Emily J Morasca
Cody B Dilliard
IdCountryDate
1000Russia2024-06-03
1001United Kingdom2024-06-03
1002Brazil2024-05-21
1003Germany2024-06-16
1004Canada2024-06-11
1005Argentina2024-06-07
1006Australia2024-05-22
1007Spain2024-06-10
1008Germany2024-06-09
1009Argentina2024-06-13
1010France2024-05-24
1011India2024-06-03
1012Canada2024-06-16
1013India2024-06-05
1014United Kingdom2024-05-30
1015India2024-06-12
1016Canada2024-06-08
1017Canada2024-06-17
1018Russia2024-05-29
1019France2024-06-13
1020India2024-05-25
1021Canada2024-06-13
1022Russia2024-06-15
1023Canada2024-06-07
1024United Kingdom2024-06-03
1025Spain2024-05-20
1026Germany2024-06-09
1027France2024-05-28
1028Italy2024-05-31
1029Japan2024-06-11
1030Argentina2024-06-08
1031Brazil2024-05-20
1032Germany2024-06-13
1033Russia2024-06-17
1034Brazil2024-06-15
1035United Kingdom2024-06-06
1036United Kingdom2024-06-07
1037India2024-05-22
1038Italy2024-05-30
1039Canada2024-06-01
1040Italy2024-05-21
1041Brazil2024-06-16
1042Argentina2024-05-30
1043Germany2024-06-01
1044Australia2024-05-30
1045Italy2024-06-10
1046Brazil2024-06-16
1047France2024-05-22
1048Japan2024-06-12
1049Spain2024-06-05

On-Demand Data

NameIdCountryDate
Jennifer R Campain1000Spain2024-06-18
David Z Amigon1001Russia2024-06-15
Misaki F Gaucho1002Japan2024-05-21
Misaki P Rim1003Argentina2024-05-22
Jefferson X Bowley1004Japan2024-06-17
Claire L Doe1005Canada2024-05-25
Costa U Bolognia1006Germany2024-06-16
Misaki R Saylors1007Australia2024-06-17
Adams D Poquette1008India2024-06-09
Juan Z Briddick1009Australia2024-05-23
Maria I Shinko1010India2024-05-21
Izzy Y Slusarski1011Italy2024-05-20
Leon N Saylors1012Australia2024-06-07
Francesco L Bolognia1013Germany2024-06-13
Costa B Schemmer1014Argentina2024-06-03
James L Oldroyd1015France2024-06-13
Smith K Paprocki1016Brazil2024-06-17
Chavez J Garufi1017France2024-06-07
Morrow A Flosi1018India2024-06-11
Kadeem I Amigon1019Canada2024-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya H SaylorsGermanyBernardo Dominic NEGOTIATION
Ricardo J GillianItalyAnna Fali RENEWAL
Aditya S MacleadCanadaXuxue Feng QUALIFIED
Silvio C MarrierArgentinaBernardo Dominic QUALIFIED
Juan B BriddickIndiaBernardo Dominic NEGOTIATION
Costa T MorascaSpainAmy Elsner NEW
Tony L ChuiRussiaXuxue Feng RENEWAL
Murillo H DilliardFranceIoni Bowcher PROPOSAL
Aika D StockhamUnited KingdomAnna Fali NEGOTIATION
Aika C VenereUnited KingdomIoni Bowcher NEW
Antonio X CaldareraItalyXuxue Feng NEGOTIATION
Francesco Y RulapaughSpainAnna Fali NEGOTIATION
Stacey Q MarrierRussiaIvan Magalhaes PROPOSAL
Alejandro A TollnerUnited KingdomIoni Bowcher NEGOTIATION
Munro F SlusarskiRussiaOnyama Limba UNQUALIFIED
Stacey F BowleyBrazilXuxue Feng PROPOSAL
Kaitlin B KolmetzFranceAmy Elsner NEW
Leon B ShinkoIndiaBernardo Dominic RENEWAL
Deepesh X GillianJapanAnna Fali PROPOSAL
Misaki S PerinArgentinaIoni Bowcher NEW
Claire Z RoysterAustraliaIvan Magalhaes PROPOSAL
Jones Z StockhamArgentinaXuxue Feng RENEWAL
Silvio A CampainRussiaStephen Shaw NEGOTIATION
Misaki T PoquetteAustraliaAmy Elsner RENEWAL
Leja A RulapaughGermanyIvan Magalhaes UNQUALIFIED
Mayumi A MacleadUnited KingdomAnna Fali NEW
Darci Y GauchoFranceAnna Fali NEW
Darci Q WaycottGermanyAsiya Javayant UNQUALIFIED
Mayumi M AmigonFranceIoni Bowcher NEGOTIATION
Stacey Q SaylorsJapanAmy Elsner RENEWAL
Smith M GlickIndiaAsiya Javayant PROPOSAL
Murillo R MaletGermanyIoni Bowcher RENEWAL
Jones O MacleadBrazilOnyama Limba PROPOSAL
Emily L BologniaJapanOnyama Limba NEGOTIATION
Aditya U OstroskyCanadaAmy Elsner RENEWAL
Francesco O RutaArgentinaIvan Magalhaes RENEWAL
Jefferson U GauchoSpainElwin Sharvill NEGOTIATION
Juan R MaletSpainIvan Magalhaes PROPOSAL
Julie W BriddickBrazilIvan Magalhaes QUALIFIED
Chavez C ChuiItalyAmy Elsner 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>