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
Greenwood W KolmetzSpainElwin Sharvill NEW
Maria Y VocelkaUnited KingdomIoni Bowcher UNQUALIFIED
Johnson H IturbideArgentinaOnyama Limba RENEWAL
Tony L ChuiArgentinaIoni Bowcher NEW
Arvin O SergiSpainStephen Shaw NEW
Arvin S RimGermanyIvan Magalhaes QUALIFIED
Mayumi X CampainBrazilIvan Magalhaes QUALIFIED
Mayumi U StockhamItalyStephen Shaw UNQUALIFIED
Mujtaba K RutaItalyOnyama Limba UNQUALIFIED
Silvio M PerinSpainAmy Elsner PROPOSAL
Aruna A CampainUnited KingdomAmy Elsner QUALIFIED
Leon F SlusarskiRussiaBernardo Dominic NEGOTIATION
Jefferson Z MarrierUnited KingdomIoni Bowcher QUALIFIED
David D RimBrazilIoni Bowcher NEGOTIATION
Jones S SaylorsCanadaStephen Shaw UNQUALIFIED
Francesco B SlusarskiJapanAmy Elsner QUALIFIED
Isabel C VocelkaRussiaAnna Fali NEGOTIATION
Adams D OstroskyArgentinaAsiya Javayant UNQUALIFIED
Nicolas M ShinkoGermanyAsiya Javayant NEW
Smith J KolmetzJapanIoni Bowcher NEGOTIATION
Alejandro B OldroydJapanBernardo Dominic UNQUALIFIED
Maria X FollerJapanXuxue Feng NEGOTIATION
Costa Z FerenczJapanIvan Magalhaes NEGOTIATION
Deepesh C RulapaughIndiaAmy Elsner NEGOTIATION
Ashley F WaycottIndiaIoni Bowcher NEGOTIATION
Clifford P AmigonSpainBernardo Dominic NEGOTIATION
Aditya Y FollerIndiaXuxue Feng NEGOTIATION
Aruna U KolmetzCanadaAmy Elsner NEW
Tony O OldroydCanadaBernardo Dominic QUALIFIED
Misaki N WaycottAustraliaBernardo Dominic PROPOSAL
David R ShinkoItalyAnna Fali RENEWAL
Aruna H OstroskyFranceIoni Bowcher NEGOTIATION
Mujtaba O WhobreyJapanXuxue Feng UNQUALIFIED
Munro N RimBrazilBernardo Dominic NEW
Mujtaba Z FigeroaIndiaIvan Magalhaes QUALIFIED
Kaitlin R DilliardFranceAsiya Javayant PROPOSAL
Maria Q ShinkoCanadaIoni Bowcher QUALIFIED
Mujtaba J SchemmerCanadaStephen Shaw NEW
Kaitlin A FerenczBrazilAsiya Javayant NEW
Juan R WieserUnited KingdomAsiya Javayant RENEWAL
Costa R KuskoItalyBernardo Dominic NEW
Maria A RulapaughBrazilElwin Sharvill NEW
Aika T RimAustraliaIoni Bowcher QUALIFIED
Maria P NestleSpainIvan Magalhaes UNQUALIFIED
Wickens H GauchoUnited KingdomElwin Sharvill NEW
Kadeem Y StensethArgentinaXuxue Feng UNQUALIFIED
Aika V VenereArgentinaIvan Magalhaes RENEWAL
Misaki P TollnerGermanyOnyama Limba NEW
Johnson B StensethCanadaAsiya Javayant UNQUALIFIED
Francesco Y GarufiGermanyElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Ricardo U FerenczSpainAnna Fali NEW
Salvatore Y SergiUnited KingdomElwin Sharvill NEW
Rodrigues E GauchoFranceStephen Shaw NEW
Chavez L WieserIndiaElwin Sharvill PROPOSAL
Alejandro W CaldareraRussiaOnyama Limba NEGOTIATION
Ashley Z KolmetzSpainAmy Elsner NEW
Octavia B GarufiSpainAsiya Javayant UNQUALIFIED
Kadeem Q MaletUnited KingdomAsiya Javayant UNQUALIFIED
Chavez M InouyeItalyIvan Magalhaes QUALIFIED
Deepesh U OldroydFranceElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas P GauchoItaly2024-06-16Printing Dimensions UNQUALIFIED69Ivan Magalhaes
1001Sinclair U FlosiJapan2024-05-28Morlong Associates UNQUALIFIED25Anna Fali
1002Arvin Y NickaSpain2024-06-10Rangoni Of Florence PROPOSAL43Amy Elsner
1003Jennifer H BologniaGermany2024-06-05Commercial Press NEW46Ivan Magalhaes
1004Cody H VocelkaAustralia2024-06-21Feiner Bros UNQUALIFIED88Asiya Javayant
1005Izzy D OstroskyRussia2024-05-31Benton, John B Jr UNQUALIFIED8Amy Elsner
1006Mayumi C GillianFrance2024-06-15Benton, John B Jr UNQUALIFIED53Anna Fali
1007Murillo T RulapaughJapan2024-05-30Chanay, Jeffrey A Esq NEW77Anna Fali
1008Claire H GlickArgentina2024-06-04Benton, John B Jr UNQUALIFIED30Onyama Limba
1009Salvatore H TollnerSpain2024-06-02Benton, John B Jr PROPOSAL26Asiya Javayant
1010Deepesh V PoquetteAustralia2024-06-02Chanay, Jeffrey A Esq QUALIFIED2Bernardo Dominic
1011Greenwood T ShinkoItaly2024-05-28King, Christopher A Esq QUALIFIED26Elwin Sharvill
1012Jones Z RimBrazil2024-06-04King, Christopher A Esq PROPOSAL33Bernardo Dominic
1013Aika R GauchoItaly2024-05-23Benton, John B Jr PROPOSAL48Anna Fali
1014Tony R VocelkaJapan2024-06-11Buckley Miller Wright NEW20Amy Elsner
1015Julie N MaletIndia2024-06-02King, Christopher A Esq UNQUALIFIED99Bernardo Dominic
1016Izzy E GauchoBrazil2024-06-21Feltz Printing Service QUALIFIED71Onyama Limba
1017Maisha R VocelkaBrazil2024-06-10Feiner Bros PROPOSAL54Bernardo Dominic
1018Maria L WaycottRussia2024-05-24Morlong Associates UNQUALIFIED54Elwin Sharvill
1019Darci V CaudyRussia2024-05-31Chanay, Jeffrey A Esq PROPOSAL32Bernardo Dominic
1020Rodrigues J FigeroaFrance2024-06-16Chanay, Jeffrey A Esq NEW6Xuxue Feng
1021Claire Z DilliardIndia2024-06-16Feltz Printing Service QUALIFIED24Elwin Sharvill
1022Smith U KuskoBrazil2024-06-05Buckley Miller Wright PROPOSAL80Stephen Shaw
1023Claire L FigeroaJapan2024-06-08Buckley Miller Wright QUALIFIED32Ioni Bowcher
1024David Y TollnerCanada2024-06-12Rousseaux, Michael Esq UNQUALIFIED28Amy Elsner
1025Jeanfrancois H MaletItaly2024-05-29Printing Dimensions RENEWAL50Anna Fali
1026Arvin F MorascaCanada2024-06-09Buckley Miller Wright NEW70Bernardo Dominic
1027Aika S WaycottArgentina2024-05-29Feltz Printing Service PROPOSAL5Xuxue Feng
1028Jefferson J AlbaresSpain2024-05-31Chemel, James L Cpa NEGOTIATION15Ivan Magalhaes
1029Darci Z CaldareraAustralia2024-06-01Rangoni Of Florence PROPOSAL70Ioni Bowcher
1030Faith V VocelkaSpain2024-06-09Rousseaux, Michael Esq NEGOTIATION32Anna Fali
1031Leon C KuskoFrance2024-05-28Chanay, Jeffrey A Esq UNQUALIFIED60Ivan Magalhaes
1032Aika D DilliardSpain2024-06-21Feiner Bros NEW37Onyama Limba
1033Emily Z GarufiArgentina2024-06-19Benton, John B Jr NEGOTIATION80Bernardo Dominic
1034Alejandro L FigeroaSpain2024-06-16Chemel, James L Cpa NEGOTIATION32Bernardo Dominic
1035Julie S NestleFrance2024-06-03Chanay, Jeffrey A Esq NEGOTIATION24Amy Elsner
1036Octavia T IturbideItaly2024-05-26Benton, John B Jr NEGOTIATION26Asiya Javayant
1037Stacey J DarakjyAustralia2024-05-24Dorl, James J Esq RENEWAL80Stephen Shaw
1038Greenwood O TollnerCanada2024-05-28Dorl, James J Esq QUALIFIED27Asiya Javayant
1039Jones S StensethAustralia2024-05-24Dorl, James J Esq NEW9Asiya Javayant
1040Alejandro P StensethArgentina2024-06-13King, Christopher A Esq UNQUALIFIED70Anna Fali
1041Smith N SchemmerIndia2024-05-23Feiner Bros RENEWAL53Stephen Shaw
1042Jeanfrancois G BologniaJapan2024-06-05Morlong Associates PROPOSAL75Ivan Magalhaes
1043Mayumi A MarrierIndia2024-06-16Morlong Associates RENEWAL38Bernardo Dominic
1044Nicolas C WaycottArgentina2024-06-11Chanay, Jeffrey A Esq NEGOTIATION46Elwin Sharvill
1045Rodrigues S AmigonArgentina2024-05-25Feltz Printing Service NEGOTIATION41Elwin Sharvill
1046Morrow N StensethFrance2024-06-01Feiner Bros PROPOSAL73Stephen Shaw
1047Clifford E WaycottJapan2024-05-29King, Christopher A Esq NEW42Asiya Javayant
1048Tony Z DilliardUnited Kingdom2024-06-07Dorl, James J Esq UNQUALIFIED55Anna Fali
1049Misaki C SlusarskiFrance2024-05-23King, Christopher A Esq QUALIFIED67Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Jennifer O StensethArgentinaAsiya Javayant NEW
Jeanfrancois T ButtRussiaOnyama Limba RENEWAL
Jones I BriddickRussiaBernardo Dominic NEW
Jennifer O IturbideJapanBernardo Dominic NEGOTIATION
Munro G BriddickArgentinaElwin Sharvill NEGOTIATION
Maisha B NickaSpainStephen Shaw NEGOTIATION
Costa E SaylorsArgentinaStephen Shaw RENEWAL
Ricardo S MaletGermanyStephen Shaw QUALIFIED
Arvin L PaprockiItalyXuxue Feng RENEWAL
Smith Z BriddickGermanyBernardo Dominic QUALIFIED
Misaki N GarufiGermanyBernardo Dominic NEW
Stacey S TollnerRussiaIvan Magalhaes PROPOSAL
Maria M FigeroaSpainBernardo Dominic RENEWAL
Smith Q CaldareraJapanStephen Shaw RENEWAL
Juan M VocelkaRussiaOnyama Limba QUALIFIED
Munro E RimUnited KingdomAnna Fali PROPOSAL
Smith B InouyeArgentinaIoni Bowcher UNQUALIFIED
Murillo J GlickArgentinaElwin Sharvill UNQUALIFIED
Jennifer W GauchoItalyIvan Magalhaes QUALIFIED
Alejandro O TollnerBrazilAnna Fali NEGOTIATION
Jennifer Z AmigonCanadaXuxue Feng PROPOSAL
Ricardo C DarakjyFranceIvan Magalhaes PROPOSAL
Faith L PaprockiFranceElwin Sharvill RENEWAL
Kadeem Q AlbaresFranceAnna Fali RENEWAL
Mayumi K BowleyUnited KingdomAnna Fali RENEWAL
Clifford Z CampainRussiaOnyama Limba UNQUALIFIED
Octavia O PoquetteCanadaBernardo Dominic UNQUALIFIED
Isabel Y CaldareraArgentinaStephen Shaw NEGOTIATION
Maria E KuskoCanadaOnyama Limba UNQUALIFIED
Jones N MarrierItalyBernardo Dominic UNQUALIFIED
Maria K FerenczIndiaIoni Bowcher UNQUALIFIED
Chavez O ButtItalyOnyama Limba PROPOSAL
Julie A CampainItalyElwin Sharvill UNQUALIFIED
Johnson U VenereCanadaStephen Shaw RENEWAL
Arvin X ButtIndiaBernardo Dominic NEGOTIATION
Julie T FerenczSpainBernardo Dominic UNQUALIFIED
Nicolas T BriddickCanadaBernardo Dominic PROPOSAL
Jones D IturbideBrazilIoni Bowcher NEGOTIATION
Darci D SchemmerIndiaBernardo Dominic QUALIFIED
Izzy F VocelkaAustraliaXuxue Feng QUALIFIED
Jefferson R ButtAustraliaAmy Elsner RENEWAL
Jefferson B IturbideItalyIoni Bowcher QUALIFIED
Costa J StensethItalyIvan Magalhaes RENEWAL
Misaki Q BowleyArgentinaIvan Magalhaes NEW
Smith F BowleyBrazilElwin Sharvill UNQUALIFIED
Juan N StensethCanadaAsiya Javayant RENEWAL
Sinclair X DarakjyItalyIoni Bowcher QUALIFIED
Julie W RutaJapanXuxue Feng NEGOTIATION
Darci H RulapaughCanadaAsiya Javayant UNQUALIFIED
Morrow D GlickCanadaAnna Fali RENEWAL
Frozen Columns
Name
Juan S Campain
Sinclair E Kusko
Murillo S Inouye
Julie P Poquette
Kadeem Z Briddick
Tony Y Malet
Aditya X Marrier
Ricardo L Butt
Emily A Amigon
Johnson A Gillian
Leja G Gillian
Sinclair N Figeroa
Ricardo Q Paprocki
Jennifer F Briddick
Adams A Iturbide
Jennifer B Figeroa
Maria H Tollner
Costa G Gaucho
Aruna H Saylors
Wickens G Maclead
Maria N Schemmer
Johnson P Sergi
Jennifer G Garufi
Isabel V Marrier
Murillo S Doe
Johnson A Butt
Wickens K Dilliard
Chavez S Wieser
Alejandro M Saylors
Aruna S Paprocki
Aruna N Perin
Chavez W Ferencz
Ashley X Waycott
Aruna R Briddick
Maisha Y Perin
Maria S Maclead
Mujtaba X Wieser
Ashley I Briddick
James W Maclead
Jefferson Z Nestle
Aditya Y Darakjy
Julie R Kolmetz
Maisha Q Schemmer
Johnson J Schemmer
Murillo Z Briddick
Julie G Shinko
Tony Q Butt
Jefferson W Figeroa
Greenwood C Briddick
Darci G Wieser
IdCountryDate
1000Italy2024-06-19
1001Argentina2024-05-27
1002Italy2024-05-26
1003Italy2024-06-19
1004Argentina2024-06-13
1005France2024-06-04
1006Russia2024-06-03
1007Spain2024-06-03
1008United Kingdom2024-06-14
1009Germany2024-06-10
1010India2024-06-04
1011Canada2024-06-20
1012Russia2024-06-12
1013Spain2024-06-07
1014Canada2024-05-25
1015Brazil2024-06-03
1016Spain2024-06-08
1017Argentina2024-06-17
1018India2024-06-14
1019Russia2024-06-10
1020Germany2024-06-20
1021Italy2024-06-02
1022Canada2024-06-17
1023Italy2024-06-07
1024France2024-05-24
1025Argentina2024-06-19
1026Russia2024-06-21
1027Brazil2024-06-15
1028United Kingdom2024-05-31
1029Australia2024-06-21
1030India2024-06-16
1031Brazil2024-06-14
1032Germany2024-05-31
1033Russia2024-06-16
1034Japan2024-05-23
1035Germany2024-05-29
1036Japan2024-06-06
1037Italy2024-06-10
1038Japan2024-06-19
1039Spain2024-06-18
1040France2024-06-21
1041Australia2024-06-09
1042India2024-06-06
1043Russia2024-06-02
1044India2024-05-30
1045India2024-05-23
1046Spain2024-06-05
1047Brazil2024-06-07
1048France2024-06-07
1049Australia2024-06-12

On-Demand Data

NameIdCountryDate
Costa K Bowley1000Australia2024-06-05
Costa Y Whobrey1001Australia2024-05-23
Smith V Royster1002Italy2024-06-07
Izzy X Rulapaugh1003India2024-05-23
Maria M Malet1004Spain2024-06-07
Murillo C Rim1005Russia2024-06-13
Faith D Perin1006France2024-06-05
Octavia O Chui1007France2024-06-17
Greenwood H Garufi1008Italy2024-06-05
Murillo A Caudy1009Spain2024-06-11
Kadeem A Briddick1010Canada2024-05-30
Tony O Poquette1011Canada2024-05-26
Aika B Venere1012Italy2024-06-08
Kadeem U Albares1013Argentina2024-05-28
Mujtaba Z Oldroyd1014Russia2024-06-18
Murillo V Iturbide1015France2024-06-20
Emily J Chui1016Italy2024-05-27
Adams J Whobrey1017Brazil2024-06-03
Morrow B Caldarera1018France2024-06-01
Greenwood P Maclead1019Italy2024-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy C MarrierGermanyAsiya Javayant QUALIFIED
David O GarufiSpainOnyama Limba NEGOTIATION
Octavia S RulapaughUnited KingdomOnyama Limba UNQUALIFIED
Leja L SchemmerJapanOnyama Limba UNQUALIFIED
Ricardo A ChuiAustraliaIoni Bowcher QUALIFIED
Jeanfrancois U WieserFranceIoni Bowcher QUALIFIED
Izzy A CaudyGermanyAnna Fali RENEWAL
Johnson I StockhamArgentinaAnna Fali QUALIFIED
Kadeem O MaletArgentinaBernardo Dominic NEW
Kadeem S GillianUnited KingdomStephen Shaw UNQUALIFIED
Silvio A RutaAustraliaXuxue Feng RENEWAL
Chavez N MorascaFranceBernardo Dominic NEW
Adams R BriddickItalyIoni Bowcher QUALIFIED
Stacey E CaudyArgentinaAmy Elsner UNQUALIFIED
Nicolas F WaycottAustraliaXuxue Feng UNQUALIFIED
Ricardo D PerinCanadaXuxue Feng QUALIFIED
Izzy C MarrierCanadaIoni Bowcher NEW
Maria S RulapaughCanadaAnna Fali NEGOTIATION
Stacey I BowleyFranceXuxue Feng QUALIFIED
Emily X DoeCanadaBernardo Dominic PROPOSAL
Jones E NestleItalyBernardo Dominic RENEWAL
Chavez L OstroskySpainXuxue Feng QUALIFIED
Clifford P FigeroaRussiaAnna Fali NEW
Sinclair Q MaletUnited KingdomXuxue Feng RENEWAL
Salvatore B VenereGermanyAnna Fali RENEWAL
Faith A DilliardIndiaAsiya Javayant UNQUALIFIED
Silvio Y MarrierGermanyXuxue Feng UNQUALIFIED
Clifford B MaletRussiaAsiya Javayant RENEWAL
Leon L TollnerAustraliaXuxue Feng UNQUALIFIED
Octavia Y PaprockiSpainXuxue Feng QUALIFIED
Alejandro X MaletAustraliaXuxue Feng NEW
Wickens V ChuiUnited KingdomAmy Elsner RENEWAL
Costa C KuskoItalyAsiya Javayant RENEWAL
Aruna C ChuiBrazilBernardo Dominic QUALIFIED
Costa R OstroskyRussiaAsiya Javayant PROPOSAL
Jeanfrancois C RoysterItalyIvan Magalhaes QUALIFIED
Clifford E SergiUnited KingdomIvan Magalhaes UNQUALIFIED
Leon Y StensethFranceStephen Shaw NEW
Jefferson S InouyeItalyBernardo Dominic RENEWAL
Wickens H MorascaFranceXuxue Feng RENEWAL

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