New to Telerik UI for ASP.NET CoreStart a free 30-day trial

Formatting ProgressBar Value

Updated on Dec 10, 2025

Environment

ProductTelerik UI for ASP.NET Core ProgressBar
Progress Telerik UI for ASP.NET Core versionCreated with the 2024.2.514 version

Description

How can I format the current value of the ProgressBar that is displayed into a Grid column?

By design, the underlying value of the ProgressBar must be a number. In some cases, the value must be formatted. For example, when the number groups must be comma-separated to match the current culture.

Solution

Follow the steps below to initialize a ProgressBar into a specified Grid column and format its value based on the French (fr-FR) culture:

  1. Add the ProgressBar element through the ClientTemplate() option of the Grid's column.
Razor
  columns.Bound(p => p.Freight).ClientTemplate("<div class='progress'></div>");
  1. Handle the DataBound event of the Grid, select the div elements with class progress and initialize the ProgressBar component in each column cell.
Razor
  @(Html.Kendo().Grid<OrderViewModel>()
    .Name("grid")
    .Events(ev => ev.DataBound("onDataBound"))
    ...// Other configuration.
  )
  1. Within the DataBound event handler, select the k-progressbar elements, and access the respective ProgressBar value through the k-progressbar-status element. Use the kendo.parseFloat() and kendo.toString() methods to format the value and update it with jQuery.
JS
  <script>
    function onDataBound(e) {
      var grid = this;
      grid.tbody.find(".progress").each(function (e) {
          ... 
      });

      $.each($(".k-progressbar"), function(){
        let currentValue = $(this).find(".k-progress-status").text();
        $(this).find(".k-progress-status").text(kendo.toString(kendo.parseFloat(currentValue), 'n2', 'fr-FR'));
      });
    }
  </script>

For a runnable example based on the code above, refer to the following REPL samples:

More ASP.NET Core ProgressBar Resources

See Also