diff --git a/blazor/datagrid/caption-template.md b/blazor/datagrid/caption-template.md
index 3eace8c5cd..e3966fe1bd 100644
--- a/blazor/datagrid/caption-template.md
+++ b/blazor/datagrid/caption-template.md
@@ -180,6 +180,177 @@ The following example demonstrates how to add a custom text to the group caption
{% previewsample "https://blazorplayground.syncfusion.com/embed/hXVzjiXvgoxRzKIb?appbar=false&editor=false&result=true&errorlist=false&theme=bootstrap5" %}
+## Customize group caption text using locale
+
+The Syncfusion Blazor DataGrid allows you to customize the group caption text based on the locale. This feature enables you to display localized text or translated content in the group captions according to different language or region settings.
+
+The following example demonstrates, how to customize group caption text based on **ar** locale:
+
+{% tabs %}
+{% highlight razor tabtitle="Index.razor" %}
+@using Syncfusion.Blazor.Grids
+
+
+
+
+
+
+
+
+
+@code {
+ public List Orders { get; set; }
+ protected override void OnInitialized()
+ {
+ var countries = new[] { "USA", "UK", "Germany", "Canada", "France" };
+ var cities = new[] { "New York", "London", "Berlin", "Toronto", "Paris" };
+ var random = new Random();
+ Orders = Enumerable.Range(1, 75).Select(x => new Order()
+ {
+ OrderID = 1000 + x,
+ CustomerID = (new string[] { "ALFKI", "ANANTR", "ANTON", "BLONP", "BOLID" })[random.Next(5)],
+ Country = countries[random.Next(countries.Length)],
+ City = cities[random.Next(cities.Length)]
+ }).ToList();
+ }
+ public class Order
+ {
+ public int? OrderID { get; set; }
+ public string CustomerID { get; set; }
+ public string Country { get; set; }
+ public string City { get; set; }
+ }
+}
+{% endhighlight %}
+{% highlight c# tabtitle="SyncfusionLocalizer.cs" %}
+
+using Syncfusion.Blazor;
+namespace LocalizationSample.Client
+{
+ public class SyncfusionLocalizer : ISyncfusionStringLocalizer
+ {
+ public string GetText ( string key )
+ {
+ return this.ResourceManager.GetString(key);
+ }
+ public System.Resources.ResourceManager ResourceManager
+ {
+ get
+ {
+ // Replace the ApplicationNamespace with your application name.
+ return LocalizationSample.Client.Resources.SfResources.ResourceManager;
+ }
+ }
+ }
+}
+
+{% endhighlight %}
+{% highlight c# tabtitle="SfResources.ar.resx" %}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ اسحب رأس العمود هنا لتجميع العمود
+
+
+ انقر هنا لإلغاء التجميع
+
+
+ تم تعطيل التجميع لهذا العمود
+
+
+ بند
+
+
+ العناصر
+
+
+ تجميع حسب هذا العمود
+
+
+ فك تجميع بواسطة هذا العمود
+
+
+
+{% endhighlight %}
+{% highlight razor tabtitle="App.razor" %}
+
+
+ ...
+
+
+ ...
+
+
+{% endhighlight %}
+{% endtabs %}
+
+
+
## Render custom component in group caption
The Syncfusion® Blazor DataGrid offers the flexibility to render a custom component in the group caption, providing advanced or interactive functionality within the group caption row. This feature allows you to display custom UI elements, like buttons, icons, or dropdowns, and handle user interactions directly within the group caption.
diff --git a/blazor/datagrid/grouping.md b/blazor/datagrid/grouping.md
index 8e22c80836..aca47201a6 100644
--- a/blazor/datagrid/grouping.md
+++ b/blazor/datagrid/grouping.md
@@ -1149,8 +1149,7 @@ The following example demonstrates how the `Grouping` and `Grouped` events work
{% endtabs %}
{% previewsample "https://blazorplayground.syncfusion.com/embed/VDLpNCtffrjjtSYQ?appbar=false&editor=false&result=true&errorlist=false&theme=bootstrap5" %}
-
-
+
## See Also
* [Exporting grouped records](https://blazor.syncfusion.com/documentation/datagrid/excel-exporting#exporting-grouped-records)
diff --git a/blazor/datagrid/images/blazor-datagrid-customize-group-caption-text-locale.PNG b/blazor/datagrid/images/blazor-datagrid-customize-group-caption-text-locale.PNG
new file mode 100644
index 0000000000..95886bf5a9
Binary files /dev/null and b/blazor/datagrid/images/blazor-datagrid-customize-group-caption-text-locale.PNG differ
diff --git a/blazor/datagrid/row-template.md b/blazor/datagrid/row-template.md
index e5370579b8..8f956c082c 100644
--- a/blazor/datagrid/row-template.md
+++ b/blazor/datagrid/row-template.md
@@ -523,6 +523,124 @@ public static List Orders = new List();
{% previewsample "https://blazorplayground.syncfusion.com/embed/rjhTMsZwzXeNByOG?appbar=false&editor=false&result=true&errorlist=false&theme=bootstrap5" %}
+## Render Syncfusion Chart in row template
+
+The Syncfusion Blazor DataGrid provides the flexibility to include custom controls, such as a Chart, within the rows of the Grid. This feature enhances Grid interactivity by allowing graphical representations of data instead of plain text.
+
+To render a Syncfusion Blazor Chart within a row template of the Grid, use the [RowTemplate](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Grids.GridTemplates.html#Syncfusion_Blazor_Grids_GridTemplates_RowTemplate) property. This property accepts a HTML template that defines the layout for each row, enabling rich data visualization directly inside the Grid.
+
+Here is an example that demonstrates rendering Syncfusion Chart within a row template:
+
+{% tabs %}
+{% highlight razor tabtitle="Index.razor" %}
+@page "/"
+@using Syncfusion.Blazor.Grids
+@using Syncfusion.Blazor.Charts
+
+
+
+ @{
+ var order = emp as Order;
+ }
+
+
+
+
+
Customer ID
+
@order.CustomerID
+
+
+
Freight
+
@order.Freight
+
+
+
Order Date
+
@order.OrderDate?.ToShortDateString()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@code {
+ public List Orders { get; set; }
+ SfGrid Grid;
+
+ protected override void OnInitialized()
+ {
+ Orders = Enumerable.Range(1, 5).Select(x => new Order()
+ {
+ OrderID = 1000 + x,
+ CustomerID = (new string[] { "ALFKI", "ANANTR", "ANTON", "BLONP", "BOLID" })[new Random().Next(5)],
+ Freight = 2.1 * x,
+ OrderDate = DateTime.Now.AddDays(-x),
+ }).ToList();
+ }
+ public class Order
+ {
+ public int OrderID { get; set; }
+ public string CustomerID { get; set; }
+ public DateTime? OrderDate { get; set; }
+ public double? Freight { get; set; }
+ }
+ public class ChartData
+ {
+ public string Category { get; set; }
+ public double Value { get; set; }
+ }
+
+ private List GetChartData(int orderId)
+ {
+ // Simulated data per row (can vary by orderId if needed).
+ return new List
+ {
+ new ChartData { Category = "Q1", Value = orderId % 10 + 10 },
+ new ChartData { Category = "Q2", Value = orderId % 5 + 15 },
+ new ChartData { Category = "Q3", Value = orderId % 7 + 5 },
+ new ChartData { Category = "Q4", Value = orderId % 9 + 20 },
+ };
+ }
+}
+
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "https://blazorplayground.syncfusion.com/embed/rtVINfWegMFKNCdv?appbar=false&editor=false&result=true&errorlist=false&theme=bootstrap5" %}
+
## Limitations
Row template feature is not compatible with all the features which are available in the grid, and it has limited features support. The features that are incompatible with the row template feature are listed below.
diff --git a/blazor/datagrid/sorting.md b/blazor/datagrid/sorting.md
index 9bf675ef36..c639956be4 100644
--- a/blazor/datagrid/sorting.md
+++ b/blazor/datagrid/sorting.md
@@ -533,6 +533,132 @@ The following example demonstrates how to define custom sort comparer function f
> * The SortComparer property will work only for local data.
> * When using the column template to display data in a column, you will need to use the [Field](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Grids.GridColumn.html#Syncfusion_Blazor_Grids_GridColumn_Field) property of [GridColumn](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Grids.GridColumn.html) to work with the [SortComparer](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Grids.GridColumn.html#Syncfusion_Blazor_Grids_GridColumn_SortComparer) property.
+### Display null values always at bottom
+
+By default, null values in the Syncfusion Blazor DataGrid are displayed at the top when sorting in descending order and at the bottom when sorting in ascending order. However, there may be scenarios where null values need to be consistently shown at the bottom of the Grid, regardless of the sort direction. This can be achieved by using the [SortComparer](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Grids.GridColumn.html#Syncfusion_Blazor_Grids_GridColumn_SortComparer) property of the column. This feature is particularly useful when working with data sets where null values might need to be clearly separated from actual data entries.
+
+The `SortComparer` allows custom comparison logic for sorting. By implementing a custom comparer, null values can be handled separately and positioned at the end of the sorted list in both ascending and descending orders. You can use the [Sorting](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Grids.GridEvents-1.html#Syncfusion_Blazor_Grids_GridEvents_1_Sorting) event to detect the sort direction and apply the appropriate logic in the custom comparer.
+
+The example below demonstrates how to display null values at the bottom of the Grid while sorting the **CustomerID** column in both ascending and descending order:
+
+{% tabs %}
+{% highlight razor tabtitle="Index.razor" %}
+@using Syncfusion.Blazor.Grids
+
+
+
+
+
+
+
+
+
+
+@code {
+ public SfGrid Grid { get; set; }
+ public List OrderData { get; set; }
+ protected override void OnInitialized()
+ {
+ OrderData = OrderDetails.GetAllRecords();
+ }
+ static bool flag = true;
+ public void SortingHandler(SortingEventArgs args)
+ {
+ if (args.Direction == Syncfusion.Blazor.Grids.SortDirection.Ascending)
+ {
+ flag = true;
+
+ }
+ else if (args.Direction == Syncfusion.Blazor.Grids.SortDirection.Descending)
+ {
+ flag = false;
+ }
+ }
+
+ public class CustomComparer : IComparer